intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning
@ 2023-03-21 22:05 Lucas De Marchi
  2023-03-21 22:05 ` [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp Lucas De Marchi
                   ` (10 more replies)
  0 siblings, 11 replies; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-21 22:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, maarten.lankhorst

Add tests for the RTP infra and for the GT workaround/tuning
programming, while building the unit test infra to be able to test with
fake devices. This supersedes previous patch with only the rtp
tests (https://lore.kernel.org/intel-xe/20230316210341.3547058-1-lucas.demarchi@intel.com/T/#m1fd17b976409805f74aaeb565a441d7d63e0553d)

Notes:

- I debated a little bit whether we should use "mock" or "fake" to name
  these helpers for running without real hardware.  Here it's using
  "fake" since it's not a proper mock framework, and it seems to be what
  kunit itself uses in the documentation and examples.
- The tests themselves are "unit tests", for the
  software part, testing the implementation for the rtp,
  reg-save-restore and WA infrastructure.
- Last patch is the big improvement functonality-wise, which will help
  us detect wrong updates in the workaround tables, without running in
  real hardware.  That patches should be followed up with similar ones
  for the other WAs: engine and LRC.

Lucas De Marchi (7):
  drm/xe: Add basic unit tests for rtp
  drm/xe: Extract function to initialize xe->info
  drm/xe: Move test infra out of xe_pci.[ch]
  drm/xe: Use XE_KUNIT for symbol namespace
  drm/xe: Generalize fake device creation
  drm/xe/reg_sr: Save errors for kunit integration
  drm/xe: Add test for GT workarounds and tunings

 drivers/gpu/drm/xe/Kconfig.debug           |   1 +
 drivers/gpu/drm/xe/tests/Makefile          |   8 +-
 drivers/gpu/drm/xe/tests/xe_bo.c           |   6 +-
 drivers/gpu/drm/xe/tests/xe_bo_test.c      |   1 +
 drivers/gpu/drm/xe/tests/xe_dma_buf.c      |   3 +-
 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c |   1 +
 drivers/gpu/drm/xe/tests/xe_migrate.c      |   3 +-
 drivers/gpu/drm/xe/tests/xe_migrate_test.c |   1 +
 drivers/gpu/drm/xe/tests/xe_pci.c          | 108 +++++++++++
 drivers/gpu/drm/xe/tests/xe_pci_test.h     |  31 ++++
 drivers/gpu/drm/xe/tests/xe_rtp.c          | 201 +++++++++++++++++++++
 drivers/gpu/drm/xe/tests/xe_rtp_test.c     |  64 +++++++
 drivers/gpu/drm/xe/tests/xe_rtp_test.h     |  15 ++
 drivers/gpu/drm/xe/tests/xe_wa_test.c      | 136 ++++++++++++++
 drivers/gpu/drm/xe/xe_pci.c                | 150 ++++++---------
 drivers/gpu/drm/xe/xe_pci.h                |   9 -
 drivers/gpu/drm/xe/xe_reg_sr.c             |   9 +
 drivers/gpu/drm/xe/xe_reg_sr_types.h       |   4 +
 drivers/gpu/drm/xe/xe_rtp.c                |   4 +
 drivers/gpu/drm/xe/xe_tuning.c             |   1 +
 drivers/gpu/drm/xe/xe_wa.c                 |   1 +
 21 files changed, 647 insertions(+), 110 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_wa_test.c

-- 
2.39.0


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

* [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
@ 2023-03-21 22:05 ` Lucas De Marchi
  2023-03-27 17:56   ` Michał Winiarski
  2023-03-21 22:05 ` [Intel-xe] [PATCH 2/7] drm/xe: Extract function to initialize xe->info Lucas De Marchi
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-21 22:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, maarten.lankhorst

Add some basic unit tests for rtp. This is intended to prove the
functionality of the rtp itself, like coalescing entries, rejecting
non-disjoint values, etc.

Contrary to the other tests in xe, this is a unit test to test the
sw-side only, so it can be executed on any machine - it doesn't interact
with the real hardware. For that a mock was provided with the minimum
initialization needed. Running it produces the following output:

	$ ./tools/testing/kunit/kunit.py run --raw_output  \
		--kunitconfig drivers/gpu/drm/xe/.kunitconfig xe_rtp
	...
	[13:46:14] Starting KUnit Kernel (1/1)...
	KTAP version 1
	1..1
	    KTAP version 1
	    # Subtest: xe_rtp
	    1..3
	    ok 1 xe_rtp_process_basic
	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
	    ok 2 xe_rtp_process_dup
	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
	    ok 3 xe_rtp_process_incompat_types
	# xe_rtp: pass:3 fail:0 skip:0 total:3
	# Totals: pass:3 fail:0 skip:0 total:3
	ok 1 xe_rtp
	[13:46:14] Elapsed time: 6.800s total, 0.002s configuring, 6.682s building, 0.073s running

Note that the ERRORs in the kernel log are expected since it's testing
non-disjoint or incompatible entries.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Maarten Lankhorst<maarten.lankhorst@linux.intel.com>
---
 drivers/gpu/drm/xe/Kconfig.debug       |   1 +
 drivers/gpu/drm/xe/tests/Makefile      |   7 +-
 drivers/gpu/drm/xe/tests/xe_rtp.c      | 201 +++++++++++++++++++++++++
 drivers/gpu/drm/xe/tests/xe_rtp_test.c |  64 ++++++++
 drivers/gpu/drm/xe/tests/xe_rtp_test.h |  15 ++
 drivers/gpu/drm/xe/xe_rtp.c            |   4 +
 6 files changed, 290 insertions(+), 2 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.h

diff --git a/drivers/gpu/drm/xe/Kconfig.debug b/drivers/gpu/drm/xe/Kconfig.debug
index 93b284cdd0a2..11bb13c73e7b 100644
--- a/drivers/gpu/drm/xe/Kconfig.debug
+++ b/drivers/gpu/drm/xe/Kconfig.debug
@@ -66,6 +66,7 @@ config DRM_XE_KUNIT_TEST
 	depends on DRM_XE && KUNIT && DEBUG_FS
 	default KUNIT_ALL_TESTS
 	select DRM_EXPORT_FOR_TESTS if m
+	select DRM_KUNIT_TEST_HELPERS
 	help
 	  Choose this option to allow the driver to perform selftests under
 	  the kunit framework
diff --git a/drivers/gpu/drm/xe/tests/Makefile b/drivers/gpu/drm/xe/tests/Makefile
index 47056b6459e3..c5c2f108d017 100644
--- a/drivers/gpu/drm/xe/tests/Makefile
+++ b/drivers/gpu/drm/xe/tests/Makefile
@@ -1,4 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 
-obj-$(CONFIG_DRM_XE_KUNIT_TEST) += xe_bo_test.o xe_dma_buf_test.o \
-	xe_migrate_test.o
+obj-$(CONFIG_DRM_XE_KUNIT_TEST) += \
+	xe_bo_test.o \
+	xe_dma_buf_test.o \
+	xe_migrate_test.o \
+	xe_rtp_test.o
diff --git a/drivers/gpu/drm/xe/tests/xe_rtp.c b/drivers/gpu/drm/xe/tests/xe_rtp.c
new file mode 100644
index 000000000000..92e2c2b8b44d
--- /dev/null
+++ b/drivers/gpu/drm/xe/tests/xe_rtp.c
@@ -0,0 +1,201 @@
+// SPDX-License-Identifier: GPL-2.0 AND MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include "tests/xe_rtp_test.h"
+
+#include <linux/string.h>
+#include <linux/xarray.h>
+
+#include <kunit/test.h>
+
+#include "regs/xe_gt_regs.h"
+#include "regs/xe_reg_defs.h"
+#include "xe_rtp.h"
+
+#undef _MMIO
+#undef MCR_REG
+#define _MMIO(x)	_XE_RTP_REG(x)
+#define MCR_REG(x)	_XE_RTP_MCR_REG(x)
+
+#define REGULAR_REG1	_MMIO(1)
+#define REGULAR_REG2	_MMIO(2)
+#define REGULAR_REG3	_MMIO(3)
+#define MCR_REG1	MCR_REG(1)
+#define MCR_REG2	MCR_REG(2)
+#define MCR_REG3	MCR_REG(3)
+
+static bool match_yes(const struct xe_gt *gt, const struct xe_hw_engine *hwe)
+{
+	return true;
+}
+
+static bool match_no(const struct xe_gt *gt, const struct xe_hw_engine *hwe)
+{
+	return false;
+}
+
+/* Basic entries: same register, only one action, disjoint values */
+static const struct xe_rtp_entry basic_entries[] = {
+	{ XE_RTP_NAME("basic-yes-1"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
+	},
+	{ XE_RTP_NAME("basic-yes-2"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(1)))
+	},
+	{ XE_RTP_NAME("basic-no-3"),
+	  XE_RTP_RULES(FUNC(match_no)),
+	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(2)))
+	},
+	{ XE_RTP_NAME("basic-no-4"),
+	  XE_RTP_RULES(FUNC(match_yes), FUNC(match_no)),
+	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(3)))
+	},
+	{ XE_RTP_NAME("basic-yes-clr-1"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  XE_RTP_ACTIONS(CLR(REGULAR_REG1, REG_BIT(4)))
+	},
+	{ XE_RTP_NAME("basic-yes-clr-2"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  XE_RTP_ACTIONS(CLR(REGULAR_REG1, REG_BIT(5)))
+	},
+	{}
+};
+
+void xe_rtp_process_basic(struct kunit *test)
+{
+	struct xe_device *xe = test->priv;
+	struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
+	const struct xe_rtp_entry *rtp_entry;
+	const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
+	unsigned long idx, count = 0, set_bits = 0, clr_bits = 0;
+
+	xe_reg_sr_init(reg_sr, "basic", xe);
+	xe_rtp_process(basic_entries, reg_sr, &xe->gt[0], NULL);
+
+	xa_for_each(&reg_sr->xa, idx, sre) {
+		count++;
+		sr_entry = sre;
+	}
+
+	/*
+	 * Same REGULAR_REG1 register being used: all the entries should
+	 * coalesce into a single entry
+	 */
+	KUNIT_ASSERT_EQ(test, count, 1);
+
+	/* Only bits in the entries named *-yes* are set */
+	for (rtp_entry = basic_entries; rtp_entry && rtp_entry->name; rtp_entry++) {
+		if (!strstr(rtp_entry->name, "-yes"))
+			continue;
+
+		clr_bits |= rtp_entry->actions[0].clr_bits;
+		set_bits |= rtp_entry->actions[0].set_bits;
+	}
+
+	/* implementation detail of RTP - SET() also clears */
+	clr_bits |= set_bits;
+
+	KUNIT_EXPECT_EQ(test, clr_bits, sr_entry->clr_bits);
+	KUNIT_EXPECT_EQ(test, set_bits, sr_entry->set_bits);
+}
+EXPORT_SYMBOL(xe_rtp_process_basic);
+
+/*
+ * Duplicate entries - same register register, only one action,
+ * with actions trying to set/clear bits already changed in previous entries
+ */
+static const struct xe_rtp_entry dup_entries[] = {
+	{ XE_RTP_NAME("dup-entries-yes-1"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
+	},
+	{ XE_RTP_NAME("dup-entries-no-2"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  /* should be dropped as it's the same as a previous */
+	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
+	},
+	{ XE_RTP_NAME("dup-entries-no-3"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  /* should be dropped as not disjoint */
+	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_GENMASK(1, 0)))
+	},
+	{}
+};
+
+void xe_rtp_process_dup(struct kunit *test)
+{
+	struct xe_device *xe = test->priv;
+	struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
+	const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
+	unsigned long idx, count = 0;
+
+	xe_reg_sr_init(reg_sr, "duplicate values", xe);
+	xe_rtp_process(dup_entries, reg_sr, &xe->gt[0], NULL);
+
+	xa_for_each(&reg_sr->xa, idx, sre) {
+		count++;
+		sr_entry = sre;
+	}
+
+	/*
+	 * Same REGULAR_REG1 register being used: all the entries should
+	 * coalesce into a single entry
+	 */
+	KUNIT_EXPECT_EQ(test, count, 1);
+	KUNIT_EXPECT_EQ(test, sr_entry->set_bits, REG_BIT(0));
+}
+EXPORT_SYMBOL(xe_rtp_process_dup);
+
+/*
+ * Incompatible types: same register register, but entries trying to set the
+ * same register passing incompatible types (masked / mcr)
+ */
+static const struct xe_rtp_entry incompat_types_entries[] = {
+	{ XE_RTP_NAME("incompat-types-yes-1"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
+	},
+	{ XE_RTP_NAME("incompat-types-no-2"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  /* dropped since has incompatible type with previous entry */
+	  XE_RTP_ACTIONS(SET(MCR_REG1, REG_BIT(1)))
+	},
+	{ XE_RTP_NAME("incompat-types-no-3"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  /* dropped since has incompatible type with previous entry */
+	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(2),
+			     XE_RTP_ACTION_FLAG(MASKED_REG)))
+	},
+	{ XE_RTP_NAME("incompat-types-no-3"),
+	  XE_RTP_RULES(FUNC(match_yes)),
+	  /* dropped since has incompatible type with previous entry */
+	  XE_RTP_ACTIONS(SET(MCR_REG1, REG_BIT(3),
+			     XE_RTP_ACTION_FLAG(MASKED_REG)))
+	},
+	{}
+};
+
+void xe_rtp_process_incompat_types(struct kunit *test)
+{
+	struct xe_device *xe = test->priv;
+	struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
+	const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
+	unsigned long idx, count = 0;
+
+	xe_reg_sr_init(reg_sr, "incompatible types", xe);
+	xe_rtp_process(incompat_types_entries, reg_sr, &xe->gt[0], NULL);
+
+	xa_for_each(&reg_sr->xa, idx, sre) {
+		count++;
+		sr_entry = sre;
+	}
+
+	/* Just the first entry is added, the rest are incompatible */
+	KUNIT_EXPECT_EQ(test, count, 1);
+	KUNIT_EXPECT_EQ(test, sr_entry->set_bits, REG_BIT(0));
+}
+EXPORT_SYMBOL(xe_rtp_process_incompat_types);
diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
new file mode 100644
index 000000000000..4a12aad3f759
--- /dev/null
+++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
@@ -0,0 +1,64 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include "xe_rtp_test.h"
+
+#include <drm/drm_drv.h>
+#include <drm/drm_kunit_helpers.h>
+
+#include <kunit/test.h>
+
+#include "xe_device_types.h"
+
+static void xe_fake_device_init(struct xe_device *xe)
+{
+	xe->gt[0].xe = xe;
+}
+
+static int xe_rtp_test_init(struct kunit *test)
+{
+	struct xe_device *xe;
+	struct device *dev;
+
+	dev = drm_kunit_helper_alloc_device(test);
+	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dev);
+
+	xe = drm_kunit_helper_alloc_drm_device(test, dev,
+					       struct xe_device,
+					       drm, DRIVER_GEM);
+	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe);
+
+	xe_fake_device_init(xe);
+	xe->drm.dev = dev;
+	test->priv = xe;
+
+	return 0;
+}
+
+static void xe_rtp_test_exit(struct kunit *test)
+{
+	struct xe_device *xe = test->priv;
+
+	drm_kunit_helper_free_device(test, xe->drm.dev);
+}
+
+static struct kunit_case xe_rtp_tests[] = {
+	KUNIT_CASE(xe_rtp_process_basic),
+	KUNIT_CASE(xe_rtp_process_dup),
+	KUNIT_CASE(xe_rtp_process_incompat_types),
+	{}
+};
+
+static struct kunit_suite xe_rtp_test_suite = {
+	.name = "xe_rtp",
+	.init = xe_rtp_test_init,
+	.exit = xe_rtp_test_exit,
+	.test_cases = xe_rtp_tests,
+};
+
+kunit_test_suite(xe_rtp_test_suite);
+
+MODULE_AUTHOR("Intel Corporation");
+MODULE_LICENSE("GPL");
diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.h b/drivers/gpu/drm/xe/tests/xe_rtp_test.h
new file mode 100644
index 000000000000..a2f1437d6299
--- /dev/null
+++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0 AND MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef _XE_RTP_TEST_H_
+#define _XE_RTP_TEST_H_
+
+struct kunit;
+
+void xe_rtp_process_basic(struct kunit *test);
+void xe_rtp_process_dup(struct kunit *test);
+void xe_rtp_process_incompat_types(struct kunit *test);
+
+#endif
diff --git a/drivers/gpu/drm/xe/xe_rtp.c b/drivers/gpu/drm/xe/xe_rtp.c
index cb9dd894547d..f634558b6e50 100644
--- a/drivers/gpu/drm/xe/xe_rtp.c
+++ b/drivers/gpu/drm/xe/xe_rtp.c
@@ -186,3 +186,7 @@ bool xe_rtp_match_first_gslice_fused_off(const struct xe_gt *gt,
 
 	return dss >= dss_per_gslice;
 }
+
+#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
+#include "tests/xe_rtp.c"
+#endif
-- 
2.39.0


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

* [Intel-xe] [PATCH 2/7] drm/xe: Extract function to initialize xe->info
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
  2023-03-21 22:05 ` [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp Lucas De Marchi
@ 2023-03-21 22:05 ` Lucas De Marchi
  2023-03-21 22:05 ` [Intel-xe] [PATCH 3/7] drm/xe: Move test infra out of xe_pci.[ch] Lucas De Marchi
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-21 22:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, maarten.lankhorst

Extract the part setting up from xe->info from xe_pci_probe() into its
own function. This pairs nicely with the display counterpart, avoids
info initialization to be placed elsewhere and helps future
improvements to build fake devices for tests.

While at it, normalize the names a little bit: the _get() suffix may be
mistaken by lock-related operation, so rename the function to
"find_subplatform()". Also rename the variable to subplatform_desc to
make it easier to understand, even if longer.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_pci.c | 98 ++++++++++++++++++++-----------------
 1 file changed, 54 insertions(+), 44 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 91fed9d3105e..b990985b5771 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -349,7 +349,7 @@ static bool id_blocked(u16 device_id)
 }
 
 static const struct xe_subplatform_desc *
-subplatform_get(const struct xe_device *xe, const struct xe_device_desc *desc)
+find_subplatform(const struct xe_device *xe, const struct xe_device_desc *desc)
 {
 	const struct xe_subplatform_desc *sp;
 	const u16 *id;
@@ -362,49 +362,12 @@ subplatform_get(const struct xe_device *xe, const struct xe_device_desc *desc)
 	return NULL;
 }
 
-static void xe_pci_remove(struct pci_dev *pdev)
+static void xe_info_init(struct xe_device *xe,
+			 const struct xe_device_desc *desc,
+			 const struct xe_subplatform_desc *subplatform_desc)
 {
-	struct xe_device *xe;
-
-	xe = pci_get_drvdata(pdev);
-	if (!xe) /* driver load aborted, nothing to cleanup */
-		return;
-
-	xe_device_remove(xe);
-	xe_pm_runtime_fini(xe);
-	pci_set_drvdata(pdev, NULL);
-}
-
-static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
-{
-	const struct xe_device_desc *desc = (void *)ent->driver_data;
-	const struct xe_subplatform_desc *spd;
-	struct xe_device *xe;
 	struct xe_gt *gt;
 	u8 id;
-	int err;
-
-	if (desc->require_force_probe && !id_forced(pdev->device)) {
-		dev_info(&pdev->dev,
-			 "Your graphics device %04x is not officially supported\n"
-			 "by xe driver in this kernel version. To force Xe probe,\n"
-			 "use xe.force_probe='%04x' and i915.force_probe='!%04x'\n"
-			 "module parameters or CONFIG_DRM_XE_FORCE_PROBE='%04x' and\n"
-			 "CONFIG_DRM_I915_FORCE_PROBE='!%04x' configuration options.\n",
-			 pdev->device, pdev->device, pdev->device,
-			 pdev->device, pdev->device);
-		return -ENODEV;
-	}
-
-	if (id_blocked(pdev->device)) {
-		dev_info(&pdev->dev, "Probe blocked for device [%04x:%04x].\n",
-			 pdev->vendor, pdev->device);
-		return -ENODEV;
-	}
-
-	xe = xe_device_create(pdev, ent);
-	if (IS_ERR(xe))
-		return PTR_ERR(xe);
 
 	xe->info.graphics_verx100 = desc->graphics_ver * 100 +
 				    desc->graphics_rel;
@@ -423,8 +386,8 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	xe->info.has_range_tlb_invalidation = desc->has_range_tlb_invalidation;
 	xe->info.has_link_copy_engine = desc->has_link_copy_engine;
 
-	spd = subplatform_get(xe, desc);
-	xe->info.subplatform = spd ? spd->subplatform : XE_SUBPLATFORM_NONE;
+	xe->info.subplatform = subplatform_desc ?
+		subplatform_desc->subplatform : XE_SUBPLATFORM_NONE;
 	xe->info.step = xe_step_get(xe);
 
 	for (id = 0; id < xe->info.tile_count; ++id) {
@@ -449,11 +412,58 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 				desc->extra_gts[id - 1].mmio_adj_offset;
 		}
 	}
+}
+
+static void xe_pci_remove(struct pci_dev *pdev)
+{
+	struct xe_device *xe;
+
+	xe = pci_get_drvdata(pdev);
+	if (!xe) /* driver load aborted, nothing to cleanup */
+		return;
+
+	xe_device_remove(xe);
+	xe_pm_runtime_fini(xe);
+	pci_set_drvdata(pdev, NULL);
+}
+
+static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+{
+	const struct xe_device_desc *desc = (void *)ent->driver_data;
+	const struct xe_subplatform_desc *subplatform_desc;
+	struct xe_device *xe;
+	int err;
+
+	if (desc->require_force_probe && !id_forced(pdev->device)) {
+		dev_info(&pdev->dev,
+			 "Your graphics device %04x is not officially supported\n"
+			 "by xe driver in this kernel version. To force Xe probe,\n"
+			 "use xe.force_probe='%04x' and i915.force_probe='!%04x'\n"
+			 "module parameters or CONFIG_DRM_XE_FORCE_PROBE='%04x' and\n"
+			 "CONFIG_DRM_I915_FORCE_PROBE='!%04x' configuration options.\n",
+			 pdev->device, pdev->device, pdev->device,
+			 pdev->device, pdev->device);
+		return -ENODEV;
+	}
+
+	if (id_blocked(pdev->device)) {
+		dev_info(&pdev->dev, "Probe blocked for device [%04x:%04x].\n",
+			 pdev->vendor, pdev->device);
+		return -ENODEV;
+	}
+
+	xe = xe_device_create(pdev, ent);
+	if (IS_ERR(xe))
+		return PTR_ERR(xe);
+
+	subplatform_desc = find_subplatform(xe, desc);
 
+	xe_info_init(xe, desc, subplatform_desc);
 	xe_display_info_init(xe);
 
 	drm_dbg(&xe->drm, "%s %s %04x:%04x dgfx:%d gfx100:%d media100:%d dma_m_s:%d tc:%d",
-		desc->platform_name, spd ? spd->name : "",
+		desc->platform_name,
+		subplatform_desc ? subplatform_desc->name : "",
 		xe->info.devid, xe->info.revid,
 		xe->info.is_dgfx, xe->info.graphics_verx100,
 		xe->info.media_verx100,
-- 
2.39.0


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

* [Intel-xe] [PATCH 3/7] drm/xe: Move test infra out of xe_pci.[ch]
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
  2023-03-21 22:05 ` [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp Lucas De Marchi
  2023-03-21 22:05 ` [Intel-xe] [PATCH 2/7] drm/xe: Extract function to initialize xe->info Lucas De Marchi
@ 2023-03-21 22:05 ` Lucas De Marchi
  2023-03-21 22:05 ` [Intel-xe] [PATCH 4/7] drm/xe: Use XE_KUNIT for symbol namespace Lucas De Marchi
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-21 22:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, maarten.lankhorst

Move code out of xe_pci.[ch] into tests/*.[ch], like is done in other
similar compilation units. Even if this is not part of "tests for
xe_pci.c", they are functions exported and required by other tests. It's
better not to clutter the module headers and sources with them.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/tests/xe_bo.c       |  2 +
 drivers/gpu/drm/xe/tests/xe_dma_buf.c  |  1 +
 drivers/gpu/drm/xe/tests/xe_migrate.c  |  1 +
 drivers/gpu/drm/xe/tests/xe_pci.c      | 62 ++++++++++++++++++++++++++
 drivers/gpu/drm/xe/tests/xe_pci_test.h | 15 +++++++
 drivers/gpu/drm/xe/xe_pci.c            | 52 +--------------------
 drivers/gpu/drm/xe/xe_pci.h            |  9 ----
 7 files changed, 82 insertions(+), 60 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.h

diff --git a/drivers/gpu/drm/xe/tests/xe_bo.c b/drivers/gpu/drm/xe/tests/xe_bo.c
index 3c60cbdf516c..aa433a7b59b7 100644
--- a/drivers/gpu/drm/xe/tests/xe_bo.c
+++ b/drivers/gpu/drm/xe/tests/xe_bo.c
@@ -6,6 +6,8 @@
 #include <kunit/test.h>
 
 #include "tests/xe_bo_test.h"
+#include "tests/xe_pci_test.h"
+#include "tests/xe_test.h"
 
 #include "xe_bo_evict.h"
 #include "xe_pci.h"
diff --git a/drivers/gpu/drm/xe/tests/xe_dma_buf.c b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
index e66a8361ae1f..cf9dddf1a8d7 100644
--- a/drivers/gpu/drm/xe/tests/xe_dma_buf.c
+++ b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
@@ -6,6 +6,7 @@
 #include <kunit/test.h>
 
 #include "tests/xe_dma_buf_test.h"
+#include "tests/xe_pci_test.h"
 
 #include "xe_pci.h"
 
diff --git a/drivers/gpu/drm/xe/tests/xe_migrate.c b/drivers/gpu/drm/xe/tests/xe_migrate.c
index 17829f878757..d410305c9b59 100644
--- a/drivers/gpu/drm/xe/tests/xe_migrate.c
+++ b/drivers/gpu/drm/xe/tests/xe_migrate.c
@@ -6,6 +6,7 @@
 #include <kunit/test.h>
 
 #include "tests/xe_migrate_test.h"
+#include "tests/xe_pci_test.h"
 
 #include "xe_pci.h"
 
diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
new file mode 100644
index 000000000000..643bddb35214
--- /dev/null
+++ b/drivers/gpu/drm/xe/tests/xe_pci.c
@@ -0,0 +1,62 @@
+// SPDX-License-Identifier: GPL-2.0 AND MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include "tests/xe_pci_test.h"
+
+#include "tests/xe_test.h"
+
+#include <kunit/test.h>
+
+struct kunit_test_data {
+	int ndevs;
+	xe_device_fn xe_fn;
+};
+
+static int dev_to_xe_device_fn(struct device *dev, void *__data)
+
+{
+	struct drm_device *drm = dev_get_drvdata(dev);
+	struct kunit_test_data *data = __data;
+	int ret = 0;
+	int idx;
+
+	data->ndevs++;
+
+	if (drm_dev_enter(drm, &idx))
+		ret = data->xe_fn(to_xe_device(dev_get_drvdata(dev)));
+	drm_dev_exit(idx);
+
+	return ret;
+}
+
+/**
+ * xe_call_for_each_device - Iterate over all devices this driver binds to
+ * @xe_fn: Function to call for each device.
+ *
+ * This function iterated over all devices this driver binds to, and calls
+ * @xe_fn: for each one of them. If the called function returns anything else
+ * than 0, iteration is stopped and the return value is returned by this
+ * function. Across each function call, drm_dev_enter() / drm_dev_exit() is
+ * called for the corresponding drm device.
+ *
+ * Return: Zero or the error code of a call to @xe_fn returning an error
+ * code.
+ */
+int xe_call_for_each_device(xe_device_fn xe_fn)
+{
+	int ret;
+	struct kunit_test_data data = {
+	    .xe_fn = xe_fn,
+	    .ndevs = 0,
+	};
+
+	ret = driver_for_each_device(&xe_pci_driver.driver, NULL,
+				     &data, dev_to_xe_device_fn);
+
+	if (!data.ndevs)
+		kunit_skip(current->kunit_test, "test runs only on hardware\n");
+
+	return ret;
+}
diff --git a/drivers/gpu/drm/xe/tests/xe_pci_test.h b/drivers/gpu/drm/xe/tests/xe_pci_test.h
new file mode 100644
index 000000000000..de65d8c9ccb5
--- /dev/null
+++ b/drivers/gpu/drm/xe/tests/xe_pci_test.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0 AND MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#ifndef _XE_PCI_TEST_H_
+#define _XE_PCI_TEST_H_
+
+struct xe_device;
+
+typedef int (*xe_device_fn)(struct xe_device *);
+
+int xe_call_for_each_device(xe_device_fn xe_fn);
+
+#endif
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index b990985b5771..302f7f588da1 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -635,55 +635,5 @@ void xe_unregister_pci_driver(void)
 }
 
 #if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
-struct kunit_test_data {
-	int ndevs;
-	xe_device_fn xe_fn;
-};
-
-static int dev_to_xe_device_fn(struct device *dev, void *__data)
-
-{
-	struct drm_device *drm = dev_get_drvdata(dev);
-	struct kunit_test_data *data = __data;
-	int ret = 0;
-	int idx;
-
-	data->ndevs++;
-
-	if (drm_dev_enter(drm, &idx))
-		ret = data->xe_fn(to_xe_device(dev_get_drvdata(dev)));
-	drm_dev_exit(idx);
-
-	return ret;
-}
-
-/**
- * xe_call_for_each_device - Iterate over all devices this driver binds to
- * @xe_fn: Function to call for each device.
- *
- * This function iterated over all devices this driver binds to, and calls
- * @xe_fn: for each one of them. If the called function returns anything else
- * than 0, iteration is stopped and the return value is returned by this
- * function. Across each function call, drm_dev_enter() / drm_dev_exit() is
- * called for the corresponding drm device.
- *
- * Return: Zero or the error code of a call to @xe_fn returning an error
- * code.
- */
-int xe_call_for_each_device(xe_device_fn xe_fn)
-{
-	int ret;
-	struct kunit_test_data data = {
-	    .xe_fn = xe_fn,
-	    .ndevs = 0,
-	};
-
-	ret = driver_for_each_device(&xe_pci_driver.driver, NULL,
-				     &data, dev_to_xe_device_fn);
-
-	if (!data.ndevs)
-		kunit_skip(current->kunit_test, "test runs only on hardware\n");
-
-	return ret;
-}
+#include "tests/xe_pci.c"
 #endif
diff --git a/drivers/gpu/drm/xe/xe_pci.h b/drivers/gpu/drm/xe/xe_pci.h
index 9e3089549d5f..611c1209b14c 100644
--- a/drivers/gpu/drm/xe/xe_pci.h
+++ b/drivers/gpu/drm/xe/xe_pci.h
@@ -6,16 +6,7 @@
 #ifndef _XE_PCI_H_
 #define _XE_PCI_H_
 
-#include "tests/xe_test.h"
-
 int xe_register_pci_driver(void);
 void xe_unregister_pci_driver(void);
 
-#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
-struct xe_device;
-
-typedef int (*xe_device_fn)(struct xe_device *);
-
-int xe_call_for_each_device(xe_device_fn xe_fn);
-#endif
 #endif
-- 
2.39.0


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

* [Intel-xe] [PATCH 4/7] drm/xe: Use XE_KUNIT for symbol namespace
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
                   ` (2 preceding siblings ...)
  2023-03-21 22:05 ` [Intel-xe] [PATCH 3/7] drm/xe: Move test infra out of xe_pci.[ch] Lucas De Marchi
@ 2023-03-21 22:05 ` Lucas De Marchi
  2023-03-21 22:05 ` [Intel-xe] [PATCH 5/7] drm/xe: Generalize fake device creation Lucas De Marchi
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-21 22:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, maarten.lankhorst

Instead of simply using EXPORT_SYMBOL() so the functions can be called
across modules, use EXPORT_SYMBOL_NS_GPL() with a private XE_KUNIT
namespace. This avoids accidentally "leaking" these functions and letting
them be called from outside the kunit tests. Use the _GPL() variant
since it's the license declared for the test modules.  If these
functiosn are accidentally called from another module, they would
receive a modpost error like below:

	ERROR: modpost: module XXXXXXX uses symbol
	xe_ccs_migrate_kunit from namespace XE_KUNIT, but does not
	import it.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/tests/xe_bo.c           | 4 ++--
 drivers/gpu/drm/xe/tests/xe_bo_test.c      | 1 +
 drivers/gpu/drm/xe/tests/xe_dma_buf.c      | 2 +-
 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c | 1 +
 drivers/gpu/drm/xe/tests/xe_migrate.c      | 2 +-
 drivers/gpu/drm/xe/tests/xe_migrate_test.c | 1 +
 drivers/gpu/drm/xe/tests/xe_rtp.c          | 6 +++---
 drivers/gpu/drm/xe/tests/xe_rtp_test.c     | 1 +
 8 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/xe/tests/xe_bo.c b/drivers/gpu/drm/xe/tests/xe_bo.c
index aa433a7b59b7..345956b43e8d 100644
--- a/drivers/gpu/drm/xe/tests/xe_bo.c
+++ b/drivers/gpu/drm/xe/tests/xe_bo.c
@@ -166,7 +166,7 @@ void xe_ccs_migrate_kunit(struct kunit *test)
 {
 	xe_call_for_each_device(ccs_test_run_device);
 }
-EXPORT_SYMBOL(xe_ccs_migrate_kunit);
+EXPORT_SYMBOL_NS_GPL(xe_ccs_migrate_kunit, XE_KUNIT);
 
 static int evict_test_run_gt(struct xe_device *xe, struct xe_gt *gt, struct kunit *test)
 {
@@ -304,4 +304,4 @@ void xe_bo_evict_kunit(struct kunit *test)
 {
 	xe_call_for_each_device(evict_test_run_device);
 }
-EXPORT_SYMBOL(xe_bo_evict_kunit);
+EXPORT_SYMBOL_NS_GPL(xe_bo_evict_kunit, XE_KUNIT);
diff --git a/drivers/gpu/drm/xe/tests/xe_bo_test.c b/drivers/gpu/drm/xe/tests/xe_bo_test.c
index 92dda4fca21b..f51835cd461f 100644
--- a/drivers/gpu/drm/xe/tests/xe_bo_test.c
+++ b/drivers/gpu/drm/xe/tests/xe_bo_test.c
@@ -22,3 +22,4 @@ kunit_test_suite(xe_bo_test_suite);
 
 MODULE_AUTHOR("Intel Corporation");
 MODULE_LICENSE("GPL");
+MODULE_IMPORT_NS(XE_KUNIT);
diff --git a/drivers/gpu/drm/xe/tests/xe_dma_buf.c b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
index cf9dddf1a8d7..39a2b8d5755f 100644
--- a/drivers/gpu/drm/xe/tests/xe_dma_buf.c
+++ b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
@@ -259,4 +259,4 @@ void xe_dma_buf_kunit(struct kunit *test)
 {
 	xe_call_for_each_device(dma_buf_run_device);
 }
-EXPORT_SYMBOL(xe_dma_buf_kunit);
+EXPORT_SYMBOL_NS_GPL(xe_dma_buf_kunit, XE_KUNIT);
diff --git a/drivers/gpu/drm/xe/tests/xe_dma_buf_test.c b/drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
index a1adfd1e1605..9430ec58ecfb 100644
--- a/drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
+++ b/drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
@@ -21,3 +21,4 @@ kunit_test_suite(xe_dma_buf_test_suite);
 
 MODULE_AUTHOR("Intel Corporation");
 MODULE_LICENSE("GPL");
+MODULE_IMPORT_NS(XE_KUNIT);
diff --git a/drivers/gpu/drm/xe/tests/xe_migrate.c b/drivers/gpu/drm/xe/tests/xe_migrate.c
index d410305c9b59..d6d815f419af 100644
--- a/drivers/gpu/drm/xe/tests/xe_migrate.c
+++ b/drivers/gpu/drm/xe/tests/xe_migrate.c
@@ -407,4 +407,4 @@ void xe_migrate_sanity_kunit(struct kunit *test)
 {
 	xe_call_for_each_device(migrate_test_run_device);
 }
-EXPORT_SYMBOL(xe_migrate_sanity_kunit);
+EXPORT_SYMBOL_NS_GPL(xe_migrate_sanity_kunit, XE_KUNIT);
diff --git a/drivers/gpu/drm/xe/tests/xe_migrate_test.c b/drivers/gpu/drm/xe/tests/xe_migrate_test.c
index d6be360c3b6d..5f704be2ad33 100644
--- a/drivers/gpu/drm/xe/tests/xe_migrate_test.c
+++ b/drivers/gpu/drm/xe/tests/xe_migrate_test.c
@@ -21,3 +21,4 @@ kunit_test_suite(xe_migrate_test_suite);
 
 MODULE_AUTHOR("Intel Corporation");
 MODULE_LICENSE("GPL");
+MODULE_IMPORT_NS(XE_KUNIT);
diff --git a/drivers/gpu/drm/xe/tests/xe_rtp.c b/drivers/gpu/drm/xe/tests/xe_rtp.c
index 92e2c2b8b44d..3076f17d6497 100644
--- a/drivers/gpu/drm/xe/tests/xe_rtp.c
+++ b/drivers/gpu/drm/xe/tests/xe_rtp.c
@@ -102,7 +102,7 @@ void xe_rtp_process_basic(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, clr_bits, sr_entry->clr_bits);
 	KUNIT_EXPECT_EQ(test, set_bits, sr_entry->set_bits);
 }
-EXPORT_SYMBOL(xe_rtp_process_basic);
+EXPORT_SYMBOL_NS_GPL(xe_rtp_process_basic, XE_KUNIT);
 
 /*
  * Duplicate entries - same register register, only one action,
@@ -148,7 +148,7 @@ void xe_rtp_process_dup(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, count, 1);
 	KUNIT_EXPECT_EQ(test, sr_entry->set_bits, REG_BIT(0));
 }
-EXPORT_SYMBOL(xe_rtp_process_dup);
+EXPORT_SYMBOL_NS_GPL(xe_rtp_process_dup, XE_KUNIT);
 
 /*
  * Incompatible types: same register register, but entries trying to set the
@@ -198,4 +198,4 @@ void xe_rtp_process_incompat_types(struct kunit *test)
 	KUNIT_EXPECT_EQ(test, count, 1);
 	KUNIT_EXPECT_EQ(test, sr_entry->set_bits, REG_BIT(0));
 }
-EXPORT_SYMBOL(xe_rtp_process_incompat_types);
+EXPORT_SYMBOL_NS_GPL(xe_rtp_process_incompat_types, XE_KUNIT);
diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
index 4a12aad3f759..bb633dd09a76 100644
--- a/drivers/gpu/drm/xe/tests/xe_rtp_test.c
+++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
@@ -62,3 +62,4 @@ kunit_test_suite(xe_rtp_test_suite);
 
 MODULE_AUTHOR("Intel Corporation");
 MODULE_LICENSE("GPL");
+MODULE_IMPORT_NS(XE_KUNIT);
-- 
2.39.0


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

* [Intel-xe] [PATCH 5/7] drm/xe: Generalize fake device creation
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
                   ` (3 preceding siblings ...)
  2023-03-21 22:05 ` [Intel-xe] [PATCH 4/7] drm/xe: Use XE_KUNIT for symbol namespace Lucas De Marchi
@ 2023-03-21 22:05 ` Lucas De Marchi
  2023-03-21 22:05 ` [Intel-xe] [PATCH 6/7] drm/xe/reg_sr: Save errors for kunit integration Lucas De Marchi
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-21 22:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, maarten.lankhorst

Instead of requiring tests to initialize a fake device an keep it in
sync with xe_pci.c when it's platform-dependent, export a function from
xe_pci.c to be used and piggy back on the device info creation. This
migrates the xe_rtp tests to use this new helper.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/tests/xe_pci.c      | 46 ++++++++++++++++++++++++++
 drivers/gpu/drm/xe/tests/xe_pci_test.h | 16 +++++++++
 drivers/gpu/drm/xe/tests/xe_rtp_test.c | 11 +++---
 drivers/gpu/drm/xe/xe_pci.c            |  2 +-
 4 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/xe/tests/xe_pci.c b/drivers/gpu/drm/xe/tests/xe_pci.c
index 643bddb35214..81723b8c3aef 100644
--- a/drivers/gpu/drm/xe/tests/xe_pci.c
+++ b/drivers/gpu/drm/xe/tests/xe_pci.c
@@ -60,3 +60,49 @@ int xe_call_for_each_device(xe_device_fn xe_fn)
 
 	return ret;
 }
+
+int xe_pci_fake_device_init(struct xe_device *xe, enum xe_platform platform,
+			    enum xe_subplatform subplatform)
+{
+	const struct pci_device_id *ent = pciidlist;
+	const struct xe_device_desc *desc;
+	const struct xe_subplatform_desc *subplatform_desc;
+
+	if (platform == XE_TEST_PLATFORM_ANY) {
+		desc = (const void *)ent->driver_data;
+		subplatform_desc = NULL;
+		goto done;
+	}
+
+	for (ent = pciidlist; ent->device; ent++) {
+		desc = (const void *)ent->driver_data;
+		if (desc->platform == platform)
+			break;
+	}
+
+	if (!ent->device)
+		return -ENODEV;
+
+	if (subplatform == XE_TEST_SUBPLATFORM_ANY) {
+		subplatform_desc = desc->subplatforms;
+		goto done;
+	}
+
+	for (subplatform_desc = desc->subplatforms;
+	     subplatform_desc && subplatform_desc->subplatform;
+	     subplatform_desc++)
+		if (subplatform_desc->subplatform == subplatform)
+			break;
+
+	if (subplatform == XE_SUBPLATFORM_NONE && subplatform_desc)
+		return -ENODEV;
+
+	if (subplatform != XE_SUBPLATFORM_NONE && !subplatform_desc)
+		return -ENODEV;
+
+done:
+	xe_info_init(xe, desc, subplatform_desc);
+
+	return 0;
+}
+EXPORT_SYMBOL_NS_GPL(xe_pci_fake_device_init, XE_KUNIT);
diff --git a/drivers/gpu/drm/xe/tests/xe_pci_test.h b/drivers/gpu/drm/xe/tests/xe_pci_test.h
index de65d8c9ccb5..43294e8c62bb 100644
--- a/drivers/gpu/drm/xe/tests/xe_pci_test.h
+++ b/drivers/gpu/drm/xe/tests/xe_pci_test.h
@@ -6,10 +6,26 @@
 #ifndef _XE_PCI_TEST_H_
 #define _XE_PCI_TEST_H_
 
+#include "xe_platform_types.h"
+
 struct xe_device;
 
+/*
+ * Some defines just for clarity: these mean the test doesn't care about what
+ * platform it will get since it doesn't depend on any platform-specific bits
+ */
+#define XE_TEST_PLATFORM_ANY	XE_PLATFORM_UNINITIALIZED
+#define XE_TEST_SUBPLATFORM_ANY	XE_SUBPLATFORM_UNINITIALIZED
+
 typedef int (*xe_device_fn)(struct xe_device *);
 
 int xe_call_for_each_device(xe_device_fn xe_fn);
 
+int xe_pci_fake_device_init(struct xe_device *xe, enum xe_platform platform,
+			    enum xe_subplatform subplatform);
+
+#define xe_pci_fake_device_init_any(xe__)					\
+	xe_pci_fake_device_init(xe__, XE_TEST_PLATFORM_ANY,			\
+				XE_TEST_SUBPLATFORM_ANY)
+
 #endif
diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
index bb633dd09a76..37d3cd1a43fc 100644
--- a/drivers/gpu/drm/xe/tests/xe_rtp_test.c
+++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
@@ -11,16 +11,13 @@
 #include <kunit/test.h>
 
 #include "xe_device_types.h"
-
-static void xe_fake_device_init(struct xe_device *xe)
-{
-	xe->gt[0].xe = xe;
-}
+#include "xe_pci_test.h"
 
 static int xe_rtp_test_init(struct kunit *test)
 {
 	struct xe_device *xe;
 	struct device *dev;
+	int ret;
 
 	dev = drm_kunit_helper_alloc_device(test);
 	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dev);
@@ -30,7 +27,9 @@ static int xe_rtp_test_init(struct kunit *test)
 					       drm, DRIVER_GEM);
 	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe);
 
-	xe_fake_device_init(xe);
+	ret = xe_pci_fake_device_init_any(xe);
+	KUNIT_ASSERT_EQ(test, ret, 0);
+
 	xe->drm.dev = dev;
 	test->priv = xe;
 
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 302f7f588da1..21ae5e6f8fe5 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -429,7 +429,7 @@ static void xe_pci_remove(struct pci_dev *pdev)
 
 static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
-	const struct xe_device_desc *desc = (void *)ent->driver_data;
+	const struct xe_device_desc *desc = (const void *)ent->driver_data;
 	const struct xe_subplatform_desc *subplatform_desc;
 	struct xe_device *xe;
 	int err;
-- 
2.39.0


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

* [Intel-xe] [PATCH 6/7] drm/xe/reg_sr: Save errors for kunit integration
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
                   ` (4 preceding siblings ...)
  2023-03-21 22:05 ` [Intel-xe] [PATCH 5/7] drm/xe: Generalize fake device creation Lucas De Marchi
@ 2023-03-21 22:05 ` Lucas De Marchi
  2023-03-27 18:29   ` Michał Winiarski
  2023-03-21 22:05 ` [Intel-xe] [PATCH 7/7] drm/xe: Add test for GT workarounds and tunings Lucas De Marchi
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-21 22:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, maarten.lankhorst

When there's an entry that is dropped when xe_reg_sr_add(), there's
not much we can do other than reporting the error - it's for certain a
driver issue or conflicting workarounds/tunings. Save the number of
errors to be used later by kunit to report where it happens.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_reg_sr.c       | 8 ++++++++
 drivers/gpu/drm/xe/xe_reg_sr_types.h | 4 ++++
 2 files changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_reg_sr.c b/drivers/gpu/drm/xe/xe_reg_sr.c
index 9eaf1be27886..83f29aeb9250 100644
--- a/drivers/gpu/drm/xe/xe_reg_sr.c
+++ b/drivers/gpu/drm/xe/xe_reg_sr.c
@@ -84,6 +84,13 @@ static bool compatible_entries(const struct xe_reg_sr_entry *e1,
 	return true;
 }
 
+static void reg_sr_inc_error(struct xe_reg_sr *sr)
+{
+#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
+	sr->errors++;
+#endif
+}
+
 int xe_reg_sr_add(struct xe_reg_sr *sr, u32 reg,
 		  const struct xe_reg_sr_entry *e)
 {
@@ -121,6 +128,7 @@ int xe_reg_sr_add(struct xe_reg_sr *sr, u32 reg,
 	DRM_ERROR("Discarding save-restore reg %04lx (clear: %08x, set: %08x, masked: %s): ret=%d\n",
 		  idx, e->clr_bits, e->set_bits,
 		  str_yes_no(e->masked_reg), ret);
+	reg_sr_inc_error(sr);
 
 	return ret;
 }
diff --git a/drivers/gpu/drm/xe/xe_reg_sr_types.h b/drivers/gpu/drm/xe/xe_reg_sr_types.h
index 3d2257891005..91469784fd90 100644
--- a/drivers/gpu/drm/xe/xe_reg_sr_types.h
+++ b/drivers/gpu/drm/xe/xe_reg_sr_types.h
@@ -32,6 +32,10 @@ struct xe_reg_sr {
 	} pool;
 	struct xarray xa;
 	const char *name;
+
+#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
+	unsigned int errors;
+#endif
 };
 
 #endif
-- 
2.39.0


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

* [Intel-xe] [PATCH 7/7] drm/xe: Add test for GT workarounds and tunings
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
                   ` (5 preceding siblings ...)
  2023-03-21 22:05 ` [Intel-xe] [PATCH 6/7] drm/xe/reg_sr: Save errors for kunit integration Lucas De Marchi
@ 2023-03-21 22:05 ` Lucas De Marchi
  2023-03-21 22:08 ` [Intel-xe] ✓ CI.Patch_applied: success for Unit tests for rtp and GT wa/tuning Patchwork
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-21 22:05 UTC (permalink / raw)
  To: intel-xe; +Cc: Lucas De Marchi, maarten.lankhorst

In order to avoid mistakes when populating the workarounds, it's good to
be able to test if the entries added are all compatible for a certain
platform. The platform itself is not needed as long as we create fake
devices with enough configuration for the RTP helpers to process the
tables.  Common mistakes that can be avoided:

	- Entries clashing the bitfields being updated
	- Register type being mixed (MCR vs regular / masked vs regular)
	- Unexpected errors while adding the reg_sr entry

To test, inject a duplicate entry in gt_was, but with platform == tigerlake
rather than the currenct graphics version check:

       { XE_RTP_NAME("14011059788"),
	 XE_RTP_RULES(PLATFORM(TIGERLAKE)),
	 XE_RTP_ACTIONS(SET(GEN10_DFR_RATIO_EN_AND_CHICKEN, DFR_DISABLE))
       },

This produces the following result:

	$  ./tools/testing/kunit/kunit.py run \
		--kunitconfig drivers/gpu/drm/xe/.kunitconfig  xe_wa

	[14:18:02] Starting KUnit Kernel (1/1)...
	[14:18:02] ============================================================
	[14:18:02] ==================== xe_wa (1 subtest) =====================
	[14:18:02] ======================== xe_wa_gt  =========================
	[14:18:02] [drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 9550 (clear: 00000200, set: 00000200, masked: no): ret=-22
	[14:18:02]     # xe_wa_gt: ASSERTION FAILED at drivers/gpu/drm/xe/tests/xe_wa_test.c:116
	[14:18:02]     Expected gt->reg_sr.errors == 0, but
	[14:18:02]         gt->reg_sr.errors == 1 (0x1)
	[14:18:02] [FAILED] TIGERLAKE (B0)
	[14:18:02] [PASSED] DG1 (A0)
	[14:18:02] [PASSED] DG1 (B0)
	...

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/tests/Makefile     |   3 +-
 drivers/gpu/drm/xe/tests/xe_wa_test.c | 136 ++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_reg_sr.c        |   1 +
 drivers/gpu/drm/xe/xe_tuning.c        |   1 +
 drivers/gpu/drm/xe/xe_wa.c            |   1 +
 5 files changed, 141 insertions(+), 1 deletion(-)
 create mode 100644 drivers/gpu/drm/xe/tests/xe_wa_test.c

diff --git a/drivers/gpu/drm/xe/tests/Makefile b/drivers/gpu/drm/xe/tests/Makefile
index c5c2f108d017..56919abb3f2a 100644
--- a/drivers/gpu/drm/xe/tests/Makefile
+++ b/drivers/gpu/drm/xe/tests/Makefile
@@ -4,4 +4,5 @@ obj-$(CONFIG_DRM_XE_KUNIT_TEST) += \
 	xe_bo_test.o \
 	xe_dma_buf_test.o \
 	xe_migrate_test.o \
-	xe_rtp_test.o
+	xe_rtp_test.o \
+	xe_wa_test.o
diff --git a/drivers/gpu/drm/xe/tests/xe_wa_test.c b/drivers/gpu/drm/xe/tests/xe_wa_test.c
new file mode 100644
index 000000000000..7f0dc821535b
--- /dev/null
+++ b/drivers/gpu/drm/xe/tests/xe_wa_test.c
@@ -0,0 +1,136 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include <drm/drm_drv.h>
+#include <drm/drm_kunit_helpers.h>
+
+#include <kunit/test.h>
+
+#include "xe_device.h"
+#include "xe_pci_test.h"
+#include "xe_reg_sr.h"
+#include "xe_tuning.h"
+#include "xe_wa.h"
+
+struct platform_test_case {
+	const char *name;
+	enum xe_platform platform;
+	enum xe_subplatform subplatform;
+	struct xe_step_info step;
+};
+
+#define PLATFORM_CASE(platform__, graphics_step__)				\
+	{									\
+		.name = #platform__ " (" #graphics_step__ ")",			\
+		.platform = XE_ ## platform__,					\
+		.subplatform = XE_SUBPLATFORM_NONE,				\
+		.step = { .graphics = STEP_ ## graphics_step__ }		\
+	}
+
+
+#define SUBPLATFORM_CASE(platform__, subplatform__, graphics_step__)			\
+	{										\
+		.name = #platform__ "_" #subplatform__ " (" #graphics_step__ ")",	\
+		.platform = XE_ ## platform__,						\
+		.subplatform = XE_SUBPLATFORM_ ## platform__ ## _ ## subplatform__,	\
+		.step = { .graphics = STEP_ ## graphics_step__ }			\
+	}
+
+static const struct platform_test_case cases[] = {
+	PLATFORM_CASE(TIGERLAKE, B0),
+	PLATFORM_CASE(DG1, A0),
+	PLATFORM_CASE(DG1, B0),
+	PLATFORM_CASE(ALDERLAKE_S, A0),
+	PLATFORM_CASE(ALDERLAKE_S, B0),
+	PLATFORM_CASE(ALDERLAKE_S, C0),
+	PLATFORM_CASE(ALDERLAKE_S, D0),
+	SUBPLATFORM_CASE(DG2, G10, A0),
+	SUBPLATFORM_CASE(DG2, G10, A1),
+	SUBPLATFORM_CASE(DG2, G10, B0),
+	SUBPLATFORM_CASE(DG2, G10, C0),
+	SUBPLATFORM_CASE(DG2, G11, A0),
+	SUBPLATFORM_CASE(DG2, G11, B0),
+	SUBPLATFORM_CASE(DG2, G11, B1),
+	SUBPLATFORM_CASE(DG2, G12, A0),
+	SUBPLATFORM_CASE(DG2, G12, A1),
+	PLATFORM_CASE(PVC, B0),
+	PLATFORM_CASE(PVC, B1),
+	PLATFORM_CASE(PVC, C0),
+};
+
+static void platform_desc(const struct platform_test_case *t, char *desc)
+{
+	strscpy(desc, t->name, KUNIT_PARAM_DESC_SIZE);
+}
+
+KUNIT_ARRAY_PARAM(platform, cases, platform_desc);
+
+static int xe_wa_test_init(struct kunit *test)
+{
+	const struct platform_test_case *param = test->param_value;
+	struct xe_device *xe;
+	struct device *dev;
+	int ret;
+
+	dev = drm_kunit_helper_alloc_device(test);
+	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dev);
+
+	xe = drm_kunit_helper_alloc_drm_device(test, dev,
+					       struct xe_device,
+					       drm, DRIVER_GEM);
+	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe);
+
+	ret = xe_pci_fake_device_init(xe, param->platform, param->subplatform);
+	KUNIT_ASSERT_EQ(test, ret, 0);
+
+	xe->info.step = param->step;
+
+	/* TODO: init hw engines for engine/LRC WAs */
+	xe->drm.dev = dev;
+	test->priv = xe;
+
+	return 0;
+}
+
+static void xe_wa_test_exit(struct kunit *test)
+{
+	struct xe_device *xe = test->priv;
+
+	drm_kunit_helper_free_device(test, xe->drm.dev);
+}
+
+static void xe_wa_gt(struct kunit *test)
+{
+	struct xe_device *xe = test->priv;
+	struct xe_gt *gt;
+	int id;
+
+	for_each_gt(gt, xe, id) {
+		xe_reg_sr_init(&gt->reg_sr, "GT", xe);
+
+		xe_wa_process_gt(gt);
+		xe_tuning_process_gt(gt);
+
+		KUNIT_ASSERT_EQ(test, gt->reg_sr.errors, 0);
+	}
+}
+
+static struct kunit_case xe_wa_tests[] = {
+	KUNIT_CASE_PARAM(xe_wa_gt, platform_gen_params),
+	{}
+};
+
+static struct kunit_suite xe_rtp_test_suite = {
+	.name = "xe_wa",
+	.init = xe_wa_test_init,
+	.exit = xe_wa_test_exit,
+	.test_cases = xe_wa_tests,
+};
+
+kunit_test_suite(xe_rtp_test_suite);
+
+MODULE_AUTHOR("Intel Corporation");
+MODULE_LICENSE("GPL");
+MODULE_IMPORT_NS(XE_KUNIT);
diff --git a/drivers/gpu/drm/xe/xe_reg_sr.c b/drivers/gpu/drm/xe/xe_reg_sr.c
index 83f29aeb9250..b8939951bde7 100644
--- a/drivers/gpu/drm/xe/xe_reg_sr.c
+++ b/drivers/gpu/drm/xe/xe_reg_sr.c
@@ -44,6 +44,7 @@ int xe_reg_sr_init(struct xe_reg_sr *sr, const char *name, struct xe_device *xe)
 
 	return drmm_add_action_or_reset(&xe->drm, reg_sr_fini, sr);
 }
+EXPORT_SYMBOL_NS_GPL(xe_reg_sr_init, XE_KUNIT);
 
 static struct xe_reg_sr_entry *alloc_entry(struct xe_reg_sr *sr)
 {
diff --git a/drivers/gpu/drm/xe/xe_tuning.c b/drivers/gpu/drm/xe/xe_tuning.c
index 7ff5eb762da5..31b163b971fb 100644
--- a/drivers/gpu/drm/xe/xe_tuning.c
+++ b/drivers/gpu/drm/xe/xe_tuning.c
@@ -62,6 +62,7 @@ void xe_tuning_process_gt(struct xe_gt *gt)
 {
 	xe_rtp_process(gt_tunings, &gt->reg_sr, gt, NULL);
 }
+EXPORT_SYMBOL_NS_GPL(xe_tuning_process_gt, XE_KUNIT);
 
 /**
  * xe_tuning_process_lrc - process lrc tunings
diff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c
index 59d2daab5929..282a25302e65 100644
--- a/drivers/gpu/drm/xe/xe_wa.c
+++ b/drivers/gpu/drm/xe/xe_wa.c
@@ -628,6 +628,7 @@ void xe_wa_process_gt(struct xe_gt *gt)
 {
 	xe_rtp_process(gt_was, &gt->reg_sr, gt, NULL);
 }
+EXPORT_SYMBOL_NS_GPL(xe_wa_process_gt, XE_KUNIT);
 
 /**
  * xe_wa_process_engine - process engine workaround table
-- 
2.39.0


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

* [Intel-xe] ✓ CI.Patch_applied: success for Unit tests for rtp and GT wa/tuning
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
                   ` (6 preceding siblings ...)
  2023-03-21 22:05 ` [Intel-xe] [PATCH 7/7] drm/xe: Add test for GT workarounds and tunings Lucas De Marchi
@ 2023-03-21 22:08 ` Patchwork
  2023-03-31 15:14   ` Lucas De Marchi
  2023-03-21 22:09 ` [Intel-xe] ✓ CI.KUnit: " Patchwork
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 30+ messages in thread
From: Patchwork @ 2023-03-21 22:08 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: Unit tests for rtp and GT wa/tuning
URL   : https://patchwork.freedesktop.org/series/115463/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-xe-next' with base: ===
commit 1ae4dd9e82429e075aa7121404b06ce170da5848
Author:     Matthew Auld <matthew.auld@intel.com>
AuthorDate: Tue Mar 21 11:44:07 2023 +0000
Commit:     Matthew Auld <matthew.auld@intel.com>
CommitDate: Tue Mar 21 14:03:29 2023 +0000

    drm/xe/buddy: add compatible and intersects hooks
    
    Copy this from i915. We need .compatible for vram -> vram transfers, so
    they don't just get nooped by ttm, if need to move something from
    mappable to non-mappble or vice versa. The .intersects is needed for
    eviction, to determine if a victim resource is worth eviction. e.g if we
    need mappable space there is no point in evicting a resource that has
    zero mappable pages.
    
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
=== git am output follows ===
Applying: drm/xe: Add basic unit tests for rtp
Applying: drm/xe: Extract function to initialize xe->info
Applying: drm/xe: Move test infra out of xe_pci.[ch]
Applying: drm/xe: Use XE_KUNIT for symbol namespace
Applying: drm/xe: Generalize fake device creation
Applying: drm/xe/reg_sr: Save errors for kunit integration
Applying: drm/xe: Add test for GT workarounds and tunings



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

* [Intel-xe] ✓ CI.KUnit: success for Unit tests for rtp and GT wa/tuning
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
                   ` (7 preceding siblings ...)
  2023-03-21 22:08 ` [Intel-xe] ✓ CI.Patch_applied: success for Unit tests for rtp and GT wa/tuning Patchwork
@ 2023-03-21 22:09 ` Patchwork
  2023-03-21 22:13 ` [Intel-xe] ✓ CI.Build: " Patchwork
  2023-03-21 22:25 ` [Intel-xe] ○ CI.BAT: info " Patchwork
  10 siblings, 0 replies; 30+ messages in thread
From: Patchwork @ 2023-03-21 22:09 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: Unit tests for rtp and GT wa/tuning
URL   : https://patchwork.freedesktop.org/series/115463/
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
[22:08:36] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:08:40] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[22:09:02] Starting KUnit Kernel (1/1)...
[22:09:02] ============================================================
[22:09:02] ==================== xe_bo (2 subtests) ====================
[22:09:02] [SKIPPED] xe_ccs_migrate_kunit
[22:09:02] [SKIPPED] xe_bo_evict_kunit
[22:09:02] ===================== [SKIPPED] xe_bo ======================
[22:09:02] ================== xe_dma_buf (1 subtest) ==================
[22:09:02] [SKIPPED] xe_dma_buf_kunit
[22:09:02] =================== [SKIPPED] xe_dma_buf ===================
[22:09:02] ================== xe_migrate (1 subtest) ==================
[22:09:02] [SKIPPED] xe_migrate_sanity_kunit
[22:09:02] =================== [SKIPPED] xe_migrate ===================
[22:09:02] =================== xe_rtp (3 subtests) ====================
[22:09:02] [PASSED] xe_rtp_process_basic
[22:09:02] [PASSED] xe_rtp_process_dup
[22:09:02] [PASSED] xe_rtp_process_incompat_types
[22:09:02] ===================== [PASSED] xe_rtp ======================
[22:09:02] ==================== xe_wa (1 subtest) =====================
[22:09:02] ======================== xe_wa_gt  =========================
[22:09:02] [PASSED] TIGERLAKE (B0)
[22:09:02] [PASSED] DG1 (A0)
[22:09:02] [PASSED] DG1 (B0)
[22:09:02] [PASSED] ALDERLAKE_S (A0)
[22:09:02] [PASSED] ALDERLAKE_S (B0)
[22:09:02] [PASSED] ALDERLAKE_S (C0)
[22:09:02] [PASSED] ALDERLAKE_S (D0)
[22:09:02] [PASSED] DG2_G10 (A0)
[22:09:02] [PASSED] DG2_G10 (A1)
[22:09:02] [PASSED] DG2_G10 (B0)
[22:09:02] [PASSED] DG2_G10 (C0)
[22:09:02] [PASSED] DG2_G11 (A0)
[22:09:02] [PASSED] DG2_G11 (B0)
[22:09:02] [PASSED] DG2_G11 (B1)
[22:09:02] [PASSED] DG2_G12 (A0)
[22:09:02] [PASSED] DG2_G12 (A1)
[22:09:02] [PASSED] PVC (B0)
[22:09:02] [PASSED] PVC (B1)
[22:09:02] [PASSED] PVC (C0)
[22:09:02] ==================== [PASSED] xe_wa_gt =====================
[22:09:02] ====================== [PASSED] xe_wa ======================
[22:09:02] ============================================================
[22:09:02] Testing complete. Ran 26 tests: passed: 22, skipped: 4
[22:09:02] Elapsed time: 25.940s total, 4.153s configuring, 21.667s building, 0.095s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[22:09:02] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:09:04] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[22:09:22] Starting KUnit Kernel (1/1)...
[22:09:22] ============================================================
[22:09:22] ============ drm_test_pick_cmdline (2 subtests) ============
[22:09:22] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[22:09:22] =============== drm_test_pick_cmdline_named  ===============
[22:09:22] [PASSED] NTSC
[22:09:22] [PASSED] NTSC-J
[22:09:22] [PASSED] PAL
[22:09:22] [PASSED] PAL-M
[22:09:22] =========== [PASSED] drm_test_pick_cmdline_named ===========
[22:09:22] ============== [PASSED] drm_test_pick_cmdline ==============
[22:09:22] ================== drm_buddy (6 subtests) ==================
[22:09:22] [PASSED] drm_test_buddy_alloc_limit
[22:09:22] [PASSED] drm_test_buddy_alloc_range
[22:09:22] [PASSED] drm_test_buddy_alloc_optimistic
[22:09:22] [PASSED] drm_test_buddy_alloc_pessimistic
[22:09:22] [PASSED] drm_test_buddy_alloc_smoke
[22:09:22] [PASSED] drm_test_buddy_alloc_pathological
[22:09:22] ==================== [PASSED] drm_buddy ====================
[22:09:22] ============= drm_cmdline_parser (40 subtests) =============
[22:09:22] [PASSED] drm_test_cmdline_force_d_only
[22:09:22] [PASSED] drm_test_cmdline_force_D_only_dvi
[22:09:22] [PASSED] drm_test_cmdline_force_D_only_hdmi
[22:09:22] [PASSED] drm_test_cmdline_force_D_only_not_digital
[22:09:22] [PASSED] drm_test_cmdline_force_e_only
[22:09:22] [PASSED] drm_test_cmdline_res
[22:09:22] [PASSED] drm_test_cmdline_res_vesa
[22:09:22] [PASSED] drm_test_cmdline_res_vesa_rblank
[22:09:22] [PASSED] drm_test_cmdline_res_rblank
[22:09:22] [PASSED] drm_test_cmdline_res_bpp
[22:09:22] [PASSED] drm_test_cmdline_res_refresh
[22:09:22] [PASSED] drm_test_cmdline_res_bpp_refresh
[22:09:22] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[22:09:22] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[22:09:22] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[22:09:22] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[22:09:22] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[22:09:22] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[22:09:22] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[22:09:22] [PASSED] drm_test_cmdline_res_margins_force_on
[22:09:22] [PASSED] drm_test_cmdline_res_vesa_margins
[22:09:22] [PASSED] drm_test_cmdline_name
[22:09:22] [PASSED] drm_test_cmdline_name_bpp
[22:09:22] [PASSED] drm_test_cmdline_name_option
[22:09:22] [PASSED] drm_test_cmdline_name_bpp_option
[22:09:22] [PASSED] drm_test_cmdline_rotate_0
[22:09:22] [PASSED] drm_test_cmdline_rotate_90
[22:09:22] [PASSED] drm_test_cmdline_rotate_180
[22:09:22] [PASSED] drm_test_cmdline_rotate_270
[22:09:22] [PASSED] drm_test_cmdline_hmirror
[22:09:22] [PASSED] drm_test_cmdline_vmirror
[22:09:22] [PASSED] drm_test_cmdline_margin_options
[22:09:22] [PASSED] drm_test_cmdline_multiple_options
[22:09:22] [PASSED] drm_test_cmdline_bpp_extra_and_option
[22:09:22] [PASSED] drm_test_cmdline_extra_and_option
[22:09:22] [PASSED] drm_test_cmdline_freestanding_options
[22:09:22] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[22:09:22] [PASSED] drm_test_cmdline_panel_orientation
[22:09:22] ================ drm_test_cmdline_invalid  =================
[22:09:22] [PASSED] margin_only
[22:09:22] [PASSED] interlace_only
[22:09:22] [PASSED] res_missing_x
[22:09:22] [PASSED] res_missing_y
[22:09:22] [PASSED] res_bad_y
[22:09:22] [PASSED] res_missing_y_bpp
[22:09:22] [PASSED] res_bad_bpp
[22:09:22] [PASSED] res_bad_refresh
[22:09:22] [PASSED] res_bpp_refresh_force_on_off
[22:09:22] [PASSED] res_invalid_mode
[22:09:22] [PASSED] res_bpp_wrong_place_mode
[22:09:22] [PASSED] name_bpp_refresh
[22:09:22] [PASSED] name_refresh
[22:09:22] [PASSED] name_refresh_wrong_mode
[22:09:22] [PASSED] name_refresh_invalid_mode
[22:09:22] [PASSED] rotate_multiple
[22:09:22] [PASSED] rotate_invalid_val
[22:09:22] [PASSED] rotate_truncated
[22:09:22] [PASSED] invalid_option
[22:09:22] [PASSED] invalid_tv_option
[22:09:22] [PASSED] truncated_tv_option
[22:09:22] ============ [PASSED] drm_test_cmdline_invalid =============
[22:09:22] =============== drm_test_cmdline_tv_options  ===============
[22:09:22] [PASSED] NTSC
[22:09:22] [PASSED] NTSC_443
[22:09:22] [PASSED] NTSC_J
[22:09:22] [PASSED] PAL
[22:09:22] [PASSED] PAL_M
[22:09:22] [PASSED] PAL_N
[22:09:22] [PASSED] SECAM
[22:09:22] =========== [PASSED] drm_test_cmdline_tv_options ===========
[22:09:22] =============== [PASSED] drm_cmdline_parser ================
[22:09:22] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[22:09:22] ========== drm_test_get_tv_mode_from_name_valid  ===========
[22:09:22] [PASSED] NTSC
[22:09:22] [PASSED] NTSC-443
[22:09:22] [PASSED] NTSC-J
[22:09:22] [PASSED] PAL
[22:09:22] [PASSED] PAL-M
[22:09:22] [PASSED] PAL-N
[22:09:22] [PASSED] SECAM
[22:09:22] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[22:09:22] [PASSED] drm_test_get_tv_mode_from_name_truncated
[22:09:22] ============ [PASSED] drm_get_tv_mode_from_name ============
[22:09:22] ============= drm_damage_helper (21 subtests) ==============
[22:09:22] [PASSED] drm_test_damage_iter_no_damage
[22:09:22] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[22:09:22] [PASSED] drm_test_damage_iter_no_damage_src_moved
[22:09:22] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[22:09:22] [PASSED] drm_test_damage_iter_no_damage_not_visible
[22:09:22] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[22:09:22] [PASSED] drm_test_damage_iter_no_damage_no_fb
[22:09:22] [PASSED] drm_test_damage_iter_simple_damage
[22:09:22] [PASSED] drm_test_damage_iter_single_damage
[22:09:22] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[22:09:22] [PASSED] drm_test_damage_iter_single_damage_outside_src
[22:09:22] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[22:09:22] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[22:09:22] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[22:09:22] [PASSED] drm_test_damage_iter_single_damage_src_moved
[22:09:22] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[22:09:22] [PASSED] drm_test_damage_iter_damage
[22:09:22] [PASSED] drm_test_damage_iter_damage_one_intersect
[22:09:22] [PASSED] drm_test_damage_iter_damage_one_outside
[22:09:22] [PASSED] drm_test_damage_iter_damage_src_moved
[22:09:22] [PASSED] drm_test_damage_iter_damage_not_visible
[22:09:22] ================ [PASSED] drm_damage_helper ================
[22:09:22] ============== drm_dp_mst_helper (2 subtests) ==============
[22:09:22] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[22:09:22] [PASSED] Clock 154000 BPP 30 DSC disabled
[22:09:22] [PASSED] Clock 234000 BPP 30 DSC disabled
[22:09:22] [PASSED] Clock 297000 BPP 24 DSC disabled
[22:09:22] [PASSED] Clock 332880 BPP 24 DSC enabled
[22:09:22] [PASSED] Clock 324540 BPP 24 DSC enabled
[22:09:22] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[22:09:22] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[22:09:22] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[22:09:22] [PASSED] DP_POWER_UP_PHY with port number
[22:09:22] [PASSED] DP_POWER_DOWN_PHY with port number
[22:09:22] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[22:09:22] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[22:09:22] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[22:09:22] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[22:09:22] [PASSED] DP_QUERY_PAYLOAD with port number
[22:09:22] [PASSED] DP_QUERY_PAYLOAD with VCPI
[22:09:22] [PASSED] DP_REMOTE_DPCD_READ with port number
[22:09:22] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[22:09:22] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[22:09:22] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[22:09:22] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[22:09:22] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[22:09:22] [PASSED] DP_REMOTE_I2C_READ with port number
[22:09:22] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[22:09:22] [PASSED] DP_REMOTE_I2C_READ with transactions array
[22:09:22] [PASSED] DP_REMOTE_I2C_WRITE with port number
[22:09:22] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[22:09:22] [PASSED] DP_REMOTE_I2C_WRITE with data array
[22:09:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[22:09:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[22:09:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[22:09:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[22:09:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[22:09:22] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[22:09:22] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[22:09:22] ================ [PASSED] drm_dp_mst_helper ================
[22:09:22] =========== drm_format_helper_test (10 subtests) ===========
[22:09:22] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[22:09:22] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[22:09:22] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[22:09:22] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[22:09:22] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[22:09:22] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[22:09:22] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[22:09:22] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[22:09:22] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[22:09:22] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[22:09:22] [PASSED] single_pixel_source_buffer
[22:09:22] [PASSED] single_pixel_clip_rectangle
[22:09:22] [PASSED] well_known_colors
[22:09:22] [PASSED] destination_pitch
[22:09:22] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[22:09:22] ============= [PASSED] drm_format_helper_test ==============
[22:09:22] ================= drm_format (18 subtests) =================
[22:09:22] [PASSED] drm_test_format_block_width_invalid
[22:09:22] [PASSED] drm_test_format_block_width_one_plane
[22:09:22] [PASSED] drm_test_format_block_width_two_plane
[22:09:22] [PASSED] drm_test_format_block_width_three_plane
[22:09:22] [PASSED] drm_test_format_block_width_tiled
[22:09:22] [PASSED] drm_test_format_block_height_invalid
[22:09:22] [PASSED] drm_test_format_block_height_one_plane
[22:09:22] [PASSED] drm_test_format_block_height_two_plane
[22:09:22] [PASSED] drm_test_format_block_height_three_plane
[22:09:22] [PASSED] drm_test_format_block_height_tiled
[22:09:22] [PASSED] drm_test_format_min_pitch_invalid
[22:09:22] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[22:09:22] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[22:09:22] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[22:09:22] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[22:09:22] [PASSED] drm_test_format_min_pitch_two_plane
[22:09:22] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[22:09:22] [PASSED] drm_test_format_min_pitch_tiled
[22:09:22] =================== [PASSED] drm_format ====================
[22:09:22] =============== drm_framebuffer (1 subtest) ================
[22:09:22] =============== drm_test_framebuffer_create  ===============
[22:09:22] [PASSED] ABGR8888 normal sizes
[22:09:22] [PASSED] ABGR8888 max sizes
[22:09:22] [PASSED] ABGR8888 pitch greater than min required
[22:09:22] [PASSED] ABGR8888 pitch less than min required
[22:09:22] [PASSED] ABGR8888 Invalid width
[22:09:22] [PASSED] ABGR8888 Invalid buffer handle
[22:09:22] [PASSED] No pixel format
[22:09:22] [PASSED] ABGR8888 Width 0
[22:09:22] [PASSED] ABGR8888 Height 0
[22:09:22] [PASSED] ABGR8888 Out of bound height * pitch combination
[22:09:22] [PASSED] ABGR8888 Large buffer offset
[22:09:22] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[22:09:22] [PASSED] ABGR8888 Valid buffer modifier
[22:09:22] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[22:09:22] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[22:09:22] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[22:09:22] [PASSED] NV12 Normal sizes
[22:09:22] [PASSED] NV12 Max sizes
[22:09:22] [PASSED] NV12 Invalid pitch
[22:09:22] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[22:09:22] [PASSED] NV12 different  modifier per-plane
[22:09:22] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[22:09:22] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[22:09:22] [PASSED] NV12 Modifier for inexistent plane
[22:09:22] [PASSED] NV12 Handle for inexistent plane
[22:09:22] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[22:09:22] [PASSED] YVU420 Normal sizes
[22:09:22] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[22:09:22] [PASSED] YVU420 Max sizes
[22:09:22] [PASSED] YVU420 Invalid pitch
[22:09:22] [PASSED] YVU420 Different pitches
[22:09:22] [PASSED] YVU420 Different buffer offsets/pitches
[22:09:22] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[22:09:22] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[22:09:22] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[22:09:22] [PASSED] YVU420 Valid modifier
[22:09:22] [PASSED] YVU420 Different modifiers per plane
[22:09:22] [PASSED] YVU420 Modifier for inexistent plane
[22:09:22] [PASSED] X0L2 Normal sizes
[22:09:22] [PASSED] X0L2 Max sizes
[22:09:22] [PASSED] X0L2 Invalid pitch
[22:09:22] [PASSED] X0L2 Pitch greater than minimum required
[22:09:22] [PASSED] X0L2 Handle for inexistent plane
[22:09:22] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[22:09:22] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[22:09:22] [PASSED] X0L2 Valid modifier
[22:09:22] [PASSED] X0L2 Modifier for inexistent plane
stty: 'standard input': Inappropriate ioctl for device
[22:09:22] =========== [PASSED] drm_test_framebuffer_create ===========
[22:09:22] ================= [PASSED] drm_framebuffer =================
[22:09:22] =============== drm-test-managed (1 subtest) ===============
[22:09:22] [PASSED] drm_test_managed_run_action
[22:09:22] ================ [PASSED] drm-test-managed =================
[22:09:22] =================== drm_mm (19 subtests) ===================
[22:09:22] [PASSED] drm_test_mm_init
[22:09:22] [PASSED] drm_test_mm_debug
[22:09:32] [PASSED] drm_test_mm_reserve
[22:09:42] [PASSED] drm_test_mm_insert
[22:09:43] [PASSED] drm_test_mm_replace
[22:09:43] [PASSED] drm_test_mm_insert_range
[22:09:43] [PASSED] drm_test_mm_frag
[22:09:43] [PASSED] drm_test_mm_align
[22:09:43] [PASSED] drm_test_mm_align32
[22:09:43] [PASSED] drm_test_mm_align64
[22:09:43] [PASSED] drm_test_mm_evict
[22:09:43] [PASSED] drm_test_mm_evict_range
[22:09:43] [PASSED] drm_test_mm_topdown
[22:09:43] [PASSED] drm_test_mm_bottomup
[22:09:43] [PASSED] drm_test_mm_lowest
[22:09:43] [PASSED] drm_test_mm_highest
[22:09:44] [PASSED] drm_test_mm_color
[22:09:45] [PASSED] drm_test_mm_color_evict
[22:09:45] [PASSED] drm_test_mm_color_evict_range
[22:09:45] ===================== [PASSED] drm_mm ======================
[22:09:45] ============= drm_modes_analog_tv (4 subtests) =============
[22:09:45] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[22:09:45] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[22:09:45] [PASSED] drm_test_modes_analog_tv_pal_576i
[22:09:45] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[22:09:45] =============== [PASSED] drm_modes_analog_tv ===============
[22:09:45] ============== drm_plane_helper (2 subtests) ===============
[22:09:45] =============== drm_test_check_plane_state  ================
[22:09:45] [PASSED] clipping_simple
[22:09:45] [PASSED] clipping_rotate_reflect
[22:09:45] [PASSED] positioning_simple
[22:09:45] [PASSED] upscaling
[22:09:45] [PASSED] downscaling
[22:09:45] [PASSED] rounding1
[22:09:45] [PASSED] rounding2
[22:09:45] [PASSED] rounding3
[22:09:45] [PASSED] rounding4
[22:09:45] =========== [PASSED] drm_test_check_plane_state ============
[22:09:45] =========== drm_test_check_invalid_plane_state  ============
[22:09:45] [PASSED] positioning_invalid
[22:09:45] [PASSED] upscaling_invalid
[22:09:45] [PASSED] downscaling_invalid
[22:09:45] ======= [PASSED] drm_test_check_invalid_plane_state ========
[22:09:45] ================ [PASSED] drm_plane_helper =================
[22:09:45] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[22:09:45] ====== drm_test_connector_helper_tv_get_modes_check  =======
[22:09:45] [PASSED] None
[22:09:45] [PASSED] PAL
[22:09:45] [PASSED] NTSC
[22:09:45] [PASSED] Both, NTSC Default
[22:09:45] [PASSED] Both, PAL Default
[22:09:45] [PASSED] Both, NTSC Default, with PAL on command-line
[22:09:45] [PASSED] Both, PAL Default, with NTSC on command-line
[22:09:45] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[22:09:45] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[22:09:45] ================== drm_rect (4 subtests) ===================
[22:09:45] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[22:09:45] [PASSED] drm_test_rect_clip_scaled_not_clipped
[22:09:45] [PASSED] drm_test_rect_clip_scaled_clipped
[22:09:45] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[22:09:45] ==================== [PASSED] drm_rect =====================
[22:09:45] ============================================================
[22:09:45] Testing complete. Ran 290 tests: passed: 290
[22:09:45] Elapsed time: 42.404s total, 1.642s configuring, 18.283s building, 22.446s running

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



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

* [Intel-xe] ✓ CI.Build: success for Unit tests for rtp and GT wa/tuning
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
                   ` (8 preceding siblings ...)
  2023-03-21 22:09 ` [Intel-xe] ✓ CI.KUnit: " Patchwork
@ 2023-03-21 22:13 ` Patchwork
  2023-03-21 22:25 ` [Intel-xe] ○ CI.BAT: info " Patchwork
  10 siblings, 0 replies; 30+ messages in thread
From: Patchwork @ 2023-03-21 22:13 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: Unit tests for rtp and GT wa/tuning
URL   : https://patchwork.freedesktop.org/series/115463/
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:1679436596:build_x86_64[collapsed=true]\r\e[0KBuild x86-64'
+ mkdir -p build64
^[[0Ksection_start:1679436596:build_x86_64[collapsed=true]
^[[0KBuild x86-64
+ cat .ci/kernel/kconfig
+ make O=build64 olddefconfig
make[1]: Entering directory '/kernel/build64'
  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'
++ nproc
+ make O=build64 -j48
make[1]: Entering directory '/kernel/build64'
  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
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctls.h
  WRAP    arch/x86/include/generated/uapi/asm/ipcbuf.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/param.h
  WRAP    arch/x86/include/generated/uapi/asm/poll.h
  SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
  WRAP    arch/x86/include/generated/uapi/asm/resource.h
  SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
  WRAP    arch/x86/include/generated/uapi/asm/socket.h
  WRAP    arch/x86/include/generated/uapi/asm/sockios.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_64.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
  UPD     include/generated/uapi/linux/version.h
  UPD     include/config/kernel.release
  HOSTCC  arch/x86/tools/relocs_32.o
  UPD     include/generated/compile.h
  HOSTCC  arch/x86/tools/relocs_64.o
  HOSTCC  arch/x86/tools/relocs_common.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
  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
  HOSTCC  scripts/unifdef
  UPD     include/generated/utsrelease.h
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  DESCEND objtool
  HOSTCC  /kernel/build64/tools/objtool/fixdep.o
  HOSTLD  /kernel/build64/tools/objtool/fixdep-in.o
  LINK    /kernel/build64/tools/objtool/fixdep
  CC      /kernel/build64/tools/objtool/exec-cmd.o
  CC      /kernel/build64/tools/objtool/weak.o
  CC      /kernel/build64/tools/objtool/help.o
  CC      /kernel/build64/tools/objtool/check.o
  CC      /kernel/build64/tools/objtool/pager.o
  CC      /kernel/build64/tools/objtool/parse-options.o
  CC      /kernel/build64/tools/objtool/special.o
  CC      /kernel/build64/tools/objtool/run-command.o
  CC      /kernel/build64/tools/objtool/builtin-check.o
  CC      /kernel/build64/tools/objtool/sigchain.o
  MKDIR   /kernel/build64/tools/objtool/arch/x86/
  CC      /kernel/build64/tools/objtool/elf.o
  CC      /kernel/build64/tools/objtool/subcmd-config.o
  CC      /kernel/build64/tools/objtool/objtool.o
  CC      /kernel/build64/tools/objtool/orc_gen.o
  MKDIR   /kernel/build64/tools/objtool/arch/x86/lib/
  CC      /kernel/build64/tools/objtool/orc_dump.o
  CC      /kernel/build64/tools/objtool/libstring.o
  CC      /kernel/build64/tools/objtool/libctype.o
  CC      /kernel/build64/tools/objtool/str_error_r.o
  CC      /kernel/build64/tools/objtool/arch/x86/special.o
  GEN     /kernel/build64/tools/objtool/arch/x86/lib/inat-tables.c
  CC      /kernel/build64/tools/objtool/librbtree.o
  HOSTLD  arch/x86/tools/relocs
  CC      /kernel/build64/tools/objtool/arch/x86/decode.o
  HDRINST usr/include/video/edid.h
  HDRINST usr/include/video/sisfb.h
  HDRINST usr/include/video/uvesafb.h
  HDRINST usr/include/drm/amdgpu_drm.h
  HDRINST usr/include/drm/i915_drm.h
  HDRINST usr/include/drm/vgem_drm.h
  HDRINST usr/include/drm/virtgpu_drm.h
  HDRINST usr/include/drm/xe_drm.h
  HDRINST usr/include/drm/omap_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/drm_sarea.h
  HDRINST usr/include/drm/v3d_drm.h
  HDRINST usr/include/drm/qxl_drm.h
  HDRINST usr/include/drm/drm_fourcc.h
  HDRINST usr/include/drm/nouveau_drm.h
  HDRINST usr/include/drm/habanalabs_accel.h
  HDRINST usr/include/drm/msm_drm.h
  HDRINST usr/include/drm/vmwgfx_drm.h
  HDRINST usr/include/drm/etnaviv_drm.h
  HDRINST usr/include/drm/vc4_drm.h
  CC      scripts/mod/empty.o
  HDRINST usr/include/drm/panfrost_drm.h
  HDRINST usr/include/drm/drm.h
  HOSTCC  scripts/mod/mk_elfconfig
  HDRINST usr/include/drm/lima_drm.h
  HDRINST usr/include/drm/armada_drm.h
  HDRINST usr/include/mtd/inftl-user.h
  CC      scripts/mod/devicetable-offsets.s
  HDRINST usr/include/mtd/nftl-user.h
  HDRINST usr/include/mtd/mtd-user.h
  HDRINST usr/include/mtd/ubi-user.h
  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/virtio_pmem.h
  HDRINST usr/include/linux/rkisp1-config.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
  UPD     scripts/mod/devicetable-offsets.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/if_pppol2tp.h
  HDRINST usr/include/linux/mmtimer.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/if_infiniband.h
  HDRINST usr/include/linux/serial.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
  MKELF   scripts/mod/elfconfig.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
  HOSTCC  scripts/mod/modpost.o
  HDRINST usr/include/linux/igmp.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  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/nf_log.h
  HDRINST usr/include/linux/netfilter/xt_tcpmss.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
  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/tipc_config.h
  HDRINST usr/include/linux/audit.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
  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
  HDRINST usr/include/linux/qrtr.h
  HDRINST usr/include/linux/screen_info.h
  HDRINST usr/include/linux/nfsacl.h
  HDRINST usr/include/linux/seg6_hmac.h
  HDRINST usr/include/linux/gameport.h
  HDRINST usr/include/linux/wireless.h
  HDRINST usr/include/linux/fdreg.h
  HDRINST usr/include/linux/cciss_defs.h
  HDRINST usr/include/linux/serial_reg.h
  HDRINST usr/include/linux/perf_event.h
  HDRINST usr/include/linux/in6.h
  HDRINST usr/include/linux/hid.h
  HDRINST usr/include/linux/netlink.h
  HDRINST usr/include/linux/fuse.h
  HDRINST usr/include/linux/magic.h
  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
  HDRINST usr/include/linux/idxd.h
  HDRINST usr/include/linux/nitro_enclaves.h
  HDRINST usr/include/linux/ptrace.h
  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/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
  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/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/xattr.h
  HDRINST usr/include/linux/iommufd.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/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/cm4000_cs.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/virtio_types.h
  HDRINST usr/include/linux/msdos_fs.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/virtio_snd.h
  HDRINST usr/include/linux/ppp-ioctl.h
  HDRINST usr/include/linux/meye.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/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/packet_diag.h
  HDRINST usr/include/linux/netfilter_ipv4.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
  LD      /kernel/build64/tools/objtool/libsubcmd-in.o
  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
  AR      /kernel/build64/tools/objtool/libsubcmd.a
  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/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/atmlec.h
  HDRINST usr/include/linux/signalfd.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/dlm_netlink.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/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/userfaultfd.h
  HDRINST usr/include/linux/netfilter_arp/arpt_mangle.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/asound_fm.h
  HDRINST usr/include/sound/snd_sst_tokens.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
  LD      /kernel/build64/tools/objtool/arch/x86/objtool-in.o
  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/unistd.h
  HDRINST usr/include/asm/ist.h
  HDRINST usr/include/asm/ptrace.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/vm86.h
  HDRINST usr/include/asm/ptrace-abi.h
  HDRINST usr/include/asm/vmx.h
  HDRINST usr/include/asm/ldt.h
  HDRINST usr/include/asm/perf_regs.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/resource.h
  HDRINST usr/include/asm/param.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
  CHKSHA1 ../include/linux/atomic/atomic-arch-fallback.h
  CC      kernel/bounds.s
  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
  UPD     include/generated/asm-offsets.h
  CALL    ../scripts/checksyscalls.sh
  LD      /kernel/build64/tools/objtool/objtool-in.o
  LINK    /kernel/build64/tools/objtool/objtool
  LDS     scripts/module.lds
  CC      ipc/compat.o
  CC      ipc/util.o
  AR      certs/built-in.a
  CC      ipc/msgutil.o
  CC      ipc/msg.o
  CC      ipc/sem.o
  CC      init/main.o
  HOSTCC  usr/gen_init_cpio
  CC      block/bdev.o
  CC      ipc/shm.o
  CC      io_uring/io_uring.o
  AR      arch/x86/video/built-in.a
  CC      block/fops.o
  CC      init/do_mounts.o
  CC      ipc/syscall.o
  UPD     init/utsversion-tmp.h
  CC      io_uring/xattr.o
  CC      block/bio.o
  CC      ipc/ipc_sysctl.o
  AS      arch/x86/lib/clear_page_64.o
  CC      io_uring/nop.o
  CC [M]  arch/x86/video/fbdev.o
  CC      ipc/mqueue.o
  CC      init/do_mounts_initrd.o
  CC      security/commoncap.o
  CC      arch/x86/pci/i386.o
  CC      block/partitions/core.o
  CC      arch/x86/power/cpu.o
  CC      ipc/namespace.o
  AR      virt/lib/built-in.a
  AS      arch/x86/crypto/aesni-intel_asm.o
  AR      arch/x86/ia32/built-in.a
  CC      security/keys/gc.o
  AR      sound/i2c/other/built-in.a
  CC      arch/x86/realmode/init.o
  CC      arch/x86/mm/pat/set_memory.o
  CC [M]  virt/lib/irqbypass.o
  AR      drivers/irqchip/built-in.a
  CC      fs/notify/dnotify/dnotify.o
  CC      arch/x86/mm/pat/memtype.o
  CC      sound/core/seq/seq.o
  CC      arch/x86/events/amd/core.o
  AR      sound/i2c/built-in.a
  CC      arch/x86/kernel/fpu/init.o
  AR      sound/drivers/opl3/built-in.a
  CC      net/core/sock.o
  AR      sound/isa/ad1816a/built-in.a
  CC      arch/x86/kernel/fpu/bugs.o
  AR      arch/x86/platform/atom/built-in.a
  CC      arch/x86/kernel/fpu/core.o
  AR      sound/drivers/opl4/built-in.a
  AR      drivers/bus/mhi/host/built-in.a
  AR      arch/x86/platform/ce4100/built-in.a
  CC      lib/kunit/test.o
  CC      arch/x86/lib/cmdline.o
  AR      sound/isa/ad1848/built-in.a
  CC      arch/x86/entry/vdso/vma.o
  AR      drivers/bus/mhi/ep/built-in.a
  AR      sound/drivers/mpu401/built-in.a
  CC      arch/x86/platform/efi/memmap.o
  AR      drivers/bus/mhi/built-in.a
  CC      mm/kasan/common.o
  AR      sound/isa/cs423x/built-in.a
  CC      kernel/sched/core.o
  AR      sound/drivers/vx/built-in.a
  CC      arch/x86/crypto/aesni-intel_glue.o
  AR      drivers/bus/built-in.a
  AR      sound/isa/es1688/built-in.a
  AR      sound/drivers/pcsp/built-in.a
  CC      crypto/api.o
  AR      sound/drivers/built-in.a
  AR      sound/isa/galaxy/built-in.a
  AR      drivers/phy/allwinner/built-in.a
  AR      sound/isa/gus/built-in.a
  CC      arch/x86/entry/vdso/extable.o
  AR      drivers/phy/amlogic/built-in.a
  AR      sound/isa/msnd/built-in.a
  AR      drivers/phy/broadcom/built-in.a
  AR      sound/isa/opti9xx/built-in.a
  AR      drivers/phy/cadence/built-in.a
  AR      sound/isa/sb/built-in.a
  AR      drivers/phy/freescale/built-in.a
  AR      sound/isa/wavefront/built-in.a
  AR      drivers/phy/hisilicon/built-in.a
  AR      sound/isa/wss/built-in.a
  AR      drivers/phy/ingenic/built-in.a
  AR      sound/isa/built-in.a
  AS      arch/x86/lib/cmpxchg16b_emu.o
  AR      drivers/phy/intel/built-in.a
  CC      arch/x86/entry/vdso/vdso32-setup.o
  CC      mm/kasan/report.o
  AR      drivers/phy/lantiq/built-in.a
  CC      arch/x86/lib/copy_mc.o
  AR      drivers/phy/marvell/built-in.a
  AR      drivers/phy/mediatek/built-in.a
  AR      drivers/phy/microchip/built-in.a
  AR      drivers/phy/motorola/built-in.a
  AR      drivers/phy/mscc/built-in.a
  AR      drivers/phy/qualcomm/built-in.a
  AR      drivers/phy/ralink/built-in.a
  GEN     usr/initramfs_data.cpio
  AR      drivers/phy/renesas/built-in.a
  COPY    usr/initramfs_inc_data
  AS      usr/initramfs_data.o
  AR      drivers/phy/rockchip/built-in.a
  AR      drivers/phy/samsung/built-in.a
  AR      drivers/phy/socionext/built-in.a
  AR      usr/built-in.a
  AR      drivers/phy/st/built-in.a
  CC      arch/x86/mm/init.o
  AR      drivers/phy/sunplus/built-in.a
  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
  LDS     arch/x86/entry/vdso/vdso.lds
  AS      arch/x86/entry/vdso/vdso-note.o
  AR      virt/built-in.a
  CC      arch/x86/entry/vdso/vclock_gettime.o
  CC      fs/nfs_common/grace.o
  AS      arch/x86/lib/copy_mc_64.o
  AS      arch/x86/lib/copy_page_64.o
  CC      sound/core/seq/seq_lock.o
  AS      arch/x86/lib/copy_user_64.o
  CC      ipc/mq_sysctl.o
  CC      sound/core/seq/seq_clientmgr.o
  CC      mm/kasan/init.o
  CC      mm/kasan/generic.o
  AS      arch/x86/realmode/rm/header.o
  CC      arch/x86/lib/cpu.o
  AS      arch/x86/realmode/rm/trampoline_64.o
  CC      mm/kasan/report_generic.o
  CC      arch/x86/events/amd/lbr.o
  CC      arch/x86/entry/vsyscall/vsyscall_64.o
  AS      arch/x86/realmode/rm/stack.o
  CC      security/keys/key.o
  AS      arch/x86/realmode/rm/reboot.o
  CC      arch/x86/pci/init.o
  CC      init/initramfs.o
  AS      arch/x86/realmode/rm/wakeup_asm.o
  CC      security/keys/keyring.o
  AR      fs/notify/dnotify/built-in.a
  CC      fs/notify/inotify/inotify_fsnotify.o
  CC      arch/x86/realmode/rm/wakemain.o
  CC      fs/notify/inotify/inotify_user.o
  CC      io_uring/fs.o
  CC      lib/kunit/resource.o
  CC      arch/x86/platform/efi/quirks.o
  CC      crypto/cipher.o
  CC      arch/x86/realmode/rm/video-mode.o
  CC      arch/x86/power/hibernate_64.o
  CC      crypto/compress.o
  CC      lib/math/div64.o
  CC      net/llc/llc_core.o
  CC      net/llc/llc_input.o
  CC      block/partitions/ldm.o
  CC      lib/math/gcd.o
  AS      arch/x86/realmode/rm/copy.o
  CC      net/core/request_sock.o
  CC      lib/math/lcm.o
  AS      arch/x86/realmode/rm/bioscall.o
  CC      arch/x86/realmode/rm/regs.o
  CC      arch/x86/lib/delay.o
  CC      arch/x86/entry/vdso/vgetcpu.o
  CC      net/core/skbuff.o
  CC      block/partitions/msdos.o
  CC      net/core/datagram.o
  CC      arch/x86/realmode/rm/video-vga.o
  CC      lib/math/int_pow.o
  AS      arch/x86/crypto/aesni-intel_avx-x86_64.o
  CC      arch/x86/realmode/rm/video-vesa.o
  CC      lib/math/int_sqrt.o
  AS      arch/x86/entry/vsyscall/vsyscall_emu_64.o
  CC      net/llc/llc_output.o
  CC      arch/x86/events/intel/core.o
  CC      arch/x86/realmode/rm/video-bios.o
  CC      lib/math/reciprocal_div.o
  CC      arch/x86/events/intel/bts.o
  CC      lib/math/rational.o
  AR      fs/nfs_common/built-in.a
  CC      fs/iomap/trace.o
  CC      arch/x86/events/intel/ds.o
  CC      lib/kunit/string-stream.o
  PASYMS  arch/x86/realmode/rm/pasyms.h
  CC [M]  lib/math/prime_numbers.o
  LDS     arch/x86/realmode/rm/realmode.lds
  CC      lib/kunit/assert.o
  CC      arch/x86/pci/mmconfig_64.o
  CC      crypto/algapi.o
  LD      arch/x86/realmode/rm/realmode.elf
  CC      sound/core/sound.o
  RELOCS  arch/x86/realmode/rm/realmode.relocs
  CC      arch/x86/events/amd/ibs.o
  OBJCOPY arch/x86/realmode/rm/realmode.bin
  AS      arch/x86/realmode/rmpiggy.o
  AS      arch/x86/lib/getuser.o
  CC      arch/x86/kernel/fpu/regset.o
  AR      arch/x86/realmode/built-in.a
  AR      arch/x86/platform/geode/built-in.a
  GEN     arch/x86/lib/inat-tables.c
  CC      arch/x86/pci/direct.o
  AS      arch/x86/crypto/aes_ctrby8_avx-x86_64.o
  HOSTCC  arch/x86/entry/vdso/vdso2c
  CC      mm/filemap.o
  CC      arch/x86/lib/insn-eval.o
  AR      drivers/phy/built-in.a
  CC      arch/x86/events/amd/uncore.o
  CC      mm/kasan/shadow.o
  AR      drivers/pinctrl/actions/built-in.a
  AR      drivers/pinctrl/bcm/built-in.a
  CC      block/partitions/efi.o
  CC      arch/x86/mm/pat/memtype_interval.o
  AR      drivers/pinctrl/cirrus/built-in.a
  AR      drivers/pinctrl/freescale/built-in.a
  AS [M]  arch/x86/crypto/ghash-clmulni-intel_asm.o
  AR      arch/x86/entry/vsyscall/built-in.a
  CC      drivers/pinctrl/intel/pinctrl-baytrail.o
  CC      drivers/pinctrl/intel/pinctrl-intel.o
  AR      arch/x86/net/built-in.a
  AR      fs/quota/built-in.a
  CC [M]  arch/x86/crypto/ghash-clmulni-intel_glue.o
  AS      arch/x86/power/hibernate_asm_64.o
  CC      security/min_addr.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/kvm_main.o
  CC      init/calibrate.o
  CC      arch/x86/power/hibernate.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/eventfd.o
  CC [M]  drivers/pinctrl/intel/pinctrl-cherryview.o
  CC      arch/x86/pci/mmconfig-shared.o
  CC      arch/x86/platform/efi/efi.o
  LDS     arch/x86/entry/vdso/vdso32/vdso32.lds
  CC      arch/x86/mm/init_64.o
  AR      sound/pci/ac97/built-in.a
  AS      arch/x86/entry/vdso/vdso32/note.o
  CC      drivers/gpio/gpiolib.o
  AR      sound/pci/ali5451/built-in.a
  CC      drivers/gpio/gpiolib-devres.o
  AR      sound/pci/asihpi/built-in.a
  CC      fs/proc/task_mmu.o
  AS      arch/x86/entry/vdso/vdso32/system_call.o
  CC      lib/kunit/try-catch.o
  AR      sound/pci/au88x0/built-in.a
  AR      fs/notify/inotify/built-in.a
  AR      sound/pci/aw2/built-in.a
  AR      sound/pci/ctxfi/built-in.a
  CC      fs/notify/fanotify/fanotify.o
  AS      arch/x86/entry/vdso/vdso32/sigreturn.o
  AR      sound/pci/ca0106/built-in.a
  AR      lib/math/built-in.a
  CC      fs/notify/fsnotify.o
  AR      sound/pci/cs46xx/built-in.a
  AR      sound/pci/cs5535audio/built-in.a
  CC      arch/x86/entry/vdso/vdso32/vclock_gettime.o
  CC      fs/notify/fanotify/fanotify_user.o
  AR      sound/pci/lola/built-in.a
  AR      sound/pci/lx6464es/built-in.a
  AR      sound/pci/emu10k1/built-in.a
  AR      sound/pci/echoaudio/built-in.a
  CC      init/init_task.o
  CC      arch/x86/lib/insn.o
  AR      sound/pci/hda/built-in.a
  CC [M]  sound/pci/hda/hda_bind.o
  AR      net/llc/built-in.a
  CC      security/keys/keyctl.o
  CC      net/core/stream.o
  CC      net/ethernet/eth.o
  CC      arch/x86/events/zhaoxin/core.o
  CC      sound/core/seq/seq_memory.o
  AS [M]  arch/x86/crypto/crc32-pclmul_asm.o
  CC      sound/core/seq/seq_queue.o
  CC      arch/x86/events/core.o
  CC      mm/kasan/quarantine.o
  CC [M]  arch/x86/crypto/crc32-pclmul_glue.o
  CC      arch/x86/kernel/fpu/signal.o
  CC      arch/x86/events/probe.o
  CC      arch/x86/pci/fixup.o
  AR      arch/x86/mm/pat/built-in.a
  AR      ipc/built-in.a
  CC      arch/x86/mm/fault.o
  CC      sound/core/seq/seq_fifo.o
  CC      fs/iomap/iter.o
  CC      lib/kunit/executor.o
  AR      arch/x86/power/built-in.a
  CC      fs/iomap/buffered-io.o
  AS      arch/x86/lib/memcpy_64.o
  CC      fs/notify/notification.o
  CC      arch/x86/events/utils.o
  AS      arch/x86/lib/memmove_64.o
  CC      arch/x86/mm/ioremap.o
  AR      block/partitions/built-in.a
  AS      arch/x86/lib/memset_64.o
  CC      block/elevator.o
  CC      sound/core/seq/seq_prioq.o
  CC      arch/x86/lib/misc.o
  AR      arch/x86/events/amd/built-in.a
  CC      fs/iomap/direct-io.o
  CC      arch/x86/lib/pc-conf-reg.o
  CC [M]  sound/pci/hda/hda_codec.o
  CC      crypto/scatterwalk.o
  AS [M]  arch/x86/crypto/crct10dif-pcl-asm_64.o
  VDSO    arch/x86/entry/vdso/vdso64.so.dbg
  CC      security/keys/permission.o
  CC      arch/x86/platform/efi/efi_64.o
  VDSO    arch/x86/entry/vdso/vdso32.so.dbg
  AS      arch/x86/platform/efi/efi_stub_64.o
  CC [M]  arch/x86/crypto/crct10dif-pclmul_glue.o
  CC      init/version.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/entry/vdso/vdso-image-64.o
  CC [M]  drivers/pinctrl/intel/pinctrl-broxton.o
  CC      security/keys/process_keys.o
  AS      arch/x86/lib/putuser.o
  CC      net/core/scm.o
  AS      arch/x86/lib/retpoline.o
  CC      arch/x86/lib/usercopy.o
  AR      lib/kunit/built-in.a
  CC      lib/crypto/memneq.o
  AR      arch/x86/events/zhaoxin/built-in.a
  CC      net/core/gen_stats.o
  CC      lib/crypto/utils.o
  CC      arch/x86/kernel/cpu/mce/core.o
  CC      io_uring/splice.o
  AR      mm/kasan/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/mtrr.o
  CC      arch/x86/kernel/cpu/cacheinfo.o
  CC      lib/crypto/chacha.o
  CC      arch/x86/entry/vdso/vdso-image-32.o
  CC      arch/x86/kernel/cpu/mce/severity.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/binary_stats.o
  AR      init/built-in.a
  CC      arch/x86/kernel/cpu/mce/genpool.o
  CC      fs/notify/group.o
  LD [M]  arch/x86/crypto/ghash-clmulni-intel.o
  CC      arch/x86/events/rapl.o
  CC      arch/x86/events/intel/knc.o
  CC      arch/x86/pci/acpi.o
  CC      security/inode.o
  CC      arch/x86/kernel/fpu/xstate.o
  CC      arch/x86/pci/legacy.o
  CC      arch/x86/mm/extable.o
  LD [M]  arch/x86/crypto/crc32-pclmul.o
  CC      sound/core/seq/seq_timer.o
  LD [M]  arch/x86/crypto/crct10dif-pclmul.o
  AR      arch/x86/crypto/built-in.a
  AR      arch/x86/entry/vdso/built-in.a
  CC      arch/x86/kernel/cpu/mce/intel.o
  AS      arch/x86/entry/entry.o
  AS      arch/x86/entry/entry_64.o
  CC      net/core/gen_estimator.o
  CC      crypto/proc.o
  CC [M]  drivers/pinctrl/intel/pinctrl-geminilake.o
  CC      fs/proc/inode.o
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      arch/x86/entry/syscall_64.o
  CC      lib/crypto/aes.o
  CC      arch/x86/mm/mmap.o
  AR      net/ethernet/built-in.a
  CC      security/keys/request_key.o
  CC      crypto/aead.o
  CC      arch/x86/lib/usercopy_64.o
  AR      fs/notify/fanotify/built-in.a
  AR      arch/x86/platform/iris/built-in.a
  CC      arch/x86/platform/intel/iosf_mbi.o
  AR      arch/x86/platform/efi/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      fs/proc/root.o
  CC      arch/x86/pci/irq.o
  CC      crypto/geniv.o
  CC      block/blk-core.o
  CC      lib/crypto/gf128mul.o
  CC      net/802/p8022.o
  CC      lib/zlib_inflate/inffast.o
  CC      net/802/psnap.o
  CC      security/device_cgroup.o
  CC      net/802/stp.o
  CC      lib/zlib_inflate/inflate.o
  CC      crypto/skcipher.o
  CC      fs/notify/mark.o
  CC      fs/notify/fdinfo.o
  CC [M]  drivers/pinctrl/intel/pinctrl-sunrisepoint.o
  CC      security/keys/request_key_auth.o
  CC      lib/zlib_inflate/infutil.o
  CC      arch/x86/kernel/cpu/mce/threshold.o
  CC      lib/zlib_deflate/deflate.o
  CC      lib/lzo/lzo1x_compress.o
  CC      lib/lzo/lzo1x_decompress_safe.o
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  CC      sound/core/seq/seq_system.o
  CC      crypto/seqiv.o
  CC      net/sched/sch_generic.o
  CC      arch/x86/mm/pgtable.o
  CC      arch/x86/entry/common.o
  CC      arch/x86/lib/msr-smp.o
  CC      crypto/echainiv.o
  AR      arch/x86/platform/intel-mid/built-in.a
  CC      security/keys/user_defined.o
  CC      lib/zlib_deflate/deftree.o
  CC      arch/x86/events/intel/lbr.o
  CC      block/blk-sysfs.o
  CC      fs/proc/base.o
  CC      arch/x86/kernel/cpu/mce/apei.o
  AR      arch/x86/platform/intel/built-in.a
  AR      arch/x86/platform/intel-quark/built-in.a
  AR      arch/x86/platform/olpc/built-in.a
  CC      fs/proc/generic.o
  CC      lib/crypto/blake2s.o
  CC      fs/proc/array.o
  AR      arch/x86/platform/scx200/built-in.a
  AR      arch/x86/platform/ts5500/built-in.a
  CC      fs/proc/fd.o
  AR      arch/x86/platform/uv/built-in.a
  AR      arch/x86/platform/built-in.a
  CC      arch/x86/lib/cache-smp.o
  CC      lib/zlib_deflate/deflate_syms.o
  CC      crypto/ahash.o
  AR      drivers/pinctrl/intel/built-in.a
  AR      drivers/pinctrl/mediatek/built-in.a
  AR      drivers/pinctrl/mvebu/built-in.a
  AR      drivers/pinctrl/nomadik/built-in.a
  AR      drivers/pinctrl/nuvoton/built-in.a
  CC      lib/crypto/blake2s-generic.o
  CC      net/core/net_namespace.o
  AR      drivers/pinctrl/sprd/built-in.a
  AR      lib/lzo/built-in.a
  CC      arch/x86/events/intel/p4.o
  CC      lib/crypto/blake2s-selftest.o
  AR      drivers/pinctrl/sunplus/built-in.a
  CC      arch/x86/lib/msr.o
  AR      drivers/pinctrl/ti/built-in.a
  AR      arch/x86/kernel/fpu/built-in.a
  CC      drivers/pinctrl/core.o
  CC      crypto/shash.o
  CC      fs/iomap/fiemap.o
  AS      arch/x86/lib/msr-reg.o
  CC      sound/core/seq/seq_ports.o
  CC      lib/zlib_inflate/inftrees.o
  CC      arch/x86/lib/msr-reg-export.o
  CC      drivers/pinctrl/pinctrl-utils.o
  AR      drivers/pwm/built-in.a
  CC      sound/core/seq/seq_info.o
  CC      fs/iomap/seek.o
  AR      net/802/built-in.a
  CC      lib/zlib_inflate/inflate_syms.o
  CC      net/netlink/af_netlink.o
  CC      arch/x86/events/intel/p6.o
  CC      crypto/akcipher.o
  CC      security/keys/compat.o
  CC      drivers/gpio/gpiolib-legacy.o
  CC      drivers/gpio/gpiolib-cdev.o
  AR      net/bpf/built-in.a
  CC      net/netlink/genetlink.o
  CC      lib/crypto/des.o
  CC      net/netlink/policy.o
  CC      net/core/secure_seq.o
  AS      arch/x86/entry/thunk_64.o
  CC      arch/x86/kernel/cpu/scattered.o
  CC      arch/x86/events/msr.o
  AS      arch/x86/entry/entry_64_compat.o
  AR      lib/zlib_deflate/built-in.a
  AS      arch/x86/lib/hweight.o
  CC      arch/x86/entry/syscall_32.o
  AR      fs/notify/built-in.a
  CC      fs/iomap/swapfile.o
  CC      net/netlink/diag.o
  CC      arch/x86/pci/common.o
  CC      io_uring/sync.o
  AR      arch/x86/kernel/cpu/mce/built-in.a
  CC      drivers/gpio/gpiolib-sysfs.o
  CC [M]  sound/pci/hda/hda_jack.o
  AR      arch/x86/kernel/cpu/mtrr/built-in.a
  CC      lib/lz4/lz4_compress.o
  CC      arch/x86/mm/physaddr.o
  CC      mm/mempool.o
  AR      lib/zlib_inflate/built-in.a
  CC      lib/lz4/lz4hc_compress.o
  CC      lib/zstd/zstd_compress_module.o
  CC      crypto/kpp.o
  CC      lib/crypto/sha1.o
  CC      kernel/sched/fair.o
  CC      lib/lz4/lz4_decompress.o
  AR      sound/ppc/built-in.a
  CC      arch/x86/kernel/cpu/topology.o
  AR      sound/arm/built-in.a
  CC      lib/zstd/compress/fse_compress.o
  CC      fs/proc/proc_tty.o
  AR      sound/sh/built-in.a
  CC      drivers/pinctrl/pinmux.o
  CC      arch/x86/kernel/cpu/common.o
  AR      sound/synth/emux/built-in.a
  AR      sound/synth/built-in.a
  CC      block/blk-flush.o
  AR      sound/usb/misc/built-in.a
  CC      block/blk-settings.o
  AR      sound/usb/usx2y/built-in.a
  CC      arch/x86/lib/iomem.o
  AR      sound/usb/caiaq/built-in.a
  AR      sound/usb/6fire/built-in.a
  AR      sound/usb/hiface/built-in.a
  AR      sound/usb/bcd2000/built-in.a
  AR      sound/core/seq/built-in.a
  AR      sound/usb/built-in.a
  CC      sound/core/init.o
  CC      security/keys/proc.o
  CC      arch/x86/events/intel/pt.o
  CC      arch/x86/events/intel/uncore.o
  CC      drivers/pinctrl/pinconf.o
  CC      drivers/pinctrl/pinconf-generic.o
  CC      net/ethtool/ioctl.o
  AR      sound/firewire/built-in.a
  AR      arch/x86/entry/built-in.a
  AR      sound/sparc/built-in.a
  CC      lib/crypto/sha256.o
  CC      fs/proc/cmdline.o
  CC      net/ethtool/common.o
  AR      sound/spi/built-in.a
  CC      arch/x86/pci/early.o
  CC      arch/x86/events/intel/uncore_nhmex.o
  CC      arch/x86/mm/tlb.o
  CC      crypto/acompress.o
  AR      fs/iomap/built-in.a
  AR      sound/parisc/built-in.a
  CC      lib/zstd/compress/hist.o
  AR      sound/pcmcia/vx/built-in.a
  AR      sound/pcmcia/pdaudiocf/built-in.a
  AR      sound/pcmcia/built-in.a
  CC      lib/zstd/compress/huf_compress.o
  CC      drivers/gpio/gpiolib-acpi.o
  CC      io_uring/advise.o
  CC [M]  net/netfilter/ipvs/ip_vs_conn.o
  AR      net/ipv4/netfilter/built-in.a
  CC [M]  net/ipv4/netfilter/nf_defrag_ipv4.o
  CC [M]  net/netfilter/ipvs/ip_vs_core.o
  AS      arch/x86/lib/iomap_copy_64.o
  CC      net/ipv4/route.o
  CC      arch/x86/lib/inat.o
  CC      net/xfrm/xfrm_policy.o
  CC      arch/x86/pci/bus_numa.o
  CC      net/ethtool/netlink.o
  CC      mm/oom_kill.o
  CC      net/ipv4/inetpeer.o
  CC      net/xfrm/xfrm_state.o
  CC      net/ethtool/bitset.o
  AR      arch/x86/lib/built-in.a
  AR      arch/x86/lib/lib.a
  CC [M]  sound/pci/hda/hda_auto_parser.o
  CC      fs/proc/consoles.o
  CC      fs/proc/cpuinfo.o
  CC      arch/x86/events/intel/uncore_snb.o
  CC      fs/kernfs/mount.o
  CC      fs/kernfs/inode.o
  CC      fs/proc/devices.o
  CC [M]  lib/crypto/arc4.o
  CC      security/keys/sysctl.o
  AR      drivers/pinctrl/built-in.a
  CC      io_uring/filetable.o
  CC      block/blk-ioc.o
  CC      block/blk-map.o
  CC      net/sched/sch_mq.o
  AR      sound/pci/ice1712/built-in.a
  AR      sound/mips/built-in.a
  CC      mm/fadvise.o
  CC      kernel/locking/mutex.o
  CC      mm/maccess.o
  CC      net/core/flow_dissector.o
  CC      crypto/scompress.o
  CC      sound/core/memory.o
  CC      net/core/sysctl_net_core.o
  CC      net/sched/sch_frag.o
  CC      kernel/power/qos.o
  CC      lib/xz/xz_dec_syms.o
  AR      lib/crypto/built-in.a
  CC      arch/x86/pci/amd_bus.o
  LD [M]  lib/crypto/libarc4.o
  CC      net/sched/sch_api.o
  CC      lib/xz/xz_dec_stream.o
  CC      lib/xz/xz_dec_lzma2.o
  CC      net/sched/sch_blackhole.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/vfio.o
  AR      lib/lz4/built-in.a
  CC      lib/xz/xz_dec_bcj.o
  CC      arch/x86/mm/cpu_entry_area.o
  AR      security/keys/built-in.a
  AR      security/built-in.a
  CC      fs/proc/interrupts.o
  CC      arch/x86/events/intel/uncore_snbep.o
  CC      net/core/dev.o
  CC      arch/x86/mm/maccess.o
  CC      net/sched/sch_fifo.o
  CC      arch/x86/mm/pgprot.o
  CC      drivers/gpio/gpiolib-swnode.o
  CC [M]  net/ipv4/netfilter/nf_reject_ipv4.o
  CC      fs/kernfs/dir.o
  CC      sound/core/control.o
  CC      net/unix/af_unix.o
  CC      arch/x86/kernel/cpu/rdrand.o
  CC      kernel/locking/semaphore.o
  CC      fs/kernfs/file.o
  CC      net/ipv4/protocol.o
  CC      arch/x86/mm/hugetlbpage.o
  CC      arch/x86/kernel/cpu/match.o
  CC      arch/x86/events/intel/uncore_discovery.o
  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 [M]  sound/pci/hda/hda_sysfs.o
  CC      net/packet/af_packet.o
  CC      crypto/algboss.o
  CC      net/ipv6/af_inet6.o
  CC      net/packet/diag.o
  CC      lib/zstd/compress/zstd_compress.o
  CC      net/ipv6/anycast.o
  CC      net/ethtool/strset.o
  CC      block/blk-merge.o
  CC      fs/proc/loadavg.o
  CC      io_uring/openclose.o
  AR      arch/x86/pci/built-in.a
  CC      arch/x86/events/intel/cstate.o
  CC      sound/core/misc.o
  AR      drivers/gpio/built-in.a
  CC      net/ipv4/ip_input.o
  CC      drivers/pci/msi/pcidev_msi.o
  AR      lib/xz/built-in.a
  CC      net/ipv4/ip_fragment.o
  CC      drivers/pci/msi/api.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/coalesced_mmio.o
  CC      kernel/power/main.o
  CC      arch/x86/kernel/cpu/bugs.o
  CC      drivers/pci/pcie/portdrv.o
  CC      kernel/locking/rwsem.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/async_pf.o
  CC      drivers/pci/pcie/rcec.o
  AR      net/netlink/built-in.a
  CC      io_uring/uring_cmd.o
  CC      fs/proc/meminfo.o
  CC      drivers/video/console/dummycon.o
  CC [M]  sound/pci/hda/hda_controller.o
  CC      mm/page-writeback.o
  CC      arch/x86/mm/kasan_init_64.o
  CC      drivers/video/console/vgacon.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/irqchip.o
  CC      drivers/pci/msi/msi.o
  CC      sound/core/device.o
  CC [M]  net/netfilter/ipvs/ip_vs_ctl.o
  CC      sound/core/info.o
  CC      crypto/testmgr.o
  CC      fs/proc/stat.o
  CC      sound/core/isadma.o
  CC      fs/kernfs/symlink.o
  CC      net/unix/garbage.o
  CC      net/unix/sysctl_net_unix.o
  CC [M]  net/ipv4/netfilter/ip_tables.o
  CC [M]  net/ipv4/netfilter/iptable_filter.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/dirty_ring.o
  CC      net/ipv4/ip_forward.o
  CC      net/ethtool/linkinfo.o
  CC [M]  net/netfilter/ipvs/ip_vs_sched.o
  CC      drivers/pci/pcie/aspm.o
  CC      drivers/pci/msi/irqdomain.o
  CC      kernel/power/console.o
  CC      drivers/idle/intel_idle.o
  CC      kernel/printk/printk.o
  CC      net/key/af_key.o
  CC      drivers/pci/hotplug/pci_hotplug_core.o
  CC      kernel/printk/printk_safe.o
  LD [M]  net/ipv6/netfilter/nf_defrag_ipv6.o
  AR      net/bridge/netfilter/built-in.a
  CC      arch/x86/mm/pkeys.o
  CC      mm/folio-compat.o
  CC      net/bridge/br.o
  CC      mm/readahead.o
  CC      net/ipv4/ip_options.o
  CC      net/bridge/br_device.o
  AR      fs/kernfs/built-in.a
  CC      net/ipv4/ip_output.o
  AR      net/sched/built-in.a
  CC      fs/proc/uptime.o
  CC      kernel/irq/irqdesc.o
  CC      io_uring/epoll.o
  CC      block/blk-timeout.o
  CC      net/ipv6/ip6_output.o
  CC      kernel/irq/handle.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/pfncache.o
  CC      arch/x86/kernel/cpu/aperfmperf.o
  AR      drivers/video/console/built-in.a
  CC      sound/core/vmaster.o
  CC      drivers/video/logo/logo.o
  CC [M]  arch/x86/kvm/x86.o
  AR      arch/x86/events/intel/built-in.a
  AR      arch/x86/events/built-in.a
  CC [M]  arch/x86/kvm/emulate.o
  CC      kernel/locking/percpu-rwsem.o
  CC      net/ipv4/ip_sockglue.o
  CC      net/ipv6/ip6_input.o
  CC      net/bridge/br_fdb.o
  CC      kernel/printk/printk_ringbuffer.o
  CC      kernel/power/process.o
  CC      arch/x86/mm/pti.o
  AR      drivers/pci/msi/built-in.a
  CC      mm/swap.o
  HOSTCC  drivers/video/logo/pnmtologo
  CC      fs/proc/util.o
  CC      net/unix/diag.o
  CC      net/ethtool/linkmodes.o
  CC      net/bridge/br_forward.o
  CC [M]  net/sunrpc/auth_gss/auth_gss.o
  CC [M]  sound/pci/hda/hda_proc.o
  CC      drivers/pci/hotplug/acpi_pcihp.o
  CC      drivers/pci/hotplug/pciehp_core.o
  CC      net/sunrpc/clnt.o
  CC      block/blk-lib.o
  CC      arch/x86/kernel/cpu/cpuid-deps.o
  CC      io_uring/statx.o
  CC      block/blk-mq.o
  LOGO    drivers/video/logo/logo_linux_clut224.c
  CC      drivers/video/logo/logo_linux_clut224.o
  CC      drivers/pci/pcie/aer.o
  CC      kernel/irq/manage.o
  CC      sound/core/ctljack.o
  AR      drivers/idle/built-in.a
  CC      mm/truncate.o
  AR      drivers/video/logo/built-in.a
  CC      drivers/video/backlight/backlight.o
  CC      sound/core/jack.o
  CC      net/bridge/br_if.o
  CC      net/unix/scm.o
  CC      arch/x86/kernel/cpu/umwait.o
  CC      kernel/locking/irqflag-debug.o
  CC      fs/proc/version.o
  CC      kernel/locking/mutex-debug.o
  CC      kernel/printk/sysctl.o
  CC      mm/vmscan.o
  CC      drivers/pci/pcie/err.o
  CC      net/bridge/br_input.o
  CC      kernel/locking/lockdep.o
  CC      fs/proc/softirqs.o
  AR      arch/x86/mm/built-in.a
  CC      net/sunrpc/xprt.o
  CC [M]  net/ipv4/netfilter/iptable_mangle.o
  CC      net/bridge/br_ioctl.o
  CC      net/bridge/br_stp.o
  CC      io_uring/net.o
  CC      kernel/power/suspend.o
  CC      net/xfrm/xfrm_hash.o
  CC      net/xfrm/xfrm_input.o
  CC      drivers/pci/hotplug/pciehp_ctrl.o
  CC      kernel/rcu/update.o
  CC      kernel/irq/spurious.o
  CC      kernel/rcu/sync.o
  CC      lib/zstd/compress/zstd_compress_literals.o
  CC      arch/x86/kernel/cpu/proc.o
  CC      net/ethtool/rss.o
  CC      kernel/rcu/srcutree.o
  CC      sound/core/timer.o
  CC      crypto/cmac.o
  CC [M]  sound/pci/hda/hda_hwdep.o
  CC      lib/zstd/compress/zstd_compress_sequences.o
  CC      fs/proc/namespaces.o
  AR      drivers/video/backlight/built-in.a
  CC      drivers/video/fbdev/core/fb_notify.o
  AR      drivers/video/fbdev/omap/built-in.a
  CC      drivers/pci/pcie/aer_inject.o
  CC      lib/zstd/compress/zstd_compress_superblock.o
  AR      net/packet/built-in.a
  AR      kernel/printk/built-in.a
  CC      kernel/rcu/tree.o
  CC      sound/core/hrtimer.o
  AR      net/unix/built-in.a
  CC      kernel/sched/build_policy.o
  CC      crypto/hmac.o
  CC      drivers/video/aperture.o
  CC      io_uring/msg_ring.o
  CC      sound/core/seq_device.o
  CC      lib/zstd/compress/zstd_double_fast.o
  CC      fs/sysfs/file.o
  CC      lib/zstd/compress/zstd_fast.o
  CC      fs/configfs/inode.o
  CC      net/xfrm/xfrm_output.o
  CC [M]  net/netfilter/ipvs/ip_vs_xmit.o
  CC      drivers/pci/hotplug/pciehp_pci.o
  CC      fs/configfs/file.o
  CC      kernel/irq/resend.o
  CC [M]  net/ipv4/netfilter/iptable_nat.o
  MKCAP   arch/x86/kernel/cpu/capflags.c
  CC      net/sunrpc/socklib.o
  CC      fs/sysfs/dir.o
  AR      net/key/built-in.a
  CC      fs/sysfs/symlink.o
  CC      fs/devpts/inode.o
  CC [M]  sound/pci/hda/hda_generic.o
  CC [M]  drivers/video/fbdev/core/fbmem.o
  CC      kernel/power/hibernate.o
  CC      net/ipv4/inet_hashtables.o
  CC      fs/proc/self.o
  CC      net/bridge/br_stp_bpdu.o
  CC [M]  sound/pci/hda/patch_realtek.o
  CC      mm/shmem.o
  CC      net/ethtool/linkstate.o
  CC      crypto/vmac.o
  CC      mm/util.o
  CC      mm/mmzone.o
  CC      drivers/pci/pcie/pme.o
  CC      fs/ext4/balloc.o
  CC      arch/x86/kernel/acpi/boot.o
  CC      kernel/irq/chip.o
  CC [M]  sound/core/control_led.o
  CC      net/sunrpc/xprtsock.o
  CC      net/bridge/br_stp_if.o
  CC      drivers/video/cmdline.o
  CC [M]  net/sunrpc/auth_gss/gss_generic_token.o
  CC      fs/sysfs/mount.o
  CC      drivers/pci/hotplug/pciehp_hpc.o
  CC      fs/configfs/dir.o
  CC [M]  net/ipv4/netfilter/ipt_REJECT.o
  CC      drivers/video/nomodeset.o
  CC      fs/sysfs/group.o
  CC      fs/proc/thread_self.o
  CC      io_uring/timeout.o
  AR      fs/devpts/built-in.a
  CC      fs/jbd2/transaction.o
  CC      crypto/xcbc.o
  CC      net/ethtool/debug.o
  CC      crypto/crypto_null.o
  CC      net/ipv6/addrconf.o
  CC      net/sunrpc/sched.o
  CC      fs/configfs/symlink.o
  CC      drivers/pci/pcie/dpc.o
  CC      io_uring/sqpoll.o
  CC      mm/vmstat.o
  CC      net/ethtool/wol.o
  CC      net/bridge/br_stp_timer.o
  CC      fs/proc/proc_sysctl.o
  CC [M]  sound/core/hwdep.o
  CC [M]  net/sunrpc/auth_gss/gss_mech_switch.o
  CC      net/ethtool/features.o
  CC      kernel/irq/dummychip.o
  CC      net/ethtool/privflags.o
  AR      fs/sysfs/built-in.a
  CC      lib/raid6/algos.o
  CC      kernel/power/snapshot.o
  CC      arch/x86/kernel/acpi/sleep.o
  CC      lib/raid6/recov.o
  CC      net/ipv4/inet_timewait_sock.o
  CC      crypto/md5.o
  CC      net/xfrm/xfrm_sysctl.o
  CC      kernel/irq/devres.o
  CC      fs/configfs/mount.o
  CC [M]  drivers/video/fbdev/core/fbmon.o
  CC      net/ipv4/inet_connection_sock.o
  CC [M]  net/netfilter/ipvs/ip_vs_app.o
  CC      net/ipv4/tcp.o
  CC      drivers/pci/hotplug/acpiphp_core.o
  CC      fs/ramfs/inode.o
  AR      drivers/pci/pcie/built-in.a
  CC      fs/ramfs/file-mmu.o
  AR      drivers/char/ipmi/built-in.a
  CC      net/ethtool/rings.o
  CC      fs/configfs/item.o
  CC      kernel/rcu/rcu_segcblist.o
  CC      net/core/dev_addr_lists.o
  HOSTCC  lib/raid6/mktables
  CC      fs/ext4/bitmap.o
  CC [M]  sound/core/pcm.o
  CC      io_uring/fdinfo.o
  CC      drivers/pci/hotplug/acpiphp_glue.o
  CC      crypto/sha1_generic.o
  CC      kernel/irq/autoprobe.o
  AS      arch/x86/kernel/acpi/wakeup_64.o
  CC      block/blk-mq-tag.o
  CC      arch/x86/kernel/acpi/apei.o
  UNROLL  lib/raid6/int1.c
  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/hugetlbfs/inode.o
  CC      net/ipv4/tcp_input.o
  CC      net/ipv4/tcp_output.o
  CC      net/ethtool/channels.o
  CC      block/blk-stat.o
  CC      fs/ext4/block_validity.o
  AR      fs/configfs/built-in.a
  CC      net/bridge/br_netlink.o
  CC      net/bridge/br_netlink_tunnel.o
  AR      fs/ramfs/built-in.a
  CC      net/bridge/br_arp_nd_proxy.o
  CC      fs/fat/cache.o
  CC      fs/nfs/client.o
  CC [M]  net/sunrpc/auth_gss/svcauth_gss.o
  CC      fs/jbd2/commit.o
  CC      net/xfrm/xfrm_replay.o
  CC      fs/nfs/dir.o
  CC      kernel/irq/irqdomain.o
  CC      kernel/locking/lockdep_proc.o
  CC      crypto/sha256_generic.o
  CC      lib/raid6/recov_avx2.o
  CC      kernel/power/swap.o
  CC      block/blk-mq-sysfs.o
  CC      kernel/locking/spinlock.o
  CC      arch/x86/kernel/acpi/cppc.o
  CC      net/ethtool/coalesce.o
  CC      net/ethtool/pause.o
  CC [M]  net/netfilter/ipvs/ip_vs_sync.o
  CC [M]  drivers/video/fbdev/core/fbcmap.o
  CC [M]  net/netfilter/ipvs/ip_vs_est.o
  CC      fs/proc/proc_net.o
  CC [M]  net/netfilter/ipvs/ip_vs_proto.o
  CC      mm/backing-dev.o
  CC [M]  sound/core/pcm_native.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC      net/core/dst.o
  CC [M]  net/netfilter/ipvs/ip_vs_pe.o
  CC      fs/ext4/dir.o
  CC      fs/fat/dir.o
  CC [M]  net/netfilter/ipvs/ip_vs_proto_tcp.o
  AR      drivers/pci/hotplug/built-in.a
  CC      io_uring/tctx.o
  AR      drivers/pci/controller/dwc/built-in.a
  CC      drivers/pci/controller/vmd.o
  AR      drivers/pci/controller/mobiveil/built-in.a
  CC [M]  drivers/video/fbdev/core/fbsysfs.o
  AR      sound/pci/korg1212/built-in.a
  CC      arch/x86/kernel/cpu/feat_ctl.o
  CC      lib/raid6/mmx.o
  CC      kernel/irq/proc.o
  CC      crypto/sha512_generic.o
  CC      net/ipv4/tcp_timer.o
  AR      sound/pci/mixart/built-in.a
  CC      lib/raid6/sse1.o
  CC      arch/x86/kernel/acpi/cstate.o
  CC      lib/raid6/sse2.o
  CC      net/8021q/vlan_core.o
  CC      kernel/locking/osq_lock.o
  AR      drivers/video/fbdev/omap2/omapfb/dss/built-in.a
  AR      drivers/video/fbdev/omap2/omapfb/displays/built-in.a
  AR      drivers/video/fbdev/omap2/omapfb/built-in.a
  AR      drivers/video/fbdev/omap2/built-in.a
  CC      net/sunrpc/auth.o
  CC      block/blk-mq-cpumap.o
  AR      fs/hugetlbfs/built-in.a
  CC      net/bridge/br_sysfs_if.o
  CC      fs/exportfs/expfs.o
  CC      arch/x86/kernel/cpu/intel.o
  CC      kernel/locking/qspinlock.o
  CC      fs/proc/kcore.o
  CC      lib/zstd/compress/zstd_lazy.o
  CC      net/ipv4/tcp_ipv4.o
  CC      net/bridge/br_sysfs_br.o
  CC      crypto/blake2b_generic.o
  CC      fs/proc/kmsg.o
  CC      net/ethtool/eee.o
  CC      net/xfrm/xfrm_device.o
  AR      kernel/rcu/built-in.a
  CC [M]  net/8021q/vlan.o
  AR      arch/x86/kernel/acpi/built-in.a
  CC      lib/raid6/avx2.o
  CC      fs/lockd/clntlock.o
  CC      kernel/irq/migration.o
  CC [M]  sound/pci/hda/patch_analog.o
  CC      kernel/power/user.o
  CC      fs/jbd2/recovery.o
  CC      net/ipv4/tcp_minisocks.o
  CC      io_uring/poll.o
  CC [M]  drivers/video/fbdev/core/modedb.o
  CC      fs/ext4/ext4_jbd2.o
  CC      net/xfrm/xfrm_algo.o
  CC      fs/jbd2/checkpoint.o
  AR      kernel/livepatch/built-in.a
  CC      block/blk-mq-sched.o
  CC      fs/nfs/file.o
  CC      fs/ext4/extents.o
  CC      kernel/sched/build_utility.o
  AR      drivers/pci/controller/built-in.a
  AR      drivers/pci/switch/built-in.a
  CC      kernel/locking/rtmutex_api.o
  CC      drivers/pci/access.o
  AR      fs/exportfs/built-in.a
  CC      net/core/netevent.o
  CC      drivers/video/hdmi.o
  AR      sound/soc/built-in.a
  CC      net/core/neighbour.o
  CC      mm/mm_init.o
  CC [M]  net/netfilter/ipvs/ip_vs_proto_udp.o
  CC      kernel/irq/cpuhotplug.o
  CC [M]  net/netfilter/ipvs/ip_vs_nfct.o
  CC      net/bridge/br_nf_core.o
  CC      net/dcb/dcbnl.o
  CC      fs/proc/page.o
  CC      lib/raid6/avx512.o
  CC [M]  net/sunrpc/auth_gss/gss_rpc_upcall.o
  CC      fs/fat/fatent.o
  CC      crypto/ecb.o
  CC      net/dcb/dcbevent.o
  CC      kernel/power/poweroff.o
  CC      net/ethtool/tsinfo.o
  CC      arch/x86/kernel/cpu/intel_pconfig.o
  CC      drivers/acpi/acpica/dsargs.o
  CC [M]  sound/pci/hda/patch_hdmi.o
  CC      arch/x86/kernel/cpu/tsx.o
  AR      kernel/power/built-in.a
  CC      fs/lockd/clntproc.o
  CC      fs/jbd2/revoke.o
  CC [M]  net/8021q/vlan_dev.o
  CC      kernel/dma/mapping.o
  CC      fs/lockd/clntxdr.o
  CC      mm/percpu.o
  CC      kernel/dma/direct.o
  CC      drivers/pci/bus.o
  CC [M]  drivers/video/fbdev/core/fbcvt.o
  CC      kernel/irq/pm.o
  CC      crypto/cbc.o
  CC      drivers/pci/probe.o
  CC      net/ethtool/cabletest.o
  CC      net/xfrm/xfrm_user.o
  CC      arch/x86/kernel/cpu/intel_epb.o
  CC      block/ioctl.o
  CC [M]  net/8021q/vlan_netlink.o
  CC [M]  net/netfilter/ipvs/ip_vs_rr.o
  CC      drivers/acpi/acpica/dscontrol.o
  CC      io_uring/cancel.o
  CC      kernel/dma/ops_helpers.o
  CC      kernel/locking/spinlock_debug.o
  CC      lib/raid6/recov_avx512.o
  CC      kernel/locking/qrwlock.o
  CC      net/ipv4/tcp_cong.o
  CC      drivers/acpi/apei/apei-base.o
  AR      fs/proc/built-in.a
  CC      fs/nls/nls_base.o
  CC      net/bridge/br_multicast.o
  CC      crypto/pcbc.o
  CC      fs/nls/nls_cp437.o
  CC      net/ipv6/addrlabel.o
  CC      arch/x86/kernel/cpu/amd.o
  CC      kernel/irq/msi.o
  CC [M]  net/sunrpc/auth_gss/gss_rpc_xdr.o
  AR      drivers/acpi/pmic/built-in.a
  CC      drivers/pci/host-bridge.o
  CC      drivers/acpi/acpica/dsdebug.o
  CC [M]  drivers/video/fbdev/core/fb_cmdline.o
  CC      crypto/cts.o
  CC      fs/fat/file.o
  CC [M]  sound/core/pcm_lib.o
  CC      drivers/acpi/dptf/int340x_thermal.o
  CC      lib/fonts/fonts.o
  CC      drivers/pci/remove.o
  CC      arch/x86/kernel/apic/apic.o
  CC      net/core/rtnetlink.o
  CC      fs/jbd2/journal.o
  CC      lib/fonts/font_8x8.o
  TABLE   lib/raid6/tables.c
  CC      lib/raid6/int1.o
  CC      drivers/pci/pci.o
  AR      kernel/locking/built-in.a
  CC [M]  net/sunrpc/auth_gss/trace.o
  CC      net/core/utils.o
  CC      fs/nfs/getroot.o
  CC      kernel/dma/dummy.o
  CC      net/core/link_watch.o
  CC      fs/nls/nls_ascii.o
  CC      drivers/acpi/acpica/dsfield.o
  CC      fs/ext4/extents_status.o
  CC      block/genhd.o
  CC      lib/argv_split.o
  CC      io_uring/kbuf.o
  CC [M]  net/8021q/vlanproc.o
  CC      lib/fonts/font_8x16.o
  LD [M]  net/netfilter/ipvs/ip_vs.o
  CC      net/ethtool/tunnels.o
  CC      fs/lockd/host.o
  AR      drivers/acpi/dptf/built-in.a
  CC      drivers/acpi/tables.o
  CC      net/netfilter/core.o
  CC      fs/lockd/svc.o
  CC      drivers/acpi/apei/hest.o
  CC [M]  drivers/video/fbdev/core/fb_defio.o
  AR      net/dcb/built-in.a
  CC      fs/fat/inode.o
  CC      fs/nls/nls_iso8859-1.o
  CC      net/core/filter.o
  CC      crypto/lrw.o
  CC      arch/x86/kernel/cpu/hygon.o
  AR      sound/pci/nm256/built-in.a
  AR      sound/pci/oxygen/built-in.a
  CC [M]  net/sunrpc/auth_gss/gss_krb5_mech.o
  CC      net/ipv4/tcp_metrics.o
  CC      kernel/dma/contiguous.o
  CC      lib/raid6/int2.o
  AR      lib/fonts/built-in.a
  CC      fs/nls/nls_utf8.o
  CC      drivers/acpi/acpica/dsinit.o
  CC      fs/fat/misc.o
  CC      net/ipv6/route.o
  CC      fs/ext4/file.o
  CC      fs/fat/nfs.o
  CC      fs/nfs/inode.o
  CC      kernel/irq/affinity.o
  CC      arch/x86/kernel/cpu/centaur.o
  AR      fs/nls/built-in.a
  CC      arch/x86/kernel/cpu/zhaoxin.o
  CC [M]  sound/core/pcm_misc.o
  CC [M]  drivers/video/fbdev/core/fbcon.o
  CC      lib/bug.o
  CC      drivers/acpi/acpica/dsmethod.o
  CC [M]  drivers/video/fbdev/core/bitblit.o
  AR      net/8021q/built-in.a
  CC      drivers/acpi/apei/erst.o
  LD [M]  net/8021q/8021q.o
  CC [M]  sound/pci/hda/hda_eld.o
  CC      lib/buildid.o
  CC      crypto/xts.o
  CC      kernel/dma/swiotlb.o
  CC [M]  sound/core/pcm_memory.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  CC      io_uring/rsrc.o
  CC      lib/raid6/int4.o
  CC      net/l3mdev/l3mdev.o
  CC      net/sunrpc/auth_null.o
  CC      block/ioprio.o
  CC      arch/x86/kernel/cpu/vmware.o
  CC      net/ethtool/fec.o
  CC      kernel/dma/remap.o
  CC      lib/cmdline.o
  CC      net/ipv6/ip6_fib.o
  CC [M]  drivers/video/fbdev/uvesafb.o
  CC      lib/cpumask.o
  CC      mm/slab_common.o
  CC      kernel/irq/matrix.o
  CC [M]  sound/core/memalloc.o
  CC      fs/lockd/svclock.o
  CC      drivers/acpi/acpica/dsmthdat.o
  CC      crypto/ctr.o
  CC      arch/x86/kernel/apic/apic_common.o
  CC      block/badblocks.o
  CC      net/netfilter/nf_log.o
  CC      net/core/sock_diag.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_seal.o
  CC      drivers/acpi/acpica/dsobject.o
  AR      net/xfrm/built-in.a
  CC      mm/compaction.o
  CC      fs/ext4/fsmap.o
  CC      fs/fat/namei_vfat.o
  CC      io_uring/rw.o
  CC      lib/raid6/int8.o
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC      crypto/gcm.o
  CC [M]  sound/pci/hda/hda_intel.o
  CC      lib/ctype.o
  CC [M]  arch/x86/kvm/i8259.o
  CC      mm/interval_tree.o
  CC      net/core/dev_ioctl.o
  CC [M]  net/bluetooth/af_bluetooth.o
  CC [M]  net/bluetooth/hci_core.o
  CC      net/ipv6/ipv6_sockglue.o
  CC      mm/list_lru.o
  CC      drivers/acpi/apei/bert.o
  CC      arch/x86/kernel/apic/apic_noop.o
  AR      net/l3mdev/built-in.a
  CC [M]  net/bluetooth/hci_conn.o
  CC      lib/dec_and_lock.o
  CC      block/blk-rq-qos.o
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC      drivers/acpi/acpica/dsopcode.o
  CC      net/ipv4/tcp_fastopen.o
  CC      net/bridge/br_mdb.o
  CC      drivers/acpi/apei/ghes.o
  AR      kernel/dma/built-in.a
  CC      block/disk-events.o
  CC [M]  net/bluetooth/hci_event.o
  CC      arch/x86/kernel/apic/ipi.o
  CC      net/ethtool/eeprom.o
  CC      crypto/pcrypt.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_unseal.o
  CC [M]  sound/core/pcm_timer.o
  AR      fs/jbd2/built-in.a
  AR      fs/unicode/built-in.a
  CC      fs/ntfs/aops.o
  CC      lib/raid6/int16.o
  CC      fs/ntfs/attrib.o
  CC      drivers/acpi/acpica/dspkginit.o
  CC      arch/x86/kernel/apic/vector.o
  CC      net/sunrpc/auth_unix.o
  AR      kernel/irq/built-in.a
  CC [M]  net/sunrpc/auth_gss/gss_krb5_seqnum.o
  CC      fs/lockd/svcshare.o
  CC      drivers/pci/pci-driver.o
  CC      net/netfilter/nf_queue.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_wrap.o
  CC      lib/decompress.o
  CC [M]  drivers/video/fbdev/core/softcursor.o
  CC      arch/x86/kernel/cpu/capflags.o
  CC      net/ethtool/stats.o
  CC      fs/fat/namei_msdos.o
  CC      io_uring/opdef.o
  CC      crypto/cryptd.o
  CC      block/blk-ia-ranges.o
  AR      arch/x86/kernel/cpu/built-in.a
  CC [M]  net/bluetooth/mgmt.o
  CC [M]  drivers/video/fbdev/core/tileblit.o
  LD [M]  sound/core/snd-ctl-led.o
  CC      fs/ntfs/collate.o
  LD [M]  sound/core/snd-hwdep.o
  CC      drivers/acpi/blacklist.o
  LD [M]  sound/core/snd-pcm.o
  AR      sound/atmel/built-in.a
  CC [M]  net/sunrpc/auth_gss/gss_krb5_crypto.o
  CC      fs/nfs/super.o
  CC      crypto/des_generic.o
  CC      drivers/acpi/osi.o
  AR      sound/core/built-in.a
  CC [M]  arch/x86/kvm/irq.o
  CC      drivers/pci/search.o
  CC      drivers/acpi/acpica/dsutils.o
  CC      lib/raid6/int32.o
  AR      kernel/sched/built-in.a
  CC      kernel/entry/common.o
  CC      crypto/aes_generic.o
  CC      mm/workingset.o
  AR      drivers/acpi/apei/built-in.a
  AR      sound/hda/built-in.a
  CC      drivers/acpi/acpica/dswexec.o
  CC [M]  sound/hda/hda_bus_type.o
  CC      drivers/acpi/osl.o
  CC      fs/ext4/fsync.o
  CC      net/netfilter/nf_sockopt.o
  LD [M]  sound/pci/hda/snd-hda-codec.o
  AR      sound/x86/built-in.a
  CC      net/ipv4/tcp_rate.o
  CC      net/ipv4/tcp_recovery.o
  CC [M]  net/dns_resolver/dns_key.o
  CC      fs/nfs/io.o
  CC [M]  net/dns_resolver/dns_query.o
  LD [M]  sound/pci/hda/snd-hda-codec-generic.o
  CC [M]  drivers/video/fbdev/core/cfbfillrect.o
  AR      sound/xen/built-in.a
  CC [M]  drivers/video/fbdev/core/cfbcopyarea.o
  LD [M]  sound/pci/hda/snd-hda-codec-realtek.o
  CC      fs/ntfs/compress.o
  CC      net/bridge/br_multicast_eht.o
  CC      fs/lockd/svcproc.o
  CC      block/bsg.o
  CC      fs/ext4/hash.o
  CC      drivers/acpi/utils.o
  CC      net/bridge/br_vlan.o
  LD [M]  sound/pci/hda/snd-hda-codec-analog.o
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.o
  CC      net/ipv4/tcp_ulp.o
  CC      lib/raid6/tables.o
  LD [M]  sound/pci/hda/snd-hda-intel.o
  CC      fs/ntfs/debug.o
  CC      crypto/deflate.o
  AR      fs/fat/built-in.a
  AR      sound/pci/pcxhr/built-in.a
  CC      kernel/module/main.o
  AR      sound/pci/riptide/built-in.a
  AR      sound/pci/rme9652/built-in.a
  AR      sound/pci/trident/built-in.a
  AR      sound/pci/ymfpci/built-in.a
  CC      kernel/module/strict_rwx.o
  AR      sound/pci/vx222/built-in.a
  AR      sound/pci/built-in.a
  CC      io_uring/notif.o
  CC      io_uring/io-wq.o
  CC      drivers/acpi/acpica/dswload.o
  CC [M]  arch/x86/kvm/lapic.o
  AR      sound/virtio/built-in.a
  CC      drivers/pci/pci-sysfs.o
  CC      net/ethtool/phc_vclocks.o
  CC [M]  net/bluetooth/hci_sock.o
  CC      drivers/acpi/acpica/dswload2.o
  CC      net/ethtool/module.o
  CC [M]  sound/hda/hdac_bus.o
  CC [M]  net/bluetooth/hci_sysfs.o
  CC [M]  net/sunrpc/auth_gss/gss_krb5_keys.o
  CC      mm/debug.o
  CC      net/bridge/br_vlan_tunnel.o
  CC      kernel/entry/syscall_user_dispatch.o
  CC      drivers/pnp/pnpacpi/core.o
  CC      arch/x86/kernel/apic/hw_nmi.o
  LD [M]  net/dns_resolver/dns_resolver.o
  CC      drivers/pnp/pnpacpi/rsparser.o
  CC      net/netfilter/utils.o
  CC      kernel/entry/kvm.o
  CC      block/bsg-lib.o
  AR      lib/raid6/built-in.a
  CC      crypto/crc32c_generic.o
  CC      fs/ntfs/dir.o
  CC      mm/gup.o
  LD [M]  net/sunrpc/auth_gss/auth_rpcgss.o
  CC      fs/ntfs/file.o
  CC      block/blk-cgroup.o
  CC [M]  net/netfilter/nfnetlink.o
  CC [M]  drivers/video/fbdev/core/cfbimgblt.o
  CC      mm/mmap_lock.o
  CC      drivers/acpi/acpica/dswscope.o
  CC      fs/nfs/direct.o
  CC [M]  net/netfilter/nf_conntrack_core.o
  CC      drivers/pnp/core.o
  CC      fs/nfs/pagelist.o
  CC      fs/ext4/ialloc.o
  CC      fs/lockd/svcsubs.o
  CC      net/devres.o
  CC [M]  drivers/video/fbdev/core/sysfillrect.o
  CC      mm/highmem.o
  CC      fs/lockd/mon.o
  CC      net/ipv4/tcp_offload.o
  CC      drivers/acpi/acpica/dswstate.o
  CC      crypto/crct10dif_common.o
  CC [M]  sound/hda/hdac_device.o
  LD [M]  net/sunrpc/auth_gss/rpcsec_gss_krb5.o
  CC      arch/x86/kernel/apic/io_apic.o
  CC [M]  drivers/video/fbdev/core/syscopyarea.o
  CC      lib/decompress_bunzip2.o
  CC      net/sunrpc/svc.o
  CC      kernel/time/time.o
  CC      kernel/futex/core.o
  CC      net/ethtool/pse-pd.o
  CC      kernel/cgroup/cgroup.o
  CC      arch/x86/kernel/apic/msi.o
  CC      kernel/futex/syscalls.o
  CC      net/ipv4/tcp_plb.o
  AR      kernel/entry/built-in.a
  CC [M]  net/bluetooth/l2cap_core.o
  CC [M]  net/bluetooth/l2cap_sock.o
  CC      drivers/pci/rom.o
  CC      drivers/pci/setup-res.o
  CC      net/ipv6/ndisc.o
  CC      crypto/crct10dif_generic.o
  AR      drivers/pnp/pnpacpi/built-in.a
  CC      drivers/pnp/card.o
  CC      drivers/acpi/acpica/evevent.o
  CC      fs/autofs/init.o
  AR      io_uring/built-in.a
  CC      mm/memory.o
  CC      fs/autofs/inode.o
  CC      fs/debugfs/inode.o
  CC      fs/autofs/root.o
  CC [M]  drivers/video/fbdev/core/sysimgblt.o
  CC      kernel/trace/trace_clock.o
  CC      fs/ntfs/index.o
  CC      net/bridge/br_vlan_options.o
  CC      net/core/tso.o
  CC      crypto/authenc.o
  CC      fs/debugfs/file.o
  CC [M]  net/netfilter/nf_conntrack_standalone.o
  CC [M]  sound/hda/hdac_sysfs.o
  CC      fs/lockd/xdr.o
  CC [M]  net/netfilter/nf_conntrack_expect.o
  CC      net/bridge/br_mst.o
  CC      kernel/bpf/core.o
  CC      drivers/acpi/acpica/evgpe.o
  CC      crypto/authencesn.o
  AR      net/ethtool/built-in.a
  CC      kernel/time/timer.o
  CC      drivers/pci/irq.o
  CC      crypto/lzo.o
  CC      kernel/trace/ftrace.o
  CC      lib/decompress_inflate.o
  CC [M]  drivers/video/fbdev/core/fb_sys_fops.o
  CC      kernel/futex/pi.o
  CC [M]  net/netfilter/nf_conntrack_helper.o
  CC      drivers/pnp/driver.o
  CC      kernel/module/tree_lookup.o
  CC      drivers/pci/vpd.o
  CC      fs/ntfs/inode.o
  CC      net/ipv4/datagram.o
  CC [M]  net/bridge/br_netfilter_hooks.o
  CC      fs/autofs/symlink.o
  CC [M]  net/bridge/br_netfilter_ipv6.o
  CC      fs/lockd/clnt4xdr.o
  CC      block/blk-cgroup-rwstat.o
  CC      drivers/acpi/acpica/evgpeblk.o
  CC      lib/decompress_unlz4.o
  CC      lib/decompress_unlzma.o
  CC      kernel/trace/ring_buffer.o
  CC      net/socket.o
  CC      crypto/lzo-rle.o
  CC [M]  sound/hda/hdac_regmap.o
  CC [M]  arch/x86/kvm/i8254.o
  CC      lib/decompress_unlzo.o
  CC      fs/nfs/read.o
  CC      drivers/pnp/resource.o
  CC      drivers/pci/setup-bus.o
  CC      arch/x86/kernel/apic/x2apic_phys.o
  CC      kernel/futex/requeue.o
  AR      fs/debugfs/built-in.a
  CC [M]  sound/hda/hdac_controller.o
  CC      kernel/module/debug_kmemleak.o
  CC      net/core/sock_reuseport.o
  LD [M]  drivers/video/fbdev/core/fb.o
  AR      drivers/video/fbdev/core/built-in.a
  CC [M]  drivers/video/fbdev/simplefb.o
  CC      fs/autofs/waitq.o
  CC      fs/lockd/xdr4.o
  CC      drivers/acpi/acpica/evgpeinit.o
  CC      lib/decompress_unxz.o
  CC      net/sunrpc/svcsock.o
  CC      net/compat.o
  CC      fs/nfs/symlink.o
  CC      drivers/pci/vc.o
  CC [M]  net/bluetooth/smp.o
  CC      fs/ext4/indirect.o
  CC      net/sysctl_net.o
  CC      drivers/acpi/acpica/evgpeutil.o
  CC      block/blk-throttle.o
  CC [M]  net/netfilter/nf_conntrack_proto.o
  CC      crypto/lz4.o
  CC [M]  net/bluetooth/lib.o
  CC      fs/ext4/inline.o
  CC      kernel/futex/waitwake.o
  CC      arch/x86/kernel/apic/x2apic_cluster.o
  CC      kernel/module/kallsyms.o
  CC [M]  net/netfilter/nf_conntrack_proto_generic.o
  CC      net/ipv4/raw.o
  AR      net/bridge/built-in.a
  CC [M]  net/netfilter/nf_conntrack_proto_tcp.o
  CC      net/sunrpc/svcauth.o
  CC      kernel/time/hrtimer.o
  CC [M]  net/bluetooth/ecdh_helper.o
  CC      lib/decompress_unzstd.o
  CC      fs/autofs/expire.o
  CC      net/ipv6/udp.o
  CC      drivers/acpi/acpica/evglock.o
  CC [M]  net/bluetooth/hci_request.o
  CC      net/sunrpc/svcauth_unix.o
  CC      crypto/lz4hc.o
  CC [M]  sound/hda/hdac_stream.o
  CC [M]  arch/x86/kvm/ioapic.o
  AR      drivers/video/fbdev/built-in.a
  AR      drivers/video/built-in.a
  CC      fs/ntfs/mft.o
  CC      net/ipv6/udplite.o
  CC      drivers/pnp/manager.o
  AR      drivers/amba/built-in.a
  CC      net/ipv6/raw.o
  AR      kernel/futex/built-in.a
  CC      kernel/events/core.o
  CC      arch/x86/kernel/apic/apic_flat_64.o
  CC      fs/nfs/unlink.o
  CC      arch/x86/kernel/apic/probe_64.o
  CC      drivers/acpi/acpica/evhandler.o
  CC [M]  sound/hda/array.o
  CC      net/sunrpc/addr.o
  CC      fs/lockd/svc4proc.o
  CC      drivers/pnp/support.o
  AR      drivers/clk/actions/built-in.a
  CC      crypto/xxhash_generic.o
  AR      drivers/clk/analogbits/built-in.a
  AR      drivers/clk/bcm/built-in.a
  CC      kernel/module/procfs.o
  AR      drivers/clk/imgtec/built-in.a
  CC      drivers/dma/dw/core.o
  CC      net/core/fib_notifier.o
  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
  CC      drivers/dma/dw/dw.o
  AR      drivers/clk/mstar/built-in.a
  CC      fs/autofs/dev-ioctl.o
  AR      drivers/clk/mvebu/built-in.a
  CC      crypto/rng.o
  AR      drivers/clk/ralink/built-in.a
  AR      drivers/clk/renesas/built-in.a
  AR      drivers/clk/socfpga/built-in.a
  CC      fs/ext4/inode.o
  AR      drivers/clk/sprd/built-in.a
  CC      kernel/events/ring_buffer.o
  AR      drivers/clk/sunxi-ng/built-in.a
  AR      drivers/clk/ti/built-in.a
  CC      drivers/pci/mmap.o
  AR      drivers/clk/versatile/built-in.a
  CC      drivers/clk/x86/clk-lpss-atom.o
  AR      kernel/bpf/built-in.a
  CC      drivers/acpi/reboot.o
  LD [M]  net/bridge/br_netfilter.o
  CC      drivers/acpi/acpica/evmisc.o
  CC      crypto/drbg.o
  CC      mm/mincore.o
  CC      fs/ntfs/mst.o
  AR      arch/x86/kernel/apic/built-in.a
  CC      arch/x86/kernel/kprobes/core.o
  CC      arch/x86/kernel/kprobes/opt.o
  CC [M]  net/netfilter/nf_conntrack_proto_udp.o
  CC      drivers/pnp/interface.o
  CC      block/mq-deadline.o
  AR      drivers/soc/apple/built-in.a
  CC [M]  sound/hda/hdmi_chmap.o
  AR      drivers/soc/aspeed/built-in.a
  CC      arch/x86/kernel/kprobes/ftrace.o
  AR      drivers/soc/bcm/bcm63xx/built-in.a
  AR      drivers/soc/bcm/built-in.a
  AR      drivers/soc/fsl/built-in.a
  AR      drivers/soc/fujitsu/built-in.a
  AR      drivers/soc/imx/built-in.a
  CC      kernel/module/sysfs.o
  AR      drivers/soc/ixp4xx/built-in.a
  AR      drivers/soc/loongson/built-in.a
  CC      drivers/clk/x86/clk-pmc-atom.o
  AR      drivers/soc/mediatek/built-in.a
  CC [M]  arch/x86/kvm/irq_comm.o
  AR      drivers/soc/microchip/built-in.a
  AR      drivers/soc/pxa/built-in.a
  AR      drivers/soc/amlogic/built-in.a
  AR      drivers/soc/qcom/built-in.a
  AR      drivers/soc/renesas/built-in.a
  CC      kernel/trace/trace.o
  AR      drivers/soc/rockchip/built-in.a
  AR      drivers/soc/sunxi/built-in.a
  AR      drivers/soc/ti/built-in.a
  AR      drivers/clk/xilinx/built-in.a
  AR      drivers/soc/xilinx/built-in.a
  AR      drivers/soc/built-in.a
  CC      fs/tracefs/inode.o
  CC      net/sunrpc/rpcb_clnt.o
  CC      kernel/time/timekeeping.o
  CC      drivers/acpi/acpica/evregion.o
  CC [M]  net/bluetooth/mgmt_util.o
  CC      drivers/pci/setup-irq.o
  AR      fs/autofs/built-in.a
  CC      lib/dump_stack.o
  CC [M]  net/netfilter/nf_conntrack_proto_icmp.o
  CC      net/sunrpc/timer.o
  CC      fs/btrfs/super.o
  CC      net/ipv4/udp.o
  CC      fs/ntfs/namei.o
  CC      net/core/xdp.o
  CC      net/ipv4/udplite.o
  CC      net/sunrpc/xdr.o
  CC      net/sunrpc/sunrpc_syms.o
  CC      kernel/cgroup/rstat.o
  CC      kernel/cgroup/namespace.o
  CC      fs/lockd/procfs.o
  CC      fs/ntfs/runlist.o
  CC      lib/zstd/compress/zstd_ldm.o
  CC      drivers/pnp/quirks.o
  CC [M]  net/bluetooth/mgmt_config.o
  AR      drivers/clk/x86/built-in.a
  CC      drivers/clk/clk-devres.o
  CC      net/sunrpc/cache.o
  CC      fs/ext4/ioctl.o
  CC      drivers/acpi/nvs.o
  CC [M]  net/netfilter/nf_conntrack_extend.o
  CC      drivers/dma/dw/idma32.o
  CC      drivers/acpi/acpica/evrgnini.o
  CC      fs/nfs/write.o
  AR      arch/x86/kernel/kprobes/built-in.a
  LDS     arch/x86/kernel/vmlinux.lds
  AR      kernel/module/built-in.a
  CC      mm/mlock.o
  AS      arch/x86/kernel/head_64.o
  CC      drivers/pci/proc.o
  CC      arch/x86/kernel/head64.o
  CC      kernel/events/callchain.o
  CC      drivers/pci/slot.o
  CC [M]  sound/hda/trace.o
  AR      fs/tracefs/built-in.a
  CC      drivers/dma/hsu/hsu.o
  CC [M]  net/netfilter/nf_conntrack_acct.o
  CC      fs/pstore/inode.o
  CC      fs/efivarfs/inode.o
  CC      net/ipv6/icmp.o
  CC      fs/ntfs/super.o
  CC      drivers/clk/clk-bulk.o
  CC [M]  arch/x86/kvm/cpuid.o
  CC      drivers/dma/dw/acpi.o
  CC      fs/efivarfs/file.o
  AR      fs/lockd/built-in.a
  CC      lib/zstd/compress/zstd_opt.o
  CC      drivers/pci/pci-acpi.o
  CC      block/kyber-iosched.o
  CC      crypto/jitterentropy.o
  CC      kernel/cgroup/cgroup-v1.o
  CC      drivers/pnp/system.o
  CC      drivers/clk/clkdev.o
  CC      drivers/acpi/acpica/evsci.o
  CC [M]  net/bluetooth/hci_codec.o
  CC      crypto/jitterentropy-kcapi.o
  CC      crypto/ghash-generic.o
  CC      drivers/acpi/wakeup.o
  CC      drivers/acpi/acpica/evxface.o
  CC      drivers/pci/quirks.o
  CC      lib/zstd/zstd_decompress_module.o
  CC      net/ipv6/mcast.o
  CC      arch/x86/kernel/ebda.o
  CC      block/blk-mq-pci.o
  CC      kernel/events/hw_breakpoint.o
  CC      drivers/pci/ats.o
  CC      drivers/pci/iov.o
  CC      drivers/clk/clk.o
  CC      drivers/pci/pci-label.o
  CC [M]  net/netfilter/nf_conntrack_seqadj.o
  CC      kernel/time/ntp.o
  CC      crypto/af_alg.o
  CC      fs/efivarfs/super.o
  CC [M]  sound/hda/hdac_component.o
  CC      arch/x86/kernel/platform-quirks.o
  CC      drivers/dma/dw/pci.o
  CC      fs/pstore/platform.o
  CC [M]  net/netfilter/nf_conntrack_proto_icmpv6.o
  AR      drivers/pnp/built-in.a
  AR      drivers/dma/idxd/built-in.a
  CC      mm/mmap.o
  CC      fs/efivarfs/vars.o
  AR      drivers/dma/hsu/built-in.a
  CC [M]  sound/hda/hdac_i915.o
  CC      crypto/algif_hash.o
  CC      kernel/trace/trace_output.o
  CC      net/core/flow_offload.o
  CC      fs/nfs/namespace.o
  CC      kernel/time/clocksource.o
  CC      arch/x86/kernel/process_64.o
  CC      kernel/fork.o
  CC [M]  net/netfilter/nf_conntrack_proto_dccp.o
  CC      drivers/acpi/acpica/evxfevnt.o
  CC      kernel/cgroup/freezer.o
  CC      block/blk-mq-virtio.o
  CC      mm/mmu_gather.o
  CC [M]  net/bluetooth/eir.o
  CC [M]  net/bluetooth/hci_sync.o
  CC      fs/nfs/mount_clnt.o
  CC      fs/ntfs/sysctl.o
  CC      drivers/clk/clk-divider.o
  CC      fs/ntfs/unistr.o
  CC      fs/pstore/pmsg.o
  CC      drivers/acpi/acpica/evxfgpe.o
  AR      drivers/dma/dw/built-in.a
  AR      drivers/dma/mediatek/built-in.a
  AR      drivers/dma/qcom/built-in.a
  CC      kernel/time/jiffies.o
  AR      drivers/dma/ti/built-in.a
  AR      drivers/dma/xilinx/built-in.a
  CC [M]  net/bluetooth/sco.o
  CC [M]  sound/hda/intel-dsp-config.o
  CC [M]  drivers/dma/ioat/init.o
  AR      fs/efivarfs/built-in.a
  CC      drivers/virtio/virtio.o
  CC      net/sunrpc/rpc_pipe.o
  CC      drivers/virtio/virtio_ring.o
  CC      fs/ext4/mballoc.o
  CC [M]  drivers/dma/ioat/dma.o
  CC      drivers/dma/dmaengine.o
  CC      drivers/tty/vt/vt_ioctl.o
  CC      drivers/char/hw_random/core.o
  CC      block/blk-mq-debugfs.o
  CC      kernel/time/timer_list.o
  CC      drivers/char/agp/backend.o
  CC      drivers/tty/hvc/hvc_console.o
  AR      drivers/iommu/amd/built-in.a
  CC      kernel/cgroup/legacy_freezer.o
  CC      crypto/algif_skcipher.o
  CC      drivers/iommu/intel/dmar.o
  CC [M]  fs/netfs/buffered_read.o
  CC [M]  fs/netfs/io.o
  AR      fs/pstore/built-in.a
  CC      drivers/char/agp/generic.o
  CC [M]  net/netfilter/nf_conntrack_proto_sctp.o
  CC      drivers/acpi/acpica/evxfregn.o
  CC      net/core/gro.o
  CC      arch/x86/kernel/signal.o
  CC [M]  net/netfilter/nf_conntrack_netlink.o
  CC      fs/ntfs/upcase.o
  CC      drivers/char/agp/isoch.o
  CC [M]  fs/fscache/cache.o
  CC [M]  arch/x86/kvm/pmu.o
  CC [M]  sound/hda/intel-nhlt.o
  CC [M]  drivers/dma/ioat/prep.o
  CC [M]  arch/x86/kvm/mtrr.o
  CC      drivers/virtio/virtio_anchor.o
  CC      crypto/xor.o
  CC      drivers/char/agp/intel-agp.o
  CC      kernel/time/timeconv.o
  CC      drivers/acpi/acpica/exconcat.o
  CC      fs/nfs/nfstrace.o
  CC [M]  fs/smbfs_common/cifs_arc4.o
  CC      drivers/char/hw_random/intel-rng.o
  CC [M]  fs/netfs/main.o
  CC      drivers/pci/pci-stub.o
  CC      kernel/cgroup/pids.o
  AR      fs/ntfs/built-in.a
  CC      drivers/char/tpm/tpm-chip.o
  CC      drivers/char/tpm/tpm-dev-common.o
  CC      net/ipv4/udp_offload.o
  CC [M]  sound/hda/intel-sdw-acpi.o
  CC      block/blk-pm.o
  CC      kernel/time/timecounter.o
  CC      arch/x86/kernel/signal_64.o
  AR      drivers/tty/hvc/built-in.a
  CC      drivers/tty/vt/vc_screen.o
  CC      kernel/time/alarmtimer.o
  CC      fs/ext4/migrate.o
  CC      net/sunrpc/sysfs.o
  CC      drivers/acpi/acpica/exconfig.o
  CC      drivers/acpi/acpica/exconvrt.o
  CC [M]  drivers/dma/ioat/dca.o
  CC [M]  fs/smbfs_common/cifs_md4.o
  CC      fs/ext4/mmp.o
  CC      crypto/hash_info.o
  CC      crypto/simd.o
  CC      kernel/exec_domain.o
  CC      drivers/clk/clk-fixed-factor.o
  CC [M]  fs/fscache/cookie.o
  CC      kernel/trace/trace_seq.o
  LD [M]  sound/hda/snd-hda-core.o
  CC      drivers/char/agp/intel-gtt.o
  CC      drivers/virtio/virtio_pci_modern_dev.o
  CC      kernel/panic.o
  LD [M]  sound/hda/snd-intel-dspcfg.o
  CC [M]  fs/netfs/objects.o
  CC [M]  net/bluetooth/iso.o
  CC      net/sunrpc/svc_xprt.o
  AR      drivers/char/hw_random/built-in.a
  CC [M]  crypto/md4.o
  CC      drivers/pci/vgaarb.o
  CC [M]  arch/x86/kvm/hyperv.o
  CC      drivers/char/tpm/tpm-dev.o
  CC [M]  arch/x86/kvm/debugfs.o
  CC [M]  drivers/dma/ioat/sysfs.o
  CC      kernel/cgroup/cpuset.o
  LD [M]  sound/hda/snd-intel-sdw-acpi.o
  CC      sound/sound_core.o
  CC      kernel/cpu.o
  CC      drivers/acpi/acpica/excreate.o
  CC      kernel/exit.o
  CC      mm/mprotect.o
  CC      drivers/virtio/virtio_pci_legacy_dev.o
  CC      fs/ext4/move_extent.o
  CC      block/holder.o
  CC      kernel/trace/trace_stat.o
  CC      lib/zstd/decompress/huf_decompress.o
  CC      arch/x86/kernel/signal_compat.o
  CC      drivers/clk/clk-fixed-rate.o
  CC      drivers/iommu/intel/iommu.o
  CC      drivers/virtio/virtio_pci_modern.o
  CC      lib/zstd/decompress/zstd_ddict.o
  CC      kernel/softirq.o
  CC      lib/earlycpio.o
  CC      lib/zstd/decompress/zstd_decompress.o
  CC      drivers/tty/vt/selection.o
  CC      drivers/clk/clk-gate.o
  CC      sound/last.o
  CC [M]  fs/cifs/trace.o
  CC [M]  crypto/ccm.o
  CC      drivers/clk/clk-multiplier.o
  CC [M]  crypto/arc4.o
  CC [M]  crypto/ecc.o
  CC      net/core/net-sysfs.o
  CC      drivers/acpi/acpica/exdebug.o
  CC      drivers/char/tpm/tpm-interface.o
  CC      net/ipv6/reassembly.o
  CC      kernel/time/posix-timers.o
  CC      kernel/time/posix-cpu-timers.o
  LD [M]  drivers/dma/ioat/ioatdma.o
  CC      drivers/char/tpm/tpm1-cmd.o
  LD [M]  fs/netfs/netfs.o
  CC      drivers/dma/virt-dma.o
  CC      drivers/char/tpm/tpm2-cmd.o
  CC      kernel/events/uprobes.o
  CC      fs/ext4/namei.o
  CC      drivers/clk/clk-mux.o
  CC      kernel/resource.o
  CC      arch/x86/kernel/traps.o
  CC      net/core/net-procfs.o
  AR      block/built-in.a
  AR      sound/built-in.a
  CC      drivers/virtio/virtio_pci_common.o
  CC      net/ipv4/arp.o
  AR      drivers/char/agp/built-in.a
  CC      net/core/netpoll.o
  CC      drivers/acpi/acpica/exdump.o
  CC      lib/extable.o
  CC [M]  crypto/essiv.o
  CC      net/core/fib_rules.o
  CC      kernel/trace/trace_printk.o
  CC [M]  fs/fuse/dev.o
  CC      drivers/virtio/virtio_pci_legacy.o
  AR      drivers/pci/built-in.a
  CC [M]  fs/fuse/dir.o
  CC      drivers/tty/vt/keyboard.o
  CC      lib/zstd/decompress/zstd_decompress_block.o
  CC [M]  fs/fscache/io.o
  CC [M]  net/netfilter/nf_nat_core.o
  CC      drivers/acpi/acpica/exfield.o
  CC      net/core/net-traces.o
  CC      drivers/clk/clk-composite.o
  CC [M]  drivers/virtio/virtio_mem.o
  CC      drivers/dma/acpi-dma.o
  CC      drivers/char/tpm/tpmrm-dev.o
  CC      fs/nfs/export.o
  CC      mm/mremap.o
  CC      fs/btrfs/ctree.o
  CC      drivers/acpi/sleep.o
  CC      drivers/clk/clk-fractional-divider.o
  AR      drivers/gpu/host1x/built-in.a
  CC [M]  net/bluetooth/a2mp.o
  AR      drivers/gpu/drm/tests/built-in.a
  CC [M]  drivers/gpu/drm/tests/drm_kunit_helpers.o
  AR      drivers/gpu/vga/built-in.a
  CC      kernel/trace/pid_list.o
  CC      drivers/acpi/acpica/exfldio.o
  AR      drivers/gpu/drm/arm/built-in.a
  CC [M]  drivers/gpu/drm/tests/drm_buddy_test.o
  AR      drivers/gpu/drm/display/built-in.a
  CC [M]  drivers/gpu/drm/display/drm_display_helper_mod.o
  CC [M]  drivers/gpu/drm/tests/drm_cmdline_parser_test.o
  AR      drivers/gpu/drm/rcar-du/built-in.a
  CC      arch/x86/kernel/idt.o
  CC [M]  drivers/gpu/drm/tests/drm_connector_test.o
  CC [M]  drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
  CC [M]  fs/cifs/cifsfs.o
  CC [M]  net/netfilter/nf_nat_proto.o
  AR      drivers/gpu/drm/omapdrm/built-in.a
  CC      kernel/sysctl.o
  CC      net/ipv6/tcp_ipv6.o
  CC      drivers/acpi/acpica/exmisc.o
  CC      drivers/char/tpm/tpm2-space.o
  CC [M]  fs/fscache/main.o
  CC      fs/btrfs/extent-tree.o
  CC      drivers/clk/clk-gpio.o
  CC [M]  net/bluetooth/amp.o
  CC      kernel/time/posix-clock.o
  CC      drivers/acpi/device_sysfs.o
  AR      drivers/dma/built-in.a
  AR      drivers/virtio/built-in.a
  CC [M]  net/bluetooth/hci_debugfs.o
  CC      net/ipv4/icmp.o
  CC      net/core/selftests.o
  CC      drivers/acpi/acpica/exmutex.o
  CC      net/sunrpc/xprtmultipath.o
  CC [M]  crypto/ecdh.o
  CC [M]  drivers/gpu/drm/tests/drm_damage_helper_test.o
  CC      fs/btrfs/print-tree.o
  CC [M]  fs/fuse/file.o
  AR      kernel/events/built-in.a
  CC      drivers/connector/cn_queue.o
  CC [M]  arch/x86/kvm/mmu/mmu.o
  CC      kernel/trace/trace_sched_switch.o
  CC      drivers/connector/connector.o
  CC      kernel/capability.o
  CC      arch/x86/kernel/irq.o
  AR      drivers/clk/built-in.a
  CC [M]  drivers/gpu/drm/display/drm_dp_helper.o
  CC      kernel/ptrace.o
  CC      drivers/tty/vt/consolemap.o
  AR      kernel/cgroup/built-in.a
  CC      arch/x86/kernel/irq_64.o
  CC [M]  arch/x86/kvm/mmu/page_track.o
  CC      drivers/acpi/device_pm.o
  CC      drivers/acpi/acpica/exnames.o
  CC      mm/msync.o
  CC [M]  drivers/gpu/drm/display/drm_dp_mst_topology.o
  CC      kernel/trace/trace_functions.o
  CC      kernel/time/itimer.o
  CC [M]  fs/cifs/cifs_debug.o
  CC      drivers/acpi/proc.o
  CC      drivers/char/tpm/tpm-sysfs.o
  CC [M]  net/netfilter/nf_nat_helper.o
  CC [M]  crypto/ecdh_helper.o
  AR      crypto/built-in.a
  CC      drivers/iommu/intel/pasid.o
  CC      drivers/iommu/intel/trace.o
  CC      drivers/iommu/intel/cap_audit.o
  CC      drivers/acpi/acpica/exoparg1.o
  CC      fs/btrfs/root-tree.o
  CC [M]  drivers/gpu/drm/tests/drm_dp_mst_helper_test.o
  LD [M]  crypto/ecdh_generic.o
  CC      kernel/trace/trace_preemptirq.o
  CC [M]  fs/fscache/volume.o
  CC      drivers/acpi/acpica/exoparg2.o
  CC      fs/nfs/sysfs.o
  CC      fs/nfs/fs_context.o
  CC      fs/nfs/sysctl.o
  CC      mm/page_vma_mapped.o
  CC      fs/nfs/nfs2super.o
  CC      kernel/time/clockevents.o
  CC      mm/pagewalk.o
  CC [M]  fs/fscache/proc.o
  CC [M]  drivers/gpu/drm/tests/drm_format_helper_test.o
  CC      net/sunrpc/stats.o
  CC [M]  arch/x86/kvm/mmu/spte.o
  CC      drivers/connector/cn_proc.o
  CC      net/sunrpc/sysctl.o
  HOSTCC  drivers/tty/vt/conmakehash
  CC      net/ipv6/ping.o
  CC      net/ipv6/exthdrs.o
  CC      drivers/base/power/sysfs.o
  CC      drivers/char/tpm/eventlog/common.o
  CC      drivers/char/tpm/eventlog/tpm1.o
  CC      drivers/base/power/generic_ops.o
  CC      drivers/tty/vt/vt.o
  COPY    drivers/tty/vt/defkeymap.c
  CC      drivers/acpi/acpica/exoparg3.o
  LD [M]  net/bluetooth/bluetooth.o
  CC      lib/zstd/zstd_common_module.o
  CC      mm/pgtable-generic.o
  CC [M]  fs/cifs/connect.o
  CC [M]  drivers/gpu/drm/tests/drm_format_test.o
  CC      kernel/user.o
  CC      fs/ext4/page-io.o
  CC      kernel/trace/trace_nop.o
  CC      drivers/iommu/intel/irq_remapping.o
  CC      net/ipv4/devinet.o
  CC [M]  net/netfilter/nf_nat_redirect.o
  CC      drivers/acpi/bus.o
  CC [M]  fs/cifs/dir.o
  CC      drivers/acpi/acpica/exoparg6.o
  CC      mm/rmap.o
  CC      kernel/time/tick-common.o
  CC      lib/zstd/common/debug.o
  CC      fs/ext4/readpage.o
  CC      drivers/base/power/common.o
  CC      drivers/base/power/qos.o
  CC [M]  arch/x86/kvm/mmu/tdp_iter.o
  CC      drivers/base/firmware_loader/builtin/main.o
  CC [M]  fs/fuse/inode.o
  CC      drivers/char/mem.o
  CC [M]  fs/cifs/file.o
  CC      drivers/acpi/acpica/exprep.o
  CC [M]  fs/cifs/inode.o
  CC      drivers/acpi/glue.o
  CC      net/ipv4/af_inet.o
  CC      arch/x86/kernel/dumpstack_64.o
  LD [M]  fs/fscache/fscache.o
  CC      fs/ext4/resize.o
  CC      drivers/char/tpm/eventlog/tpm2.o
  CC      net/core/ptp_classifier.o
  CC      drivers/char/tpm/tpm_ppi.o
  CC      net/ipv4/igmp.o
  CC      lib/zstd/common/entropy_common.o
  CC [M]  fs/overlayfs/super.o
  CC      fs/ext4/super.o
  CC [M]  fs/overlayfs/namei.o
  CC      fs/nfs/proc.o
  CC      mm/vmalloc.o
  AR      drivers/base/firmware_loader/builtin/built-in.a
  CC      drivers/base/firmware_loader/main.o
  CC      drivers/block/loop.o
  CC      kernel/trace/trace_functions_graph.o
  AR      drivers/connector/built-in.a
  AR      drivers/misc/eeprom/built-in.a
  AR      drivers/misc/cb710/built-in.a
  AR      drivers/misc/ti-st/built-in.a
  CC      net/ipv6/datagram.o
  AR      drivers/misc/lis3lv02d/built-in.a
  AR      drivers/misc/cardreader/built-in.a
  CC      lib/zstd/common/error_private.o
  CC [M]  drivers/misc/mei/hdcp/mei_hdcp.o
  CC [M]  drivers/misc/mei/pxp/mei_pxp.o
  CC      lib/zstd/common/fse_decompress.o
  CC [M]  drivers/gpu/drm/tests/drm_framebuffer_test.o
  CC      drivers/acpi/acpica/exregion.o
  CC      fs/open.o
  CC      arch/x86/kernel/time.o
  CC      fs/ext4/symlink.o
  CC      fs/btrfs/dir-item.o
  CC      drivers/mfd/mfd-core.o
  CC      kernel/time/tick-broadcast.o
  CC      drivers/base/power/runtime.o
  CC      drivers/char/tpm/eventlog/acpi.o
  AR      net/sunrpc/built-in.a
  CC      arch/x86/kernel/ioport.o
  CC      kernel/time/tick-broadcast-hrtimer.o
  CC      drivers/acpi/scan.o
  CC      fs/read_write.o
  CC      fs/file_table.o
  CC [M]  net/netfilter/nf_nat_masquerade.o
  CC      drivers/acpi/resource.o
  CC      drivers/char/tpm/eventlog/efi.o
  CC [M]  drivers/block/nbd.o
  AR      drivers/iommu/intel/built-in.a
  AR      drivers/iommu/arm/arm-smmu/built-in.a
  CC      drivers/acpi/acpica/exresnte.o
  AR      drivers/iommu/arm/arm-smmu-v3/built-in.a
  AR      drivers/iommu/arm/built-in.a
  AR      drivers/iommu/iommufd/built-in.a
  CC      drivers/iommu/iommu.o
  CC      net/core/netprio_cgroup.o
  CC [M]  drivers/gpu/drm/tests/drm_managed_test.o
  AR      drivers/nfc/built-in.a
  AR      drivers/dax/hmem/built-in.a
  CC      drivers/dax/super.o
  CC      net/core/dst_cache.o
  CC [M]  fs/overlayfs/util.o
  CC      drivers/char/tpm/tpm_crb.o
  AR      drivers/base/firmware_loader/built-in.a
  CC      drivers/base/regmap/regmap.o
  CC [M]  drivers/misc/mei/init.o
  CC      lib/zstd/common/zstd_common.o
  CC      drivers/base/regmap/regcache.o
  CC      kernel/trace/fgraph.o
  CC      drivers/acpi/acpica/exresolv.o
  CC [M]  drivers/misc/mei/hbm.o
  AR      lib/zstd/built-in.a
  CC      fs/nfs/nfs2xdr.o
  CC      lib/flex_proportions.o
  CC [M]  fs/fuse/control.o
  CC      net/ipv6/ip6_flowlabel.o
  CC      kernel/time/tick-oneshot.o
  CC      arch/x86/kernel/dumpstack.o
  CC [M]  drivers/gpu/drm/tests/drm_mm_test.o
  CC [M]  arch/x86/kvm/mmu/tdp_mmu.o
  CC [M]  drivers/gpu/drm/display/drm_dsc_helper.o
  CC      net/ipv6/inet6_connection_sock.o
  CC      drivers/mfd/intel-lpss.o
  CC      kernel/trace/blktrace.o
  AR      drivers/base/test/built-in.a
  CC      drivers/base/component.o
  CC [M]  drivers/gpu/drm/tests/drm_modes_test.o
  CC      drivers/dax/bus.o
  CC      drivers/acpi/acpica/exresop.o
  CC      lib/idr.o
  CC      drivers/acpi/acpica/exserial.o
  CC      fs/btrfs/file-item.o
  CC      drivers/base/power/wakeirq.o
  CC      arch/x86/kernel/nmi.o
  CC      kernel/time/tick-sched.o
  CC      fs/ext4/sysfs.o
  CC      drivers/base/power/main.o
  CC      fs/nfs/nfs3super.o
  CC [M]  fs/cifs/link.o
  CONMK   drivers/tty/vt/consolemap_deftbl.c
  CC [M]  drivers/gpu/drm/tests/drm_plane_helper_test.o
  CC      drivers/tty/vt/defkeymap.o
  CC [M]  fs/fuse/xattr.o
  AR      drivers/char/tpm/built-in.a
  CC      drivers/char/random.o
  CC      net/ipv4/fib_frontend.o
  CC      fs/nfs/nfs3client.o
  CC [M]  net/netfilter/x_tables.o
  CC      net/core/gro_cells.o
  CC      mm/page_alloc.o
  CC      drivers/mfd/intel-lpss-pci.o
  CC      drivers/base/power/wakeup.o
  CC      drivers/tty/vt/consolemap_deftbl.o
  CC      drivers/acpi/acpica/exstore.o
  AR      drivers/tty/vt/built-in.a
  CC [M]  drivers/gpu/drm/tests/drm_probe_helper_test.o
  CC [M]  fs/overlayfs/inode.o
  CC      drivers/tty/serial/8250/8250_core.o
  CC      drivers/tty/serial/8250/8250_pnp.o
  CC      drivers/tty/serial/8250/8250_port.o
  CC      drivers/tty/serial/8250/8250_dma.o
  CC [M]  drivers/gpu/drm/tests/drm_rect_test.o
  CC [M]  drivers/gpu/drm/display/drm_hdcp_helper.o
  CC      drivers/tty/serial/serial_core.o
  CC      kernel/trace/trace_events.o
  CC      lib/irq_regs.o
  AR      drivers/misc/built-in.a
  CC [M]  fs/overlayfs/file.o
  CC      drivers/tty/serial/earlycon.o
  CC [M]  drivers/misc/mei/interrupt.o
  CC      fs/super.o
  CC      lib/is_single_threaded.o
  CC      net/ipv6/udp_offload.o
  CC      drivers/acpi/acpica/exstoren.o
  CC      mm/init-mm.o
  CC [M]  fs/fuse/acl.o
  CC [M]  fs/overlayfs/dir.o
  CC      arch/x86/kernel/ldt.o
  CC      drivers/mfd/intel-lpss-acpi.o
  CC      drivers/acpi/acpi_processor.o
  CC      net/ipv6/seg6.o
  CC      fs/char_dev.o
  AR      net/core/built-in.a
  CC      drivers/tty/serial/8250/8250_dwlib.o
  AR      drivers/dax/built-in.a
  CC      kernel/time/vsyscall.o
  CC      fs/ext4/xattr.o
  CC      fs/ext4/xattr_hurd.o
  CC      drivers/base/power/wakeup_stats.o
  CC      drivers/iommu/iommu-traces.o
  CC      lib/klist.o
  CC      fs/nfs/nfs3proc.o
  CC      drivers/base/core.o
  CC [M]  drivers/gpu/drm/display/drm_hdmi_helper.o
  CC      drivers/tty/serial/8250/8250_pci.o
  CC      kernel/time/timekeeping_debug.o
  CC      drivers/acpi/acpica/exstorob.o
  CC [M]  fs/cifs/misc.o
  CC      drivers/dma-buf/dma-buf.o
  CC      drivers/mfd/intel_soc_pmic_crc.o
  CC [M]  drivers/mfd/lpc_sch.o
  CC [M]  drivers/misc/mei/client.o
  CC [M]  drivers/mfd/lpc_ich.o
  CC [M]  fs/cifs/netmisc.o
  CC [M]  fs/cifs/smbencrypt.o
  CC      drivers/tty/serial/8250/8250_exar.o
  CC [M]  fs/fuse/readdir.o
  CC      drivers/tty/serial/serial_mctrl_gpio.o
  CC      lib/kobject.o
  AR      drivers/block/built-in.a
  CC      arch/x86/kernel/setup.o
  CC      drivers/char/misc.o
  CC      drivers/base/power/domain.o
  CC      drivers/char/virtio_console.o
  CC      fs/ext4/xattr_trusted.o
  CC      fs/stat.o
  CC      drivers/acpi/acpica/exsystem.o
  CC      drivers/base/bus.o
  CC      fs/btrfs/inode-item.o
  CC      drivers/base/power/domain_governor.o
  CC [M]  drivers/gpu/drm/display/drm_scdc_helper.o
  CC      kernel/time/namespace.o
  CC      fs/exec.o
  CC      drivers/base/regmap/regcache-rbtree.o
  CC [M]  fs/overlayfs/readdir.o
  CC      fs/ext4/xattr_user.o
  CC      drivers/base/dd.o
  CC      fs/pipe.o
  CC      net/ipv6/fib6_notifier.o
  CC      drivers/base/syscore.o
  CC      drivers/iommu/iommu-sysfs.o
  CC      drivers/acpi/acpica/extrace.o
  CC      drivers/acpi/acpica/exutils.o
  CC      net/ipv4/fib_semantics.o
  CC      net/ipv4/fib_trie.o
  CC      net/ipv6/rpl.o
  CC [M]  fs/overlayfs/copy_up.o
  CC      drivers/base/regmap/regcache-flat.o
  CC [M]  net/netfilter/xt_tcpudp.o
  CC      fs/ext4/fast_commit.o
  CC      net/ipv4/fib_notifier.o
  CC      fs/ext4/orphan.o
  CC      lib/kobject_uevent.o
  AR      drivers/mfd/built-in.a
  CC      net/ipv6/ioam6.o
  CC      drivers/tty/serial/8250/8250_early.o
  CC [M]  arch/x86/kvm/smm.o
  CC [M]  fs/fuse/ioctl.o
  CC      fs/nfs/nfs3xdr.o
  CC      drivers/tty/serial/8250/8250_dw.o
  CC      drivers/acpi/processor_core.o
  CC      drivers/dma-buf/dma-fence.o
  CC [M]  drivers/gpu/drm/display/drm_dp_aux_dev.o
  CC      drivers/base/driver.o
  AR      kernel/time/built-in.a
  CC      kernel/signal.o
  CC      drivers/acpi/acpica/hwacpi.o
  CC [M]  arch/x86/kvm/vmx/vmx.o
  CC      drivers/base/regmap/regmap-debugfs.o
  CC      kernel/sys.o
  CC      arch/x86/kernel/x86_init.o
  CC      drivers/iommu/dma-iommu.o
  CC      fs/btrfs/disk-io.o
  CC [M]  fs/cifs/transport.o
  CC      drivers/tty/serial/8250/8250_lpss.o
  CC      fs/namei.o
  CC      kernel/trace/trace_export.o
  CC      net/ipv6/sysctl_net_ipv6.o
  CC [M]  arch/x86/kvm/kvm-asm-offsets.s
  CC      arch/x86/kernel/i8259.o
  CC      drivers/tty/serial/8250/8250_mid.o
  CC      drivers/acpi/acpica/hwesleep.o
  CC      drivers/acpi/processor_pdc.o
  CC      drivers/base/power/clock_ops.o
  CC      kernel/trace/trace_event_perf.o
  CC      drivers/dma-buf/dma-fence-array.o
  CC      drivers/char/hpet.o
  CC      drivers/acpi/acpica/hwgpe.o
  CC      drivers/acpi/acpica/hwregs.o
  CC      arch/x86/kernel/irqinit.o
  AR      drivers/cxl/core/built-in.a
  AR      drivers/cxl/built-in.a
  CC      fs/btrfs/transaction.o
  LD [M]  fs/fuse/fuse.o
  CC [M]  fs/overlayfs/export.o
  CC      drivers/iommu/ioasid.o
  CC      lib/logic_pio.o
  CC      fs/btrfs/inode.o
  AR      drivers/macintosh/built-in.a
  CC      fs/btrfs/file.o
  CC [M]  drivers/misc/mei/main.o
  CC [M]  fs/cifs/cached_dir.o
  CC      drivers/iommu/iova.o
  CC      lib/maple_tree.o
  CC      drivers/base/regmap/regmap-i2c.o
  CC [M]  net/netfilter/xt_mark.o
  CC      drivers/tty/serial/8250/8250_pericom.o
  CC      drivers/iommu/irq_remapping.o
  LD [M]  drivers/gpu/drm/display/drm_display_helper.o
  CC      drivers/dma-buf/dma-fence-chain.o
  CC      drivers/char/nvram.o
  CC      drivers/acpi/ec.o
  AR      drivers/gpu/drm/tilcdc/built-in.a
  AR      drivers/gpu/drm/imx/built-in.a
  AR      drivers/gpu/drm/i2c/built-in.a
  CC      kernel/trace/trace_events_filter.o
  AR      drivers/gpu/drm/panel/built-in.a
  CC      drivers/base/regmap/regmap-irq.o
  AR      drivers/gpu/drm/bridge/analogix/built-in.a
  AR      drivers/gpu/drm/bridge/cadence/built-in.a
  AR      drivers/gpu/drm/bridge/imx/built-in.a
  CC      drivers/dma-buf/dma-fence-unwrap.o
  CC      drivers/acpi/dock.o
  AR      drivers/gpu/drm/bridge/synopsys/built-in.a
  AR      drivers/gpu/drm/bridge/built-in.a
  AR      drivers/gpu/drm/hisilicon/built-in.a
  CC      fs/fcntl.o
  AR      drivers/gpu/drm/mxsfb/built-in.a
  AR      drivers/gpu/drm/tiny/built-in.a
  AR      drivers/gpu/drm/xlnx/built-in.a
  AR      drivers/gpu/drm/gud/built-in.a
  CC      net/ipv4/inet_fragment.o
  CC      net/ipv6/xfrm6_policy.o
  AR      drivers/gpu/drm/solomon/built-in.a
  AR      drivers/base/power/built-in.a
  CC      drivers/acpi/pci_root.o
  CC [M]  drivers/gpu/drm/ttm/ttm_tt.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo.o
  CC      drivers/acpi/acpica/hwsleep.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo_util.o
  CC      drivers/base/class.o
  CC [M]  fs/cifs/cifs_unicode.o
  CC      kernel/trace/trace_events_trigger.o
  CC      lib/memcat_p.o
  CC [M]  drivers/gpu/drm/scheduler/sched_main.o
  CC [M]  drivers/gpu/drm/scheduler/sched_fence.o
  CC      arch/x86/kernel/jump_label.o
  CC [M]  arch/x86/kvm/vmx/pmu_intel.o
  CC      net/ipv6/xfrm6_state.o
  LD [M]  fs/overlayfs/overlay.o
  AR      drivers/tty/serial/8250/built-in.a
  CC [M]  fs/cifs/nterr.o
  AR      drivers/tty/serial/built-in.a
  CC      drivers/dma-buf/dma-resv.o
  AR      drivers/tty/ipwireless/built-in.a
  CC      drivers/tty/tty_io.o
  CC [M]  drivers/misc/mei/dma-ring.o
  CC [M]  net/netfilter/xt_nat.o
  AR      drivers/iommu/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.o
  CC      drivers/scsi/scsi.o
  CC      drivers/acpi/acpica/hwvalid.o
  AR      drivers/char/built-in.a
  CC      drivers/scsi/hosts.o
  CC      drivers/acpi/acpica/hwxface.o
  CC [M]  fs/cifs/cifsencrypt.o
  CC [M]  drivers/gpu/drm/i915/i915_driver.o
  CC      drivers/scsi/scsi_ioctl.o
  CC [M]  drivers/gpu/drm/i915/i915_drm_client.o
  AR      fs/nfs/built-in.a
  CC [M]  drivers/gpu/drm/scheduler/sched_entity.o
  CC      drivers/base/platform.o
  CC      lib/nmi_backtrace.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  CC      arch/x86/kernel/irq_work.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  CC [M]  fs/cifs/readdir.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo_vm.o
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  CC      drivers/nvme/host/core.o
  CC      fs/ioctl.o
  AR      drivers/nvme/target/built-in.a
  CC [M]  fs/cifs/ioctl.o
  CC      drivers/acpi/acpica/hwxfsleep.o
  CC [M]  drivers/misc/mei/bus.o
  CC      drivers/dma-buf/sync_file.o
  CC      drivers/scsi/scsicam.o
  AR      drivers/base/regmap/built-in.a
  CC      net/ipv6/xfrm6_input.o
  CC      kernel/umh.o
  CC      fs/readdir.o
  CC [M]  drivers/gpu/drm/ttm/ttm_module.o
  CC      drivers/scsi/scsi_error.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC      drivers/scsi/scsi_lib.o
  CC      kernel/workqueue.o
  CC      drivers/acpi/pci_link.o
  CC      kernel/trace/trace_eprobe.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  CC      drivers/base/cpu.o
  CC [M]  fs/cifs/sess.o
  CC      drivers/acpi/acpica/hwpci.o
  CC      lib/plist.o
  CC [M]  net/netfilter/xt_REDIRECT.o
  CC      net/ipv4/ping.o
  CC      drivers/scsi/scsi_lib_dma.o
  CC      lib/radix-tree.o
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.o
  CC      drivers/base/firmware.o
  CC      mm/memblock.o
  CC      kernel/trace/trace_kprobe.o
  CC      mm/memory_hotplug.o
  CC      lib/ratelimit.o
  CC      arch/x86/kernel/probe_roms.o
  CC [M]  arch/x86/kvm/vmx/vmcs12.o
  CC      drivers/base/init.o
  CC      drivers/dma-buf/sw_sync.o
  CC [M]  drivers/gpu/drm/vgem/vgem_drv.o
  CC [M]  drivers/gpu/drm/ttm/ttm_execbuf_util.o
  CC [M]  drivers/gpu/drm/ttm/ttm_range_manager.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_device.o
  CC [M]  drivers/gpu/drm/vgem/vgem_fence.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.o
  CC      drivers/acpi/acpica/nsaccess.o
  CC      lib/rbtree.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC      kernel/trace/error_report-traces.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/object.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.o
  CC      kernel/trace/power-traces.o
  CC [M]  drivers/gpu/drm/ast/ast_drv.o
  CC      drivers/gpu/drm/drm_mipi_dsi.o
  CC [M]  drivers/misc/mei/bus-fixup.o
  CC      fs/select.o
  CC [M]  drivers/gpu/drm/i915/i915_config.o
  CC      drivers/scsi/scsi_scan.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/client.o
  CC      drivers/tty/n_tty.o
  CC      drivers/base/map.o
  CC      arch/x86/kernel/sys_ia32.o
  CC      net/ipv6/xfrm6_output.o
  CC      fs/btrfs/defrag.o
  CC [M]  drivers/gpu/drm/i915/i915_getparam.o
  CC      fs/dcache.o
  CC      drivers/acpi/acpica/nsalloc.o
  CC      drivers/tty/tty_ioctl.o
  CC      drivers/acpi/acpica/nsarguments.o
  CC [M]  drivers/gpu/drm/ttm/ttm_resource.o
  CC      drivers/acpi/acpica/nsconvert.o
  CC      drivers/acpi/acpica/nsdump.o
  CC      fs/inode.o
  LD [M]  drivers/gpu/drm/vgem/vgem.o
  CC [M]  drivers/misc/mei/debugfs.o
  CC      drivers/dma-buf/sync_debug.o
  CC      drivers/acpi/pci_irq.o
  CC      fs/btrfs/extent_map.o
  CC [M]  net/netfilter/xt_MASQUERADE.o
  CC      arch/x86/kernel/signal_32.o
  CC [M]  arch/x86/kvm/vmx/hyperv.o
  CC      kernel/trace/rpm-traces.o
  CC      drivers/base/devres.o
  CC      drivers/base/attribute_container.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  GEN     drivers/scsi/scsi_devinfo_tbl.c
  CC      net/ipv6/xfrm6_protocol.o
  CC [M]  arch/x86/kvm/vmx/nested.o
  CC      drivers/base/transport_class.o
  CC [M]  drivers/gpu/drm/ttm/ttm_pool.o
  CC [M]  fs/cifs/export.o
  CC [M]  drivers/gpu/drm/ast/ast_i2c.o
  CC [M]  drivers/gpu/drm/ttm/ttm_device.o
  CC      kernel/trace/trace_dynevent.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/conn.o
  CC      drivers/acpi/acpica/nseval.o
  CC      kernel/trace/trace_probe.o
  CC      net/ipv4/ip_tunnel_core.o
  CC [M]  drivers/misc/mei/mei-trace.o
  CC      mm/madvise.o
  CC      mm/page_io.o
  CC [M]  drivers/dma-buf/selftest.o
  CC      drivers/scsi/scsi_devinfo.o
  CC      drivers/base/topology.o
  CC [M]  drivers/gpu/drm/i915/i915_ioctl.o
  CC      fs/btrfs/sysfs.o
  CC      drivers/acpi/acpi_lpss.o
  CC [M]  drivers/dma-buf/st-dma-fence.o
  CC      drivers/acpi/acpica/nsinit.o
  CC [M]  arch/x86/kvm/vmx/posted_intr.o
  CC      arch/x86/kernel/sys_x86_64.o
  CC      mm/swap_state.o
  CC      arch/x86/kernel/espfix_64.o
  AR      fs/ext4/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC      fs/attr.o
  CC      fs/bad_inode.o
  CC      fs/file.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.o
  CC      drivers/scsi/scsi_sysctl.o
  CC [M]  net/netfilter/xt_addrtype.o
  CC      kernel/trace/trace_uprobe.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_crtc.o
  CC      mm/swapfile.o
  LD [M]  arch/x86/kvm/kvm.o
  CC [M]  drivers/gpu/drm/ast/ast_main.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/device.o
  CC      lib/seq_buf.o
  CC [M]  drivers/gpu/drm/ttm/ttm_sys_manager.o
  UPD     arch/x86/kvm/kvm-asm-offsets.h
  CC [M]  drivers/dma-buf/st-dma-fence-chain.o
  CC [M]  fs/cifs/unc.o
  CC      drivers/tty/tty_ldisc.o
  CC      arch/x86/kernel/ksysfs.o
  CC      drivers/base/container.o
  CC      drivers/acpi/acpica/nsload.o
  CC [M]  drivers/misc/mei/pci-me.o
  CC      drivers/acpi/acpica/nsnames.o
  CC      net/ipv6/netfilter.o
  CC      fs/btrfs/accessors.o
  AS [M]  arch/x86/kvm/vmx/vmenter.o
  CC      fs/filesystems.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.o
  CC [M]  drivers/gpu/drm/i915/i915_irq.o
  CC [M]  fs/cifs/winucase.o
  CC      arch/x86/kernel/bootflag.o
  CC      drivers/base/property.o
  CC      drivers/scsi/scsi_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/disp.o
  CC      net/ipv4/gre_offload.o
  CC      arch/x86/kernel/e820.o
  CC [M]  drivers/gpu/drm/ttm/ttm_agp_backend.o
  CC [M]  drivers/gpu/drm/i915/i915_mitigations.o
  CC [M]  drivers/gpu/drm/i915/i915_module.o
  CC      mm/swap_slots.o
  CC      drivers/base/cacheinfo.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/driver.o
  CC [M]  drivers/gpu/drm/ast/ast_mm.o
  CC      net/ipv4/metrics.o
  CC      kernel/pid.o
  CC      drivers/acpi/acpica/nsobject.o
  CC      net/ipv4/netlink.o
  CC      net/ipv4/nexthop.o
  CC      lib/show_mem.o
  CC [M]  fs/cifs/smb2ops.o
  CC [M]  drivers/gpu/drm/xe/xe_engine.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/event.o
  CC      net/ipv4/udp_tunnel_stub.o
  CC      kernel/task_work.o
  CC      drivers/tty/tty_buffer.o
  CC [M]  drivers/misc/mei/hw-me.o
  CC      fs/namespace.o
  CC      drivers/nvme/host/ioctl.o
  CC [M]  net/netfilter/xt_conntrack.o
  CC      drivers/acpi/acpi_apd.o
  CC [M]  drivers/dma-buf/st-dma-fence-unwrap.o
  CC      drivers/base/swnode.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/fifo.o
  CC      drivers/scsi/scsi_trace.o
  CC [M]  drivers/gpu/drm/ast/ast_mode.o
  LD [M]  drivers/gpu/drm/ttm/ttm.o
  CC      drivers/acpi/acpica/nsparse.o
  CC      drivers/base/auxiliary.o
  CC [M]  net/netfilter/xt_ipvs.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/head.o
  CC      drivers/acpi/acpi_platform.o
  CC      drivers/scsi/scsi_logging.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atom.o
  CC      drivers/scsi/scsi_pm.o
  CC      drivers/acpi/acpica/nspredef.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/mem.o
  CC      lib/siphash.o
  CC      fs/seq_file.o
  CC      drivers/ata/libata-core.o
  CC      fs/xattr.o
  CC      drivers/ata/libata-scsi.o
  CC      mm/dmapool.o
  CC [M]  drivers/gpu/drm/i915/i915_params.o
  CC      net/ipv6/fib6_rules.o
  CC      kernel/extable.o
  CC      net/ipv6/proc.o
  CC      fs/libfs.o
  CC      arch/x86/kernel/pci-dma.o
  CC      kernel/params.o
  CC      fs/btrfs/xattr.o
  CC      net/ipv6/syncookies.o
  CC [M]  drivers/gpu/drm/i915/i915_pci.o
  CC [M]  drivers/dma-buf/st-dma-resv.o
  CC      drivers/tty/tty_port.o
  CC      net/ipv6/mip6.o
  CC      arch/x86/kernel/quirks.o
  CC [M]  drivers/misc/mei/gsc-me.o
  CC      kernel/trace/rethook.o
  CC      drivers/acpi/acpica/nsprepkg.o
  CC      fs/fs-writeback.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/mmu.o
  CC      drivers/acpi/acpica/nsrepair.o
  CC      lib/string.o
  CC      kernel/kthread.o
  CC      drivers/acpi/acpi_pnp.o
  CC      drivers/base/devtmpfs.o
  CC      kernel/sys_ni.o
  CC      drivers/scsi/scsi_bsg.o
  CC      fs/pnode.o
  CC      net/ipv6/addrconf_core.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/outp.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC      drivers/nvme/host/trace.o
  AR      drivers/dma-buf/built-in.a
  LD [M]  drivers/dma-buf/dmabuf_selftests.o
  CC      drivers/spi/spi.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/timer.o
  CC      mm/hugetlb.o
  CC      drivers/acpi/acpica/nsrepair2.o
  CC      arch/x86/kernel/topology.o
  CC      mm/hugetlb_vmemmap.o
  LD [M]  net/netfilter/nf_conntrack.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/vmm.o
  LD [M]  net/netfilter/nf_nat.o
  CC [M]  drivers/gpu/drm/ast/ast_post.o
  AR      net/netfilter/built-in.a
  CC      net/ipv6/exthdrs_core.o
  CC      mm/sparse.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/user.o
  CC      drivers/acpi/acpica/nssearch.o
  CC      arch/x86/kernel/kdebugfs.o
  AR      kernel/trace/built-in.a
  CC      drivers/acpi/power.o
  CC      lib/timerqueue.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/userc361.o
  CC      drivers/tty/tty_mutex.o
  CC      drivers/acpi/acpica/nsutils.o
  CC      arch/x86/kernel/alternative.o
  CC      drivers/scsi/scsi_common.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/client.o
  CC      drivers/ata/libata-eh.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/engine.o
  CC      lib/vsprintf.o
  CC      fs/splice.o
  CC      arch/x86/kernel/i8253.o
  CC [M]  drivers/gpu/drm/ast/ast_dp501.o
  CC      mm/sparse-vmemmap.o
  CC      drivers/tty/tty_ldsem.o
  CC [M]  drivers/gpu/drm/i915/i915_scatterlist.o
  LD [M]  drivers/misc/mei/mei.o
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      mm/mmu_notifier.o
  CC      drivers/base/memory.o
  CC      drivers/acpi/acpica/nswalk.o
  LD [M]  drivers/misc/mei/mei-gsc.o
  CC      fs/btrfs/ordered-data.o
  LD [M]  drivers/misc/mei/mei-me.o
  CC      fs/sync.o
  CC      drivers/tty/tty_baudrate.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC      fs/utimes.o
  CC      net/ipv6/ip6_checksum.o
  CC      drivers/acpi/event.o
  CC      drivers/nvme/host/pci.o
  CC      arch/x86/kernel/tsc.o
  CC      drivers/scsi/sd.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC      arch/x86/kernel/tsc_msr.o
  CC      fs/btrfs/extent_io.o
  CC      net/ipv4/sysctl_net_ipv4.o
  CC      arch/x86/kernel/io_delay.o
  CC      fs/d_path.o
  CC [M]  drivers/gpu/drm/i915/i915_suspend.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/enum.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fence.o
  CC      drivers/acpi/acpica/nsxfeval.o
  CC      arch/x86/kernel/rtc.o
  CC      drivers/acpi/evged.o
  CC      kernel/nsproxy.o
  CC      drivers/acpi/sysfs.o
  CC      drivers/acpi/property.o
  CC      drivers/net/phy/mdio-boardinfo.o
  CC      drivers/net/phy/mdio_devres.o
  CC [M]  drivers/gpu/drm/i915/i915_switcheroo.o
  CC      drivers/acpi/acpi_cmos_rtc.o
  CC      drivers/tty/tty_jobctrl.o
  CC      arch/x86/kernel/resource.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/event.o
  AR      drivers/net/pse-pd/built-in.a
  CC [M]  drivers/gpu/drm/ast/ast_dp.o
  CC      kernel/notifier.o
  CC      drivers/base/module.o
  CC [M]  drivers/gpu/drm/drm_aperture.o
  CC [M]  drivers/gpu/drm/i915/i915_sysfs.o
  CC      drivers/ata/libata-transport.o
  CC [M]  drivers/gpu/drm/i915/i915_utils.o
  CC      mm/ksm.o
  CC      fs/btrfs/volumes.o
  CC [M]  drivers/gpu/drm/drm_atomic.o
  CC [M]  drivers/gpu/drm/drm_atomic_uapi.o
  CC      drivers/base/pinctrl.o
  CC      drivers/acpi/acpica/nsxfname.o
  CC      lib/win_minmax.o
  CC      lib/xarray.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/firmware.o
  CC      net/ipv4/proc.o
  CC      fs/btrfs/async-thread.o
  CC      net/ipv6/ip6_icmp.o
  AS      arch/x86/kernel/irqflags.o
  CC      arch/x86/kernel/static_call.o
  CC      lib/lockref.o
  CC      drivers/base/platform-msi.o
  CC      drivers/base/physical_location.o
  CC      fs/stack.o
  CC      fs/btrfs/ioctl.o
  CC      net/ipv6/output_core.o
  CC      drivers/acpi/acpica/nsxfobj.o
  CC      net/ipv4/syncookies.o
  CC      drivers/net/phy/phy.o
  CC      drivers/acpi/x86/apple.o
  CC [M]  fs/cifs/smb2maperror.o
  CC      arch/x86/kernel/process.o
  CC      kernel/ksysfs.o
  CC      net/ipv6/protocol.o
  LD [M]  arch/x86/kvm/kvm-intel.o
  CC      drivers/acpi/x86/utils.o
  CC      fs/btrfs/locking.o
  LD [M]  drivers/gpu/drm/ast/ast.o
  CC      drivers/tty/n_null.o
  CC [M]  drivers/gpu/drm/drm_auth.o
  CC      fs/fs_struct.o
  CC      drivers/acpi/x86/s2idle.o
  CC [M]  drivers/gpu/drm/i915/intel_device_info.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/gpuobj.o
  CC      drivers/acpi/acpica/psargs.o
  CC      kernel/cred.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.o
  CC      drivers/acpi/acpica/psloop.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC [M]  drivers/gpu/drm/i915/intel_memory_region.o
  CC      fs/btrfs/orphan.o
  CC [M]  drivers/gpu/drm/drm_blend.o
  CC      drivers/base/trace.o
  CC [M]  drivers/gpu/drm/drm_bridge.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_object.o
  CC      lib/bcd.o
  CC      lib/sort.o
  CC      drivers/acpi/debugfs.o
  CC      drivers/tty/pty.o
  CC      lib/parser.o
  CC      kernel/reboot.o
  CC      drivers/tty/sysrq.o
  CC      fs/statfs.o
  CC      drivers/acpi/acpica/psobject.o
  CC      fs/fs_pin.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/intr.o
  CC      mm/slub.o
  CC      drivers/acpi/acpica/psopcode.o
  CC      drivers/scsi/sg.o
  CC      arch/x86/kernel/ptrace.o
  CC      drivers/net/mdio/acpi_mdio.o
  CC      fs/btrfs/export.o
  CC      net/ipv6/ip6_offload.o
  CC      drivers/net/mdio/fwnode_mdio.o
  CC      net/ipv6/tcpv6_offload.o
  CC      arch/x86/kernel/tls.o
  CC      arch/x86/kernel/step.o
  CC      lib/debug_locks.o
  AR      drivers/nvme/host/built-in.a
  AR      drivers/nvme/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC [M]  drivers/gpu/drm/i915/intel_pcode.o
  AR      drivers/base/built-in.a
  CC [M]  drivers/gpu/drm/i915/intel_pm.o
  CC      arch/x86/kernel/i8237.o
  CC      lib/random32.o
  CC [M]  drivers/gpu/drm/drm_cache.o
  AR      drivers/net/pcs/built-in.a
  CC      fs/nsfs.o
  CC      fs/btrfs/tree-log.o
  CC      net/ipv4/esp4.o
  CC      fs/btrfs/free-space-cache.o
  AR      drivers/spi/built-in.a
  CC [M]  fs/cifs/smb2transport.o
  CC      drivers/acpi/acpica/psopinfo.o
  CC      kernel/async.o
  CC [M]  fs/cifs/smb2misc.o
  CC [M]  drivers/gpu/drm/drm_client.o
  CC      drivers/acpi/acpi_lpat.o
  CC      drivers/net/phy/phy-c45.o
  CC      drivers/acpi/acpica/psparse.o
  CC      drivers/ata/libata-trace.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gart.o
  CC      fs/btrfs/zlib.o
  CC      net/ipv4/esp4_offload.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/ioctl.o
  CC [M]  drivers/gpu/drm/drm_client_modeset.o
  CC      fs/btrfs/lzo.o
  CC      drivers/acpi/acpica/psscope.o
  CC      arch/x86/kernel/stacktrace.o
  CC      lib/bust_spinlocks.o
  CC      lib/kasprintf.o
  CC      drivers/net/phy/phy-core.o
  AR      drivers/tty/built-in.a
  AR      drivers/firewire/built-in.a
  CC      mm/migrate.o
  CC      net/ipv6/exthdrs_offload.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.o
  AR      drivers/net/mdio/built-in.a
  CC      arch/x86/kernel/reboot.o
  CC      arch/x86/kernel/msr.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC      drivers/acpi/acpi_lpit.o
  CC      mm/migrate_device.o
  CC      kernel/range.o
  CC      fs/btrfs/zstd.o
  CC      mm/huge_memory.o
  CC      drivers/acpi/prmt.o
  CC      drivers/acpi/acpi_pcc.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC      net/ipv6/inet6_hashtables.o
  CC      kernel/smpboot.o
  CC      drivers/acpi/acpica/pstree.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_display.o
  CC      fs/fs_types.o
  CC      net/ipv6/mcast_snoop.o
  CC      net/ipv4/netfilter.o
  CC      fs/btrfs/compression.o
  CC [M]  net/ipv6/ip6_udp_tunnel.o
  CC      lib/bitmap.o
  CC      kernel/ucount.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/memory.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/mm.o
  CC      drivers/ata/libata-sata.o
  CC      drivers/acpi/ac.o
  CC      fs/fs_context.o
  CC [M]  drivers/gpu/drm/i915/intel_region_ttm.o
  CC      drivers/acpi/button.o
  AR      drivers/cdrom/built-in.a
  CC      drivers/acpi/fan_core.o
  CC      arch/x86/kernel/cpuid.o
  CC      drivers/acpi/acpica/psutils.o
  CC [M]  drivers/gpu/drm/i915/intel_runtime_pm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/object.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  CC      drivers/net/phy/phy_device.o
  CC      drivers/scsi/scsi_sysfs.o
  AR      drivers/auxdisplay/built-in.a
  CC      net/ipv4/inet_diag.o
  CC      drivers/ata/libata-sff.o
  CC      arch/x86/kernel/early-quirks.o
  CC      arch/x86/kernel/smp.o
  CC [M]  drivers/gpu/drm/drm_color_mgmt.o
  CC      fs/btrfs/delayed-ref.o
  CC      fs/btrfs/relocation.o
  CC      net/ipv4/tcp_diag.o
  CC      kernel/regset.o
  CC      arch/x86/kernel/smpboot.o
  CC      fs/btrfs/delayed-inode.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC      drivers/acpi/acpica/pswalk.o
  CC      fs/btrfs/scrub.o
  CC      drivers/acpi/fan_attr.o
  CC      kernel/kmod.o
  CC [M]  fs/cifs/smb2pdu.o
  CC [M]  fs/cifs/smb2inode.o
  CC      net/ipv4/udp_diag.o
  CC      drivers/net/phy/linkmode.o
  CC      lib/scatterlist.o
  CC      drivers/acpi/processor_driver.o
  CC      drivers/acpi/processor_thermal.o
  CC      kernel/groups.o
  CC      fs/btrfs/backref.o
  CC      kernel/kcmp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/oproxy.o
  CC      arch/x86/kernel/tsc_sync.o
  CC      drivers/acpi/acpica/psxface.o
  CC      lib/list_sort.o
  CC      lib/uuid.o
  AR      drivers/net/ethernet/adi/built-in.a
  CC      drivers/acpi/processor_idle.o
  AR      drivers/net/ethernet/alacritech/built-in.a
  AR      net/ipv6/built-in.a
  AR      drivers/net/ethernet/amazon/built-in.a
  CC      fs/fs_parser.o
  AR      drivers/net/ethernet/aquantia/built-in.a
  AR      drivers/net/ethernet/asix/built-in.a
  CC      drivers/acpi/acpica/rsaddr.o
  AR      drivers/net/ethernet/cadence/built-in.a
  AR      drivers/net/ethernet/broadcom/built-in.a
  CC [M]  drivers/net/ethernet/broadcom/b44.o
  CC [M]  drivers/gpu/drm/i915/intel_sbi.o
  CC      kernel/freezer.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC      fs/fsopen.o
  CC [M]  drivers/net/ethernet/broadcom/bnx2.o
  AR      drivers/net/ethernet/cavium/common/built-in.a
  CC      mm/khugepaged.o
  AR      drivers/net/ethernet/cavium/liquidio/built-in.a
  AR      drivers/net/ethernet/cavium/thunder/built-in.a
  CC      mm/page_counter.o
  CC [M]  drivers/gpu/drm/i915/intel_step.o
  AR      drivers/net/ethernet/cavium/octeon/built-in.a
  AR      drivers/net/ethernet/cavium/built-in.a
  CC      drivers/ata/libata-pmp.o
  AR      drivers/net/ethernet/cortina/built-in.a
  CC      drivers/ata/libata-acpi.o
  AR      drivers/net/ethernet/engleder/built-in.a
  AR      drivers/net/ethernet/ezchip/built-in.a
  AR      drivers/net/ethernet/fungible/built-in.a
  AR      drivers/net/ethernet/huawei/built-in.a
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_main.o
  CC [M]  fs/cifs/smb2file.o
  CC [M]  drivers/net/ethernet/intel/e1000e/82571.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ich8lan.o
  CC [M]  drivers/net/ethernet/intel/e1000e/80003es2lan.o
  CC      drivers/acpi/acpica/rscalc.o
  CC      drivers/acpi/acpica/rscreate.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.o
  CC      net/ipv4/tcp_cubic.o
  CC [M]  fs/cifs/cifsacl.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ring.o
  CC      kernel/stacktrace.o
  CC      kernel/dma.o
  CC      kernel/smp.o
  CC      fs/btrfs/ulist.o
  AR      drivers/scsi/built-in.a
  CC      drivers/acpi/acpica/rsdumpinfo.o
  CC      fs/btrfs/qgroup.o
  CC      fs/btrfs/send.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/option.o
  CC      lib/iov_iter.o
  CC [M]  drivers/gpu/drm/i915/intel_uncore.o
  CC      arch/x86/kernel/setup_percpu.o
  CC      kernel/uid16.o
  CC      kernel/kallsyms.o
  CC [M]  drivers/net/ethernet/intel/e1000e/mac.o
  CC [M]  drivers/gpu/drm/i915/intel_wakeref.o
  CC      fs/btrfs/dev-replace.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  CC      drivers/acpi/acpica/rsinfo.o
  CC      drivers/acpi/acpica/rsio.o
  CC      drivers/net/phy/mdio_bus.o
  CC      fs/btrfs/raid56.o
  CC      mm/memcontrol.o
  CC [M]  drivers/net/ethernet/broadcom/cnic.o
  CC      fs/btrfs/uuid-tree.o
  CC      kernel/acct.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC      fs/init.o
  CC      mm/vmpressure.o
  CC      drivers/ata/libata-pata-timings.o
  CC      fs/kernel_read_file.o
  CC      arch/x86/kernel/ftrace.o
  AS      arch/x86/kernel/ftrace_64.o
  CC      drivers/acpi/acpica/rsirq.o
  CC [M]  drivers/net/ethernet/broadcom/tg3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/ramht.o
  CC      drivers/acpi/processor_throttling.o
  CC      fs/remap_range.o
  CC [M]  drivers/net/ethernet/intel/e1000e/manage.o
  CC      fs/buffer.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.o
  CC      net/ipv4/xfrm4_policy.o
  CC      fs/btrfs/props.o
  CC [M]  fs/cifs/fs_context.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_hw.o
  CC      drivers/usb/common/common.o
  CC      drivers/usb/common/debug.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_main.o
  CC      drivers/net/phy/mdio_device.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_ethtool.o
  CC      drivers/acpi/acpica/rslist.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_main.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_mac.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  AR      drivers/net/usb/built-in.a
  CC [M]  drivers/net/usb/pegasus.o
  CC      kernel/crash_core.o
  CC      drivers/ata/ahci.o
  CC      mm/swap_cgroup.o
  CC      kernel/compat.o
  CC      arch/x86/kernel/trace_clock.o
  CC      kernel/utsname.o
  CC      drivers/acpi/acpica/rsmemory.o
  CC      arch/x86/kernel/trace.o
  CC      drivers/input/serio/serio.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/subdev.o
  CC      drivers/input/serio/i8042.o
  CC      fs/btrfs/free-space-tree.o
  AR      drivers/usb/common/built-in.a
  CC      drivers/usb/core/usb.o
  CC [M]  drivers/net/ipvlan/ipvlan_core.o
  CC [M]  drivers/net/vxlan/vxlan_core.o
  CC      drivers/acpi/processor_perflib.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_param.o
  CC [M]  drivers/net/ipvlan/ipvlan_main.o
  CC      drivers/net/phy/swphy.o
  CC      drivers/net/loopback.o
  CC [M]  fs/cifs/dns_resolve.o
  CC      drivers/acpi/acpica/rsmisc.o
  CC      net/ipv4/xfrm4_state.o
  CC      drivers/usb/core/hub.o
  CC      fs/btrfs/tree-checker.o
  CC      arch/x86/kernel/rethook.o
  CC      drivers/acpi/container.o
  CC [M]  drivers/net/ipvlan/ipvlan_l3s.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_i225.o
  CC [M]  drivers/net/ethernet/intel/e1000e/nvm.o
  CC      drivers/net/netconsole.o
  CC      kernel/user_namespace.o
  CC      fs/btrfs/space-info.o
  CC      drivers/input/serio/libps2.o
  CC      lib/clz_ctz.o
  CC      kernel/pid_namespace.o
  CC      lib/bsearch.o
  CC      drivers/ata/libahci.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/uevent.o
  CC      drivers/acpi/acpica/rsserial.o
  CC      mm/hugetlb_cgroup.o
  CC [M]  drivers/net/dummy.o
  CC [M]  drivers/net/usb/rtl8150.o
  CC      drivers/net/phy/fixed_phy.o
  CC      mm/kmemleak.o
  CC      arch/x86/kernel/crash_core_64.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC [M]  drivers/net/ethernet/intel/e1000e/phy.o
  CC      fs/btrfs/block-rsv.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_bios.o
  CC      drivers/ata/ata_piix.o
  UPD     kernel/config_data
  CC      kernel/stop_machine.o
  CC      drivers/acpi/acpica/rsutils.o
  CC      fs/btrfs/delalloc-space.o
  CC [M]  drivers/net/macvlan.o
  CC      drivers/acpi/thermal.o
  CC      net/ipv4/xfrm4_input.o
  CC      kernel/kprobes.o
  CC [M]  drivers/gpu/drm/i915/vlv_sideband.o
  CC      lib/find_bit.o
  AR      drivers/input/serio/built-in.a
  CC [M]  drivers/net/vxlan/vxlan_multicast.o
  CC [M]  drivers/net/vxlan/vxlan_vnifilter.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_base.o
  CC      arch/x86/kernel/module.o
  CC [M]  drivers/net/ethernet/intel/e1000e/param.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ethtool.o
  CC      kernel/hung_task.o
  ASN.1   fs/cifs/cifs_spnego_negtokeninit.asn1.[ch]
  AR      drivers/usb/phy/built-in.a
  CC [M]  drivers/gpu/drm/i915/vlv_suspend.o
  CC      drivers/input/input.o
  AR      drivers/input/mouse/built-in.a
  CC      drivers/input/keyboard/atkbd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/fw.o
  CC [M]  drivers/gpu/drm/drm_connector.o
  LD [M]  drivers/net/ipvlan/ipvlan.o
  CC      lib/llist.o
  AR      drivers/net/ethernet/i825xx/built-in.a
  AR      drivers/net/ethernet/microsoft/built-in.a
  CC      lib/memweight.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC      fs/btrfs/block-group.o
  CC      drivers/acpi/acpica/rsxface.o
  LD [M]  drivers/net/ethernet/intel/e1000/e1000.o
  CC [M]  drivers/net/ethernet/intel/igbvf/vf.o
  CC      kernel/watchdog.o
  CC      lib/kfifo.o
  CC      drivers/acpi/acpica/tbdata.o
  CC [M]  drivers/net/mii.o
  CC [M]  drivers/net/phy/phylink.o
  CC [M]  fs/cifs/smb1ops.o
  CC      mm/page_isolation.o
  CC      fs/btrfs/discard.o
  CC [M]  drivers/net/usb/r8152.o
  CC      arch/x86/kernel/early_printk.o
  CC      fs/btrfs/reflink.o
  CC      drivers/acpi/acpi_memhotplug.o
  CC      fs/direct-io.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.o
  CC      drivers/acpi/acpica/tbfadt.o
  CC [M]  drivers/gpu/drm/drm_crtc.o
  CC      drivers/usb/core/hcd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/hs.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC      net/ipv4/xfrm4_output.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC      net/ipv4/xfrm4_protocol.o
  CC [M]  drivers/gpu/drm/drm_displayid.o
  AR      drivers/net/ethernet/litex/built-in.a
  AR      drivers/net/ethernet/microchip/built-in.a
  CC [M]  drivers/gpu/drm/i915/soc/intel_dram.o
  CC [M]  drivers/gpu/drm/drm_drv.o
  CC [M]  drivers/net/ethernet/intel/igbvf/mbx.o
  CC [M]  drivers/gpu/drm/drm_dumb_buffers.o
  CC      drivers/rtc/lib.o
  CC      arch/x86/kernel/hpet.o
  CC      drivers/rtc/class.o
  AR      drivers/ata/built-in.a
  CC      arch/x86/kernel/amd_nb.o
  CC      lib/percpu-refcount.o
  CC      fs/btrfs/subpage.o
  CC [M]  drivers/net/ethernet/intel/e1000e/netdev.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_gmch.o
  CC      drivers/input/input-compat.o
  AR      drivers/input/keyboard/built-in.a
  CC      drivers/acpi/acpica/tbfind.o
  CC      fs/btrfs/tree-mod-log.o
  CC      kernel/watchdog_hld.o
  CC      drivers/usb/core/urb.o
  CC [M]  drivers/net/mdio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/ls.o
  CC [M]  drivers/net/ethernet/intel/igbvf/ethtool.o
  CC      kernel/seccomp.o
  CC      drivers/rtc/interface.o
  CC [M]  net/ipv4/ip_tunnel.o
  CC [M]  drivers/gpu/drm/drm_edid.o
  CC      drivers/acpi/acpica/tbinstal.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ptp.o
  CC      drivers/input/input-mt.o
  CC      kernel/relay.o
  CC [M]  drivers/net/ethernet/intel/igbvf/netdev.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_dp.o
  CC      drivers/rtc/nvmem.o
  CC [M]  drivers/gpu/drm/drm_encoder.o
  CC      drivers/rtc/dev.o
  CC      mm/early_ioremap.o
  CC      lib/rhashtable.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/acr.o
  CC [M]  drivers/net/tun.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC      mm/cma.o
  CC      lib/base64.o
  CC      drivers/acpi/acpica/tbprint.o
  AR      drivers/net/ethernet/mscc/built-in.a
  CC      mm/secretmem.o
  CC      kernel/utsname_sysctl.o
  CC [M]  drivers/net/veth.o
  CC      drivers/input/input-poller.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/flcn.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_nvm.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_pch.o
  CC      fs/btrfs/extent-io-tree.o
  CC      arch/x86/kernel/kvm.o
  CC [M]  fs/cifs/cifssmb.o
  CC [M]  fs/cifs/cifs_spnego_negtokeninit.asn1.o
  CC [M]  fs/cifs/asn1.o
  CC      drivers/acpi/acpica/tbutils.o
  CC      drivers/rtc/proc.o
  CC      drivers/usb/core/message.o
  CC      arch/x86/kernel/kvmclock.o
  CC      lib/once.o
  CC      arch/x86/kernel/paravirt.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_phy.o
  CC      drivers/acpi/acpica/tbxface.o
  CC      mm/userfaultfd.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC      drivers/usb/host/pci-quirks.o
  CC      drivers/usb/storage/scsiglue.o
  CC [M]  drivers/gpu/drm/drm_file.o
  CC [M]  drivers/gpu/drm/drm_fourcc.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC      drivers/usb/storage/protocol.o
  CC [M]  drivers/net/phy/aquantia_main.o
  CC      drivers/input/ff-core.o
  CC      drivers/usb/serial/usb-serial.o
  CC      drivers/usb/storage/transport.o
  CC      drivers/acpi/acpica/tbxfload.o
  AR      drivers/usb/misc/built-in.a
  CC [M]  drivers/usb/misc/ftdi-elan.o
  CC      fs/btrfs/fs.o
  CC      drivers/input/touchscreen.o
  CC      drivers/acpi/acpica/tbxfroot.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/base.o
  LD [M]  drivers/net/vxlan/vxlan.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/cmdq.o
  CC [M]  drivers/net/phy/aquantia_hwmon.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_afmt.o
  CC      drivers/usb/serial/generic.o
  AR      drivers/net/ethernet/neterion/built-in.a
  CC      fs/btrfs/messages.o
  AR      drivers/net/ethernet/netronome/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC      drivers/usb/gadget/udc/core.o
  CC      drivers/usb/gadget/udc/trace.o
  CC      drivers/acpi/ioapic.o
  AR      drivers/usb/gadget/function/built-in.a
  AR      drivers/i2c/algos/built-in.a
  CC [M]  drivers/i2c/algos/i2c-algo-bit.o
  CC [M]  drivers/gpu/drm/drm_framebuffer.o
  CC      kernel/delayacct.o
  CC [M]  drivers/gpu/drm/i915/i915_memcpy.o
  CC      lib/refcount.o
  CC      drivers/rtc/sysfs.o
  CC      lib/usercopy.o
  CC      drivers/acpi/acpica/utaddress.o
  CC      fs/mpage.o
  CC [M]  drivers/usb/class/usbtmc.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_diag.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.o
  AR      drivers/i3c/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_mm.o
  CC      drivers/usb/storage/usb.o
  CC [M]  drivers/gpu/drm/i915/i915_sw_fence.o
  AR      drivers/media/i2c/built-in.a
  AR      drivers/media/tuners/built-in.a
  CC      arch/x86/kernel/pvclock.o
  AR      drivers/media/rc/keymaps/built-in.a
  CC      drivers/input/ff-memless.o
  CC      drivers/usb/host/ehci-hcd.o
  AR      drivers/media/rc/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_sw_fence_work.o
  AR      drivers/media/common/b2c2/built-in.a
  AR      drivers/media/common/siano/built-in.a
  AR      drivers/media/platform/allegro-dvt/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/igb_ethtool.o
  AR      drivers/media/common/v4l2-tpg/built-in.a
  CC      kernel/taskstats.o
  AR      drivers/media/common/videobuf2/built-in.a
  AR      drivers/media/platform/amlogic/meson-ge2d/built-in.a
  AR      drivers/media/common/built-in.a
  AR      drivers/media/platform/amlogic/built-in.a
  CC [M]  drivers/gpu/drm/drm_gem.o
  CC      lib/errseq.o
  AR      drivers/media/platform/amphion/built-in.a
  AR      drivers/media/platform/aspeed/built-in.a
  CC      drivers/usb/host/ehci-pci.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
  AR      drivers/media/platform/intel/built-in.a
  AR      drivers/media/platform/marvell/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC [M]  drivers/net/phy/ax88796b.o
  AR      drivers/media/platform/mediatek/jpeg/built-in.a
  CC      lib/bucket_locks.o
  AR      drivers/media/platform/mediatek/mdp/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/built-in.a
  AR      drivers/media/platform/mediatek/vpu/built-in.a
  CC      drivers/acpi/acpica/utalloc.o
  AR      drivers/media/platform/mediatek/mdp3/built-in.a
  AR      drivers/media/platform/mediatek/built-in.a
  CC      mm/memremap.o
  CC      drivers/acpi/acpica/utascii.o
  AR      drivers/media/platform/microchip/built-in.a
  CC      drivers/acpi/acpica/utbuffer.o
  CC [M]  net/ipv4/udp_tunnel_core.o
  AR      drivers/media/platform/nvidia/tegra-vde/built-in.a
  AR      drivers/media/platform/nvidia/built-in.a
  CC      drivers/usb/core/driver.o
  AR      drivers/media/platform/nxp/dw100/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/fw.o
  AR      drivers/media/platform/nxp/imx-jpeg/built-in.a
  AR      drivers/media/platform/nxp/built-in.a
  CC      drivers/acpi/battery.o
  AR      drivers/net/ethernet/ni/built-in.a
  AR      drivers/net/ethernet/packetengines/built-in.a
  AR      drivers/media/platform/qcom/camss/built-in.a
  CC      drivers/usb/core/config.o
  CC [M]  drivers/gpu/drm/i915/i915_syncmap.o
  AR      drivers/media/platform/qcom/venus/built-in.a
  CC      drivers/acpi/acpica/utcksum.o
  AR      drivers/media/pci/b2c2/built-in.a
  AR      drivers/media/platform/qcom/built-in.a
  AR      drivers/media/pci/pluto2/built-in.a
  CC      drivers/rtc/rtc-mc146818-lib.o
  CC      drivers/rtc/rtc-cmos.o
  AR      drivers/media/platform/renesas/rcar-vin/built-in.a
  AR      drivers/media/pci/dm1105/built-in.a
  AR      drivers/media/platform/renesas/rzg2l-cru/built-in.a
  AR      drivers/media/pci/pt1/built-in.a
  AR      drivers/media/platform/renesas/vsp1/built-in.a
  AR      drivers/media/pci/pt3/built-in.a
  AR      drivers/media/platform/renesas/built-in.a
  LD [M]  drivers/net/ethernet/intel/igbvf/igbvf.o
  AR      drivers/media/pci/mantis/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  AR      drivers/media/platform/rockchip/rga/built-in.a
  AR      drivers/media/pci/ngene/built-in.a
  AR      drivers/media/platform/rockchip/rkisp1/built-in.a
  CC [M]  drivers/gpu/drm/drm_ioctl.o
  AR      drivers/media/platform/rockchip/built-in.a
  AR      drivers/media/pci/ddbridge/built-in.a
  AR      drivers/media/pci/smipcie/built-in.a
  AR      drivers/media/platform/samsung/exynos-gsc/built-in.a
  AR      drivers/media/pci/netup_unidvb/built-in.a
  AR      drivers/media/platform/samsung/exynos4-is/built-in.a
  CC      arch/x86/kernel/pcspeaker.o
  AR      drivers/media/pci/intel/ipu3/built-in.a
  AR      drivers/media/platform/samsung/s3c-camif/built-in.a
  AR      drivers/media/pci/intel/built-in.a
  AR      drivers/media/platform/samsung/s5p-g2d/built-in.a
  AR      drivers/media/pci/built-in.a
  AR      drivers/media/platform/samsung/s5p-jpeg/built-in.a
  CC      drivers/usb/serial/bus.o
  AR      drivers/media/platform/samsung/s5p-mfc/built-in.a
  CC      drivers/usb/serial/console.o
  AR      drivers/media/platform/samsung/built-in.a
  CC      drivers/i2c/busses/i2c-designware-common.o
  AR      drivers/media/platform/st/sti/bdisp/built-in.a
  CC      fs/btrfs/bio.o
  AR      drivers/media/platform/st/sti/c8sectpfe/built-in.a
  AR      drivers/media/platform/st/sti/delta/built-in.a
  AR      drivers/media/platform/st/sti/hva/built-in.a
  AR      drivers/media/platform/st/stm32/built-in.a
  CC      drivers/i2c/busses/i2c-designware-master.o
  AR      drivers/media/platform/st/built-in.a
  CC      drivers/i2c/busses/i2c-designware-platdrv.o
  AR      drivers/i2c/muxes/built-in.a
  CC [M]  drivers/i2c/muxes/i2c-mux-gpio.o
  AR      drivers/media/platform/sunxi/sun4i-csi/built-in.a
  CC      drivers/usb/serial/ftdi_sio.o
  AR      drivers/media/platform/sunxi/sun6i-csi/built-in.a
  CC      lib/generic-radix-tree.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_ethtool.o
  AR      drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-di/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-rotate/built-in.a
  AR      drivers/media/platform/sunxi/built-in.a
  CC      drivers/input/vivaldi-fmap.o
  CC      drivers/acpi/acpica/utcopy.o
  AR      drivers/media/platform/ti/am437x/built-in.a
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_main.o
  AR      drivers/media/platform/ti/cal/built-in.a
  AR      drivers/media/platform/ti/vpe/built-in.a
  AR      drivers/media/platform/ti/davinci/built-in.a
  CC      arch/x86/kernel/check.o
  AR      drivers/media/platform/ti/omap/built-in.a
  CC      drivers/acpi/acpica/utexcep.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/vf.o
  AR      drivers/media/platform/ti/omap3isp/built-in.a
  AR      drivers/media/platform/ti/built-in.a
  AR      drivers/media/platform/verisilicon/built-in.a
  AR      drivers/media/platform/via/built-in.a
  AR      drivers/media/platform/xilinx/built-in.a
  CC      drivers/usb/storage/initializers.o
  CC [M]  drivers/net/phy/bcm7xxx.o
  AR      drivers/media/platform/built-in.a
  CC      drivers/usb/storage/sierra_ms.o
  AR      drivers/media/usb/b2c2/built-in.a
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_main.o
  AR      drivers/media/usb/dvb-usb/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_user_extensions.o
  AR      drivers/media/usb/dvb-usb-v2/built-in.a
  AR      drivers/media/usb/s2255/built-in.a
  AR      drivers/media/usb/siano/built-in.a
  CC      kernel/tsacct.o
  AR      drivers/media/usb/ttusb-budget/built-in.a
  AR      drivers/media/usb/ttusb-dec/built-in.a
  AR      drivers/media/usb/built-in.a
  AR      drivers/usb/gadget/udc/built-in.a
  CC      arch/x86/kernel/uprobes.o
  AR      drivers/usb/gadget/legacy/built-in.a
  CC      drivers/usb/gadget/usbstring.o
  AR      drivers/media/mmc/siano/built-in.a
  AR      drivers/media/mmc/built-in.a
  AR      drivers/media/firewire/built-in.a
  AR      drivers/media/spi/built-in.a
  AR      drivers/media/test-drivers/built-in.a
  AR      drivers/media/built-in.a
  CC      drivers/usb/host/ohci-hcd.o
  CC      drivers/input/input-leds.o
  CC      lib/string_helpers.o
  CC      drivers/usb/serial/pl2303.o
  CC      drivers/i2c/i2c-boardinfo.o
  CC      lib/hexdump.o
  CC      drivers/input/mousedev.o
  CC      mm/hmm.o
  CC      drivers/usb/host/ohci-pci.o
  CC [M]  drivers/gpu/drm/i915/i915_ioc32.o
  CC      arch/x86/kernel/perf_regs.o
  CC      drivers/acpi/acpica/utdebug.o
  CC      drivers/acpi/acpica/utdecode.o
  CC      drivers/usb/gadget/config.o
  CC      drivers/input/evdev.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/msgq.o
  CC [M]  net/ipv4/udp_tunnel_nic.o
  AR      drivers/rtc/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC      mm/memfd.o
  CC      drivers/i2c/busses/i2c-designware-baytrail.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC      drivers/acpi/hed.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC      drivers/usb/host/uhci-hcd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/qmgr.o
  CC      drivers/usb/storage/option_ms.o
  CC      drivers/usb/core/file.o
  CC      drivers/i2c/i2c-core-base.o
  CC [M]  drivers/i2c/busses/i2c-scmi.o
  AR      net/ipv4/built-in.a
  CC      drivers/i2c/i2c-core-smbus.o
  CC      kernel/tracepoint.o
  CC      kernel/latencytop.o
  CC      mm/bootmem_info.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_encoders.o
  CC [M]  drivers/gpu/drm/drm_lease.o
  CC      drivers/acpi/acpica/utdelete.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/mbx.o
  CC [M]  drivers/net/phy/bcm87xx.o
  CC      fs/btrfs/acl.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ethtool.o
  CC [M]  drivers/i2c/busses/i2c-ccgx-ucsi.o
  CC [M]  drivers/net/phy/bcm-phy-lib.o
  CC      drivers/usb/gadget/epautoconf.o
  CC      lib/kstrtox.o
  CC [M]  drivers/net/phy/broadcom.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sa.o
  CC      arch/x86/kernel/tracepoint.o
  CC [M]  drivers/net/phy/lxt.o
  CC      drivers/usb/gadget/composite.o
  CC      drivers/i2c/i2c-core-acpi.o
  CC      drivers/usb/host/xhci.o
  CC [M]  drivers/gpu/drm/i915/i915_debugfs.o
  AR      drivers/usb/serial/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_i2c.o
  CC      drivers/usb/storage/usual-tables.o
  CC      drivers/usb/core/buffer.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC      drivers/i2c/i2c-core-slave.o
  CC [M]  drivers/net/phy/realtek.o
  CC      drivers/acpi/acpica/uterror.o
  AR      drivers/net/ethernet/realtek/built-in.a
  CC [M]  drivers/net/ethernet/realtek/8139cp.o
  CC      drivers/usb/host/xhci-mem.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/v1.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_ptp.o
  CC [M]  drivers/net/ethernet/realtek/8139too.o
  CC [M]  drivers/net/usb/asix_devices.o
  CC      kernel/irq_work.o
  AR      mm/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/e1000_82575.o
  CC      kernel/static_call.o
  CC      arch/x86/kernel/itmt.o
  CC      kernel/static_call_inline.o
  CC      lib/debug_info.o
  LD [M]  drivers/net/ethernet/intel/e1000e/e1000e.o
  CC      drivers/usb/gadget/functions.o
  AR      drivers/input/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_debugfs_params.o
  CC [M]  drivers/i2c/busses/i2c-i801.o
  CC      fs/proc_namespace.o
  CC [M]  drivers/net/usb/asix_common.o
  LD [M]  fs/cifs/cifs.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC      kernel/user-return-notifier.o
  AR      drivers/usb/storage/built-in.a
  CC      drivers/acpi/acpica/uteval.o
  CC      drivers/usb/core/sysfs.o
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_hw.o
  CC      drivers/usb/host/xhci-ext-caps.o
  CC [M]  drivers/i2c/busses/i2c-isch.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.o
  CC      fs/eventpoll.o
  CC      drivers/usb/core/endpoint.o
  LD [M]  net/ipv4/udp_tunnel.o
  AR      net/built-in.a
  AR      fs/btrfs/built-in.a
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.o
  CC      fs/anon_inodes.o
  CC      lib/iomap.o
  AR      drivers/net/ethernet/renesas/built-in.a
  CC      arch/x86/kernel/umip.o
  CC [M]  drivers/i2c/busses/i2c-ismt.o
  CC [M]  drivers/i2c/busses/i2c-piix4.o
  CC      fs/signalfd.o
  CC      kernel/padata.o
  CC      arch/x86/kernel/unwind_orc.o
  CC      drivers/i2c/i2c-dev.o
  CC      drivers/usb/gadget/configfs.o
  CC      drivers/usb/gadget/u_f.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC      drivers/usb/host/xhci-ring.o
  AR      drivers/net/ethernet/intel/built-in.a
  CC      fs/timerfd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/gm200.o
  CC      drivers/acpi/acpica/utglobal.o
  CC [M]  drivers/net/phy/smsc.o
  CC      fs/eventfd.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC      lib/pci_iomap.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_debugfs.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_dump.o
  CC      arch/x86/kernel/callthunks.o
  CC      fs/userfaultfd.o
  CC      drivers/usb/host/xhci-hub.o
  CC      fs/aio.o
  CC      arch/x86/kernel/mmconf-fam10h_64.o
  CC      arch/x86/kernel/vsmp_64.o
  CC      kernel/jump_label.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC      drivers/acpi/acpica/uthex.o
  CC [M]  drivers/gpu/drm/drm_managed.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/gp102.o
  CC      fs/locks.o
  CC      lib/iomap_copy.o
  CC [M]  drivers/net/usb/ax88172a.o
  CC      drivers/usb/core/devio.o
  CC [M]  drivers/net/usb/ax88179_178a.o
  CC      kernel/context_tracking.o
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_ee.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.o
  CC      drivers/usb/host/xhci-dbg.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pipe_crc.o
  CC      drivers/usb/host/xhci-trace.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC      drivers/usb/host/xhci-debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ipsec.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/ga100.o
  CC      lib/devres.o
  CC      drivers/acpi/acpica/utids.o
  CC [M]  drivers/gpu/drm/drm_mm.o
  CC      kernel/iomem.o
  CC      drivers/acpi/acpica/utinit.o
  CC      lib/check_signature.o
  CC [M]  drivers/i2c/busses/i2c-designware-pcidrv.o
  CC [M]  drivers/net/ethernet/realtek/r8169_main.o
  CC [M]  drivers/net/ethernet/realtek/r8169_firmware.o
  LD [M]  drivers/net/phy/aquantia.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_mac.o
  CC      drivers/acpi/acpica/utlock.o
  CC      lib/interval_tree.o
  AR      drivers/net/phy/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/e1000_nvm.o
  CC [M]  drivers/net/ethernet/realtek/r8169_phy_config.o
  AR      arch/x86/kernel/built-in.a
  CC      lib/assoc_array.o
  CC      drivers/usb/host/xhci-pci.o
  AR      arch/x86/built-in.a
  CC      fs/binfmt_script.o
  CC      drivers/acpi/acpica/utmath.o
  AR      drivers/usb/gadget/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  AR      drivers/ptp/built-in.a
  CC [M]  drivers/net/ethernet/intel/igc/igc_tsn.o
  CC [M]  drivers/ptp/ptp_clock.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/ga102.o
  CC      lib/smp_processor_id.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC [M]  drivers/i2c/i2c-smbus.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/drm_mode_config.o
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_ethtool.o
  CC [M]  drivers/gpu/drm/drm_mode_object.o
  CC      lib/list_debug.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_xdp.o
  CC      kernel/rseq.o
  CC      lib/debugobjects.o
  CC      drivers/acpi/acpica/utmisc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.o
  CC      fs/binfmt_elf.o
  CC      fs/compat_binfmt_elf.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.o
  CC [M]  drivers/net/ethernet/intel/ixgb/ixgb_param.o
  LD [M]  drivers/i2c/busses/i2c-designware-pci.o
  AR      drivers/i2c/busses/built-in.a
  CC [M]  drivers/i2c/i2c-mux.o
  CC [M]  drivers/gpu/drm/drm_modes.o
  CC [M]  drivers/gpu/drm/drm_modeset_lock.o
  CC [M]  drivers/gpu/drm/i915/i915_pmu.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC [M]  drivers/net/ethernet/intel/e100.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC [M]  drivers/net/usb/cdc_ether.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_phy.o
  CC      drivers/acpi/acpica/utmutex.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.o
  CC [M]  drivers/gpu/drm/i915/gt/gen2_engine_cs.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_mbx.o
  CC      lib/bitrev.o
  GZIP    kernel/config_data.gz
  CC [M]  drivers/ptp/ptp_chardev.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_engine_cs.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_ppgtt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ib.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm20b.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  AR      drivers/power/reset/built-in.a
  CC      kernel/configs.o
  CC      drivers/power/supply/power_supply_core.o
  CC      drivers/power/supply/power_supply_sysfs.o
  AR      drivers/net/ethernet/sfc/built-in.a
  CC      drivers/power/supply/power_supply_leds.o
  CC      drivers/acpi/acpica/utnonansi.o
  CC      fs/mbcache.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_i210.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_common.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_pll.o
  AR      drivers/net/ethernet/smsc/built-in.a
  CC [M]  drivers/net/ethernet/smsc/smsc9420.o
  AR      drivers/net/ethernet/socionext/built-in.a
  LD [M]  drivers/net/ethernet/intel/igc/igc.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_gtt_mgr.o
  CC      drivers/power/supply/power_supply_hwmon.o
  CC      lib/crc16.o
  CC [M]  drivers/ptp/ptp_sysfs.o
  CC      drivers/usb/core/notify.o
  CC      drivers/usb/core/generic.o
  CC      drivers/acpi/acpica/utobject.o
  AR      drivers/i2c/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp108.o
  CC      drivers/hwmon/hwmon.o
  AR      kernel/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.o
  CC [M]  drivers/hwmon/acpi_power_meter.o
  AR      drivers/thermal/broadcom/built-in.a
  LD [M]  drivers/net/ethernet/intel/ixgb/ixgb.o
  AR      drivers/thermal/samsung/built-in.a
  CC      drivers/thermal/intel/therm_throt.o
  AR      drivers/thermal/st/built-in.a
  CC      drivers/usb/core/quirks.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.o
  CC      drivers/watchdog/watchdog_core.o
  CC      fs/posix_acl.o
  CC      drivers/acpi/acpica/utosi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_ptp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp10b.o
  CC [M]  drivers/net/usb/cdc_eem.o
  CC      lib/crc-t10dif.o
  CC [M]  drivers/ptp/ptp_vclock.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  LD [M]  drivers/net/ethernet/intel/ixgbevf/ixgbevf.o
  CC      fs/coredump.o
  CC      drivers/watchdog/watchdog_dev.o
  CC      drivers/usb/core/devices.o
  AR      drivers/power/supply/built-in.a
  AR      drivers/power/built-in.a
  CC      drivers/acpi/acpica/utownerid.o
  CC      drivers/acpi/acpica/utpredef.o
  AR      drivers/thermal/qcom/built-in.a
  CC      drivers/usb/core/phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/tu102.o
  HOSTCC  lib/gen_crc32table
  CC      lib/libcrc32c.o
  CC      drivers/watchdog/softdog.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sync.o
  CC [M]  drivers/md/persistent-data/dm-array.o
  CC [M]  drivers/gpu/drm/i915/gt/gen7_renderclear.o
  CC      drivers/md/md.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.o
  AR      drivers/thermal/tegra/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.o
  CC [M]  drivers/md/persistent-data/dm-bitset.o
  AR      drivers/usb/host/built-in.a
  CC      drivers/md/md-bitmap.o
  CC [M]  drivers/md/persistent-data/dm-block-manager.o
  CC [M]  drivers/ptp/ptp_kvm_x86.o
  CC      drivers/acpi/acpica/utresdecode.o
  CC [M]  drivers/gpu/drm/drm_plane.o
  CC      drivers/thermal/thermal_core.o
  CC      drivers/md/md-autodetect.o
  CC      drivers/acpi/acpica/utresrc.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_hwmon.o
  CC [M]  drivers/md/persistent-data/dm-space-map-common.o
  CC      drivers/acpi/acpica/utstate.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_82599.o
  CC      drivers/acpi/acpica/utstring.o
  CC      drivers/thermal/thermal_sysfs.o
  CC      lib/xxhash.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/ptp/ptp_kvm_common.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.o
  CC      drivers/acpi/acpica/utstrsuppt.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_82598.o
  LD [M]  drivers/net/ethernet/realtek/r8169.o
  CC [M]  drivers/hwmon/coretemp.o
  CC      fs/drop_caches.o
  CC [M]  drivers/net/usb/smsc75xx.o
  CC      drivers/usb/core/port.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC [M]  drivers/net/usb/smsc95xx.o
  CC      drivers/acpi/acpica/utstrtoul64.o
  CC [M]  drivers/net/usb/mcs7830.o
  CC      drivers/acpi/bgrt.o
  AR      drivers/net/ethernet/vertexcom/built-in.a
  CC      fs/fhandle.o
  CC [M]  drivers/gpu/drm/drm_prime.o
  CC [M]  drivers/md/persistent-data/dm-space-map-disk.o
  LD [M]  drivers/ptp/ptp.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC [M]  drivers/md/persistent-data/dm-space-map-metadata.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  AR      drivers/watchdog/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/base.o
  CC [M]  drivers/md/persistent-data/dm-transaction-manager.o
  CC [M]  drivers/thermal/intel/intel_menlow.o
  CC      drivers/usb/core/hcd-pci.o
  CC      drivers/acpi/acpica/utxface.o
  CC [M]  drivers/md/persistent-data/dm-btree.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC      drivers/opp/core.o
  CC      drivers/md/dm-uevent.o
  CC      lib/genalloc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.o
  CC      drivers/opp/cpu.o
  AR      drivers/hwmon/built-in.a
  AR      drivers/net/ethernet/wangxun/built-in.a
  CC [M]  drivers/md/persistent-data/dm-btree-remove.o
  CC      drivers/acpi/acpica/utxfinit.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_engine_cs.o
  CC      lib/percpu_counter.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  LD [M]  drivers/ptp/ptp_kvm.o
  CC [M]  drivers/gpu/drm/xe/xe_vm_madvise.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_virt.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  LD [M]  drivers/net/ethernet/intel/igb/igb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_ppgtt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.o
  CC      drivers/acpi/cppc_acpi.o
  CC      drivers/acpi/acpica/utxferror.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.o
  AR      drivers/net/ethernet/xilinx/built-in.a
  AR      drivers/net/ethernet/synopsys/built-in.a
  CC      drivers/acpi/acpica/utxfmutex.o
  AR      drivers/net/ethernet/pensando/built-in.a
  AR      drivers/thermal/intel/built-in.a
  CC      drivers/acpi/spcr.o
  CC      drivers/thermal/thermal_helpers.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC [M]  drivers/md/persistent-data/dm-btree-spine.o
  CC [M]  drivers/gpu/drm/drm_print.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC      drivers/opp/debugfs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
  AR      fs/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sched.o
  CC [M]  drivers/gpu/drm/drm_property.o
  CC      drivers/usb/core/usb-acpi.o
  CC      drivers/md/dm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.o
  CC      lib/fault-inject.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_context.o
  CC      drivers/acpi/acpi_pad.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_x540.o
  CC      drivers/md/dm-table.o
  CC      drivers/md/dm-target.o
  CC      drivers/thermal/thermal_hwmon.o
  CC      drivers/md/dm-linear.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_x550.o
  CC      lib/syscall.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_display.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_lib.o
  AR      drivers/acpi/acpica/built-in.a
  CC [M]  drivers/gpu/drm/xe/display/icl_dsi.o
  CC      drivers/cpufreq/cpufreq.o
  CC      drivers/cpufreq/freq_table.o
  CC      drivers/thermal/gov_fair_share.o
  CC [M]  drivers/gpu/drm/xe/display/intel_atomic.o
  CC [M]  drivers/gpu/drm/xe/display/intel_atomic_plane.o
  CC      lib/dynamic_debug.o
  CC [M]  drivers/gpu/drm/drm_pt_walk.o
  CC      drivers/cpufreq/cpufreq_performance.o
  CC      lib/errname.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/g84.o
  CC [M]  drivers/gpu/drm/xe/display/intel_audio.o
  CC      lib/nlattr.o
  LD [M]  drivers/md/persistent-data/dm-persistent-data.o
  CC      drivers/md/dm-stripe.o
  CC      lib/checksum.o
  CC      lib/cpu_rmap.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_context_sseu.o
  AR      drivers/usb/core/built-in.a
  AR      drivers/usb/built-in.a
  CC      drivers/md/dm-ioctl.o
  CC      drivers/md/dm-io.o
  CC      drivers/cpufreq/cpufreq_ondemand.o
  CC [M]  drivers/gpu/drm/xe/display/intel_backlight.o
  CC [M]  drivers/net/usb/usbnet.o
  CC      drivers/md/dm-kcopyd.o
  CC      drivers/cpuidle/governors/menu.o
  CC      drivers/mmc/core/core.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ids.o
  CC      drivers/mmc/core/bus.o
  AR      drivers/opp/built-in.a
  CC      drivers/thermal/gov_step_wise.o
  CC      drivers/thermal/gov_user_space.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.o
  CC      drivers/md/dm-sysfs.o
  CC [M]  drivers/acpi/acpi_video.o
  AR      drivers/ufs/built-in.a
  CC      lib/dynamic_queue_limits.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.o
  CC [M]  drivers/net/usb/cdc_ncm.o
  CC [M]  drivers/gpu/drm/drm_syncobj.o
  CC      drivers/cpufreq/cpufreq_governor.o
  CC [M]  drivers/gpu/drm/drm_sysfs.o
  CC      drivers/mmc/core/host.o
  CC [M]  drivers/gpu/drm/drm_trace_points.o
  CC      lib/glob.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_cs.o
  CC      drivers/cpuidle/cpuidle.o
  CC [M]  drivers/gpu/drm/xe/display/intel_bios.o
  CC [M]  drivers/net/usb/r8153_ecm.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_pm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.o
  AR      drivers/cpuidle/governors/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_csa.o
  AR      drivers/thermal/built-in.a
  CC [M]  drivers/gpu/drm/xe/display/intel_bw.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.o
  CC      drivers/md/dm-stats.o
  CC      lib/strncpy_from_user.o
  CC      drivers/cpufreq/cpufreq_governor_attr_set.o
  CC      drivers/md/dm-rq.o
  CC      drivers/mmc/core/mmc.o
  AR      drivers/leds/trigger/built-in.a
  CC [M]  drivers/leds/trigger/ledtrig-audio.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 [M]  drivers/gpu/drm/xe/display/intel_cdclk.o
  AR      drivers/leds/blink/built-in.a
  AR      drivers/firmware/cirrus/built-in.a
  CC [M]  drivers/gpu/drm/xe/display/intel_color.o
  AR      drivers/firmware/meson/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_user.o
  AR      drivers/firmware/imx/built-in.a
  CC      drivers/md/dm-io-rewind.o
  CC      drivers/firmware/efi/libstub/efi-stub-helper.o
  CC      drivers/firmware/efi/efi-bgrt.o
  CC [M]  drivers/gpu/drm/drm_vblank.o
  AR      drivers/firmware/psci/built-in.a
  CC [M]  drivers/gpu/drm/drm_vblank_work.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_execlists_submission.o
  CC [M]  drivers/gpu/drm/xe/display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/xe/display/intel_connector.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt.o
  AR      drivers/leds/simple/built-in.a
  CC      drivers/leds/led-core.o
  CC      drivers/mmc/host/sdhci.o
  CC [M]  drivers/gpu/drm/drm_vma_manager.o
  CC      drivers/mmc/host/sdhci-pci-core.o
  CC [M]  drivers/gpu/drm/drm_writeback.o
  CC      drivers/leds/led-class.o
  CC      lib/strnlen_user.o
  CC      drivers/leds/led-triggers.o
  CC      drivers/md/dm-builtin.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gk20a.o
  CC      drivers/firmware/efi/libstub/gop.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
  CC      drivers/cpuidle/driver.o
  CC      drivers/cpufreq/acpi-cpufreq.o
  CC [M]  drivers/gpu/drm/lib/drm_random.o
  CC [M]  drivers/acpi/video_detect.o
  CC      drivers/cpufreq/intel_pstate.o
  CC      drivers/firmware/efi/efi.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.o
  CC      drivers/cpuidle/governor.o
  CC [M]  drivers/md/dm-bufio.o
  CC      drivers/firmware/efi/libstub/secureboot.o
  AR      drivers/crypto/stm32/built-in.a
  AR      drivers/crypto/xilinx/built-in.a
  CC [M]  drivers/gpu/drm/drm_ioc32.o
  AR      drivers/crypto/hisilicon/built-in.a
  CC      drivers/clocksource/acpi_pm.o
  CC [M]  drivers/gpu/drm/drm_panel.o
  AR      drivers/crypto/keembay/built-in.a
  AR      drivers/crypto/built-in.a
  CC      lib/net_utils.o
  CC      drivers/hid/usbhid/hid-core.o
  CC      drivers/hid/hid-core.o
  CC      drivers/clocksource/i8253.o
  AR      drivers/staging/media/deprecated/vpfe_capture/built-in.a
  CC [M]  drivers/gpu/drm/drm_pci.o
  AR      drivers/staging/media/deprecated/saa7146/common/built-in.a
  CC [M]  drivers/gpu/drm/drm_debugfs.o
  AR      drivers/staging/media/deprecated/saa7146/av7110/built-in.a
  AR      drivers/staging/media/deprecated/saa7146/saa7146/built-in.a
  CC      drivers/hid/hid-input.o
  LD [M]  drivers/net/usb/asix.o
  AR      drivers/staging/media/deprecated/saa7146/ttpci/built-in.a
  AR      drivers/staging/media/deprecated/saa7146/built-in.a
  AR      drivers/staging/media/built-in.a
  CC      lib/sg_pool.o
  CC      drivers/mmc/host/sdhci-pci-o2micro.o
  AR      drivers/staging/built-in.a
  CC [M]  drivers/gpu/drm/drm_debugfs_crc.o
  CC      lib/stackdepot.o
  AR      drivers/platform/x86/amd/built-in.a
  CC      lib/ucs2_string.o
  CC      drivers/platform/x86/intel/pmc/core.o
  CC      drivers/cpuidle/sysfs.o
  CC      drivers/platform/x86/intel/pmc/spt.o
  AR      drivers/leds/built-in.a
  CC [M]  drivers/platform/x86/intel/pmt/class.o
  CC      drivers/mailbox/mailbox.o
  CC      drivers/mmc/core/mmc_ops.o
  CC      drivers/mmc/core/sd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gm107.o
  CC      drivers/devfreq/devfreq.o
  CC      drivers/firmware/efi/libstub/tpm.o
  CC [M]  drivers/gpu/drm/xe/display/intel_crtc_state_dump.o
  CC      drivers/cpuidle/poll_state.o
  CC      drivers/hid/hid-quirks.o
  CC      lib/sbitmap.o
  CC      drivers/firmware/efi/libstub/file.o
  AR      drivers/acpi/built-in.a
  LD [M]  drivers/acpi/video.o
  CC      drivers/powercap/powercap_sys.o
  AR      drivers/clocksource/built-in.a
  AR      drivers/perf/built-in.a
  CC      drivers/powercap/intel_rapl_common.o
  CC      drivers/firmware/efi/libstub/mem.o
  CC      drivers/cpuidle/cpuidle-haltpoll.o
  CC      drivers/powercap/intel_rapl_msr.o
  CC [M]  lib/asn1_decoder.o
  CC [M]  drivers/gpu/drm/xe/display/intel_crtc.o
  CC [M]  drivers/gpu/drm/drm_edid_load.o
  CC      drivers/hid/hid-debug.o
  GEN     lib/oid_registry_data.c
  CC      drivers/firmware/efi/libstub/random.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.o
  CC      drivers/firmware/efi/libstub/randomalloc.o
  CC [M]  drivers/gpu/drm/drm_panel_orientation_quirks.o
  CC      drivers/hid/hidraw.o
  CC [M]  lib/oid_registry.o
  CC [M]  drivers/gpu/drm/drm_buddy.o
  CC [M]  drivers/md/dm-bio-prison-v1.o
  CC      drivers/hid/hid-generic.o
  CC [M]  drivers/platform/x86/intel/pmt/telemetry.o
  CC      drivers/mailbox/pcc.o
  CC      drivers/ras/ras.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gm20b.o
  CC      drivers/ras/debugfs.o
  AR      drivers/platform/surface/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/tu102.o
  CC [M]  drivers/devfreq/governor_simpleondemand.o
  CC      drivers/mmc/host/sdhci-pci-arasan.o
  AR      lib/lib.a
  CC      drivers/hid/hid-a4tech.o
  AR      drivers/cpuidle/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.o
  CC      drivers/hid/hid-apple.o
  CC [M]  drivers/md/dm-bio-prison-v2.o
  CC      drivers/mmc/host/sdhci-pci-dwc-mshc.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/devfreq/governor_performance.o
  CC      drivers/mmc/core/sd_ops.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.o
  CC [M]  drivers/platform/x86/intel/pmt/crashlog.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
  CC [M]  drivers/gpu/drm/xe/display/intel_cursor.o
  GEN     lib/crc32table.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/bit.o
  CC      drivers/firmware/efi/libstub/pci.o
  CC      drivers/hid/hid-belkin.o
  CC      drivers/platform/x86/intel/pmc/cnp.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_class.o
  CC      lib/crc32.o
  CC      drivers/hid/usbhid/hiddev.o
  CC [M]  drivers/gpu/drm/xe/display/intel_ddi_buf_trans.o
  CC      drivers/firmware/efi/vars.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/boost.o
  CC      drivers/mmc/host/sdhci-pci-gli.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_telemetry.o
  CC      drivers/firmware/efi/reboot.o
  CC      drivers/mmc/core/sdio.o
  CC      drivers/platform/x86/p2sb.o
  AR      drivers/mailbox/built-in.a
  CC [M]  drivers/md/dm-crypt.o
  CC      drivers/hid/hid-cherry.o
  CC      drivers/platform/x86/intel/pmc/icl.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.o
  CC      drivers/platform/x86/pmc_atom.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/conn.o
  AR      drivers/firmware/smccc/built-in.a
  AR      drivers/firmware/tegra/built-in.a
  AR      drivers/firmware/xilinx/built-in.a
  CC      drivers/firmware/dmi_scan.o
  CC      drivers/hid/hid-chicony.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.o
  CC [M]  drivers/platform/x86/wmi.o
  CC      drivers/mmc/host/sdhci-acpi.o
  AR      drivers/cpufreq/built-in.a
  AR      drivers/powercap/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/cstep.o
  AR      drivers/hwtracing/intel_th/built-in.a
  CC [M]  drivers/platform/x86/wmi-bmof.o
  CC      drivers/mmc/host/cqhci-core.o
  CC      drivers/firmware/dmi-sysfs.o
  CC      drivers/hid/hid-cypress.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.o
  AR      drivers/devfreq/built-in.a
  AR      drivers/ras/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/disp.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.o
  CC [M]  drivers/gpu/drm/drm_gem_shmem_helper.o
  CC      drivers/hid/hid-ezkey.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_crashlog.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.o
  AR      lib/built-in.a
  CC      drivers/firmware/efi/memattr.o
  CC      drivers/platform/x86/intel/pmc/tgl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.o
  CC      drivers/android/binderfs.o
  CC      drivers/firmware/efi/libstub/skip_spaces.o
  CC      drivers/android/binder.o
  CC      drivers/nvmem/core.o
  CC      drivers/firmware/efi/libstub/lib-cmdline.o
  CC [M]  drivers/mtd/chips/chipreg.o
  CC      drivers/platform/x86/intel/pmc/adl.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_irq.o
  CC      drivers/firmware/efi/tpm.o
  CC      drivers/firmware/efi/memmap.o
  CC      drivers/firmware/efi/libstub/lib-ctype.o
  CC      drivers/firmware/efi/libstub/alignedmem.o
  CC [M]  drivers/platform/x86/mxm-wmi.o
  CC [M]  drivers/gpu/drm/xe/display/intel_ddi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_umc.o
  CC      drivers/hid/hid-kensington.o
  CC      drivers/hid/hid-lg.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.o
  AR      drivers/hid/usbhid/built-in.a
  CC [M]  drivers/mmc/host/sdhci-pltfm.o
  CC      drivers/hid/hid-lg-g15.o
  CC      drivers/firmware/efi/esrt.o
  CC      drivers/android/binder_alloc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/extdev.o
  CC [M]  drivers/gpu/drm/xe/display/intel_display.o
  CC      drivers/firmware/efi/libstub/relocate.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.o
  CC [M]  drivers/md/dm-thin.o
  CC      drivers/platform/x86/intel/pmc/mtl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.o
  CC      drivers/firmware/dmi-id.o
  CC      drivers/firmware/efi/efi-pstore.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_mcr.o
  CC      drivers/mmc/core/sdio_ops.o
  CC      drivers/platform/x86/intel/pmc/pltdrv.o
  CC [M]  drivers/mtd/mtdcore.o
  CC [M]  drivers/mtd/mtdsuper.o
  CC [M]  drivers/md/dm-thin-metadata.o
  CC      drivers/firmware/memmap.o
  CC      drivers/firmware/efi/libstub/printk.o
  CC      drivers/hid/hid-microsoft.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/gpio.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
  CC [M]  drivers/gpu/drm/drm_suballoc.o
  CC      drivers/firmware/efi/libstub/vsprintf.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_rap.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
  CC      drivers/firmware/efi/cper.o
  CC [M]  drivers/gpu/drm/drm_gem_ttm_helper.o
  CC      drivers/platform/x86/intel/turbo_max_3.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_requests.o
  CC      drivers/firmware/efi/cper_cxl.o
  CC [M]  drivers/uio/uio.o
  CC      drivers/firmware/efi/runtime-wrappers.o
  CC [M]  drivers/platform/x86/intel_ips.o
  CC      drivers/firmware/efi/libstub/x86-stub.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
  AR      drivers/mmc/host/built-in.a
  STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
  CC [M]  drivers/vfio/vfio_main.o
  CC [M]  drivers/vfio/pci/vfio_pci_core.o
  CC      drivers/firmware/efi/dev-path-parser.o
  CC [M]  drivers/vfio/group.o
  AR      drivers/platform/x86/intel/pmc/built-in.a
  CC      drivers/firmware/efi/apple-properties.o
  AR      drivers/nvmem/built-in.a
  CC [M]  drivers/vfio/pci/vfio_pci_intrs.o
  CC      drivers/hid/hid-monterey.o
  CC [M]  drivers/platform/x86/intel/vsec.o
  CC [M]  drivers/vfio/iova_bitmap.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.o
  CC [M]  drivers/vfio/pci/vfio_pci_rdwr.o
  CC      drivers/firmware/efi/earlycon.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
  CC      drivers/mmc/core/sdio_bus.o
  CC      drivers/mmc/core/sdio_cis.o
  CC [M]  drivers/vfio/pci/vfio_pci_config.o
  CC      drivers/firmware/efi/cper-x86.o
  CC [M]  drivers/vfio/container.o
  CC [M]  drivers/bluetooth/btusb.o
  CC [M]  drivers/mtd/mtdconcat.o
  CC [M]  drivers/pps/pps.o
  CC [M]  drivers/bluetooth/btintel.o
  CC [M]  drivers/pps/kapi.o
  CC [M]  drivers/mtd/mtdpart.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fw_attestation.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/iccsense.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gtt.o
  STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
  STUBCPY drivers/firmware/efi/libstub/file.stub.o
  AR      drivers/hid/built-in.a
  STUBCPY drivers/firmware/efi/libstub/gop.stub.o
  CC      drivers/mmc/core/sdio_io.o
  CC [M]  drivers/dca/dca-core.o
  CC      drivers/mmc/core/sdio_irq.o
  STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
  CC [M]  drivers/ssb/main.o
  STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
  CC [M]  drivers/vfio/virqfd.o
  CC [M]  drivers/vfio/vfio_iommu_type1.o
  CC [M]  drivers/dca/dca-sysfs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_llc.o
  CC      drivers/mmc/core/slot-gpio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/image.o
  STUBCPY drivers/firmware/efi/libstub/mem.stub.o
  STUBCPY drivers/firmware/efi/libstub/pci.stub.o
  CC      drivers/mmc/core/regulator.o
  CC [M]  drivers/platform/x86/intel/rst.o
  STUBCPY drivers/firmware/efi/libstub/printk.stub.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_lrc.o
  STUBCPY drivers/firmware/efi/libstub/random.stub.o
  LD [M]  drivers/platform/x86/intel/intel_vsec.o
  STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
  STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
  AR      drivers/platform/x86/intel/built-in.a
  STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
  LD [M]  drivers/md/dm-bio-prison.o
  STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
  CC [M]  drivers/vhost/net.o
  STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.o
  STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_migrate.o
  CC [M]  drivers/vhost/vhost.o
  STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
  AR      drivers/firmware/efi/libstub/lib.a
  CC [M]  drivers/vhost/iotlb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.o
  CC [M]  drivers/ssb/scan.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_mocs.o
  AR      drivers/firmware/efi/built-in.a
  CC [M]  drivers/gpu/drm/drm_atomic_helper.o
  CC [M]  drivers/vfio/pci/vfio_pci.o
  AR      drivers/firmware/built-in.a
  CC [M]  drivers/gpu/drm/drm_atomic_state_helper.o
  AR      drivers/md/built-in.a
  CC      drivers/mmc/core/debugfs.o
  CC [M]  drivers/mtd/mtdchar.o
  CC [M]  drivers/pps/sysfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/npde.o
  CC [M]  drivers/ssb/sprom.o
  CC [M]  drivers/ssb/pci.o
  CC [M]  drivers/bluetooth/btbcm.o
  CC [M]  drivers/bluetooth/btrtl.o
  LD [M]  drivers/net/ethernet/intel/ixgbe/ixgbe.o
  CC [M]  drivers/ssb/pcihost_wrapper.o
  CC [M]  drivers/ssb/driver_chipcommon.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_securedisplay.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ppgtt.o
  AR      drivers/net/ethernet/built-in.a
  LD [M]  drivers/platform/x86/intel/intel-rst.o
  CC      drivers/mmc/core/block.o
  AR      drivers/platform/x86/built-in.a
  CC [M]  drivers/gpu/drm/drm_bridge_connector.o
  AR      drivers/platform/built-in.a
  AR      drivers/net/built-in.a
  CC [M]  drivers/ssb/driver_chipcommon_pmu.o
  LD [M]  drivers/dca/dca.o
  CC [M]  drivers/ssb/driver_pcicore.o
  CC      drivers/mmc/core/queue.o
  LD [M]  drivers/pps/pps_core.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pcir.o
  LD [M]  drivers/vfio/vfio.o
  CC [M]  drivers/gpu/drm/drm_crtc_helper.o
  CC [M]  drivers/gpu/drm/xe/display/intel_display_debugfs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_rc6.o
  CC [M]  drivers/gpu/drm/drm_damage_helper.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.o
  LD [M]  drivers/vhost/vhost_iotlb.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/nouveau/nvkm/subdev/bios/power_budget.o
  LD [M]  drivers/vfio/pci/vfio-pci-core.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.o
  LD [M]  drivers/vfio/pci/vfio-pci.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/rammap.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_region_lmem.o
  CC [M]  drivers/gpu/drm/xe/display/intel_display_power.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_renderstate.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_reset.o
  LD [M]  drivers/md/dm-thin-pool.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/i915/gt/intel_ring.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ring_submission.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_rps.o
  CC [M]  drivers/gpu/drm/drm_encoder_slave.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sa_media.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
  LD [M]  drivers/mtd/mtd.o
  CC [M]  drivers/gpu/drm/drm_gem_framebuffer_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sseu.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.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/amd/amdgpu/amdgpu_eeprom.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/i915/gt/intel_sseu_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowrom.o
  LD [M]  drivers/ssb/ssb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_lsdma.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_timeline.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/timing.o
  CC [M]  drivers/gpu/drm/xe/display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_wopcm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.o
  CC [M]  drivers/gpu/drm/drm_kms_helper_common.o
  CC [M]  drivers/gpu/drm/xe/display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/volt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/vpstate.o
  CC [M]  drivers/gpu/drm/drm_modeset_helper.o
  CC [M]  drivers/gpu/drm/drm_plane_helper.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/xpio.o
  CC [M]  drivers/gpu/drm/drm_probe_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_workarounds.o
  CC [M]  drivers/gpu/drm/drm_rect.o
  CC [M]  drivers/gpu/drm/i915/gt/shmem_utils.o
  CC [M]  drivers/gpu/drm/i915/gt/sysfs_engines.o
  LD [M]  drivers/vhost/vhost_net.o
  CC [M]  drivers/gpu/drm/drm_self_refresh_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
  CC [M]  drivers/gpu/drm/drm_simple_kms_helper.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_renderstate.o
  CC [M]  drivers/gpu/drm/bridge/panel.o
  CC [M]  drivers/gpu/drm/drm_fbdev_generic.o
  CC [M]  drivers/gpu/drm/i915/gt/gen7_renderstate.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_renderstate.o
  CC [M]  drivers/gpu/drm/xe/display/intel_display_trace.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/drm_fb_helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ring_mux.o
  CC [M]  drivers/gpu/drm/i915/gt/gen9_renderstate.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_busy.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_clflush.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_context.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0209.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_create.o
  AR      drivers/mmc/core/built-in.a
  AR      drivers/mmc/built-in.a
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/P0260.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_domain.o
  LD [M]  drivers/gpu/drm/drm.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
  CC [M]  drivers/gpu/drm/xe/display/intel_dkl_phy.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
  AR      drivers/gpu/drm/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/base.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dmc.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_internal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dp_aux_backlight.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_object.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dp.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dp_hdcp.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/nouveau/nvkm/subdev/bus/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv31.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv50.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/g94.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/gf100.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_pages.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_phys.o
  AR      drivers/android/built-in.a
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_pm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_region.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_shmem.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv40.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv50.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/g84.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dpll.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_stolen.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_throttle.o
  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/i915/gem/i915_gem_tiling.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v7_0.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/xe/display/intel_drrs.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_userptr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gm20b.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dsb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllnv04.o
  LD [M]  drivers/gpu/drm/drm_kms_helper.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dsi.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_wait.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllgt215.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gemfs.o
  CC [M]  drivers/gpu/drm/i915/i915_active.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik_sdma.o
  CC [M]  drivers/gpu/drm/i915/i915_cmd_parser.o
  CC [M]  drivers/gpu/drm/i915/i915_deps.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.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/nouveau/nvkm/subdev/devinit/nv05.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dsi_dcs_backlight.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v4_2.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_ww.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v2_0.o
  CC [M]  drivers/gpu/drm/xe/display/intel_dsi_vbt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv1a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv20.o
  CC [M]  drivers/gpu/drm/i915/i915_gem.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.o
  CC [M]  drivers/gpu/drm/i915/i915_query.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.o
  CC [M]  drivers/gpu/drm/i915/i915_request.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g98.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fb.o
  CC [M]  drivers/gpu/drm/i915/i915_scheduler.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gt215.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbc.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fdi.o
  CC [M]  drivers/gpu/drm/i915/i915_trace_points.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/mcp89.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.o
  CC [M]  drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
  CC [M]  drivers/gpu/drm/i915/i915_vma.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/xe/display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.o
  CC [M]  drivers/gpu/drm/xe/display/intel_global_state.o
  CC [M]  drivers/gpu/drm/i915/i915_vma_resource.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm200.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
  CC [M]  drivers/gpu/drm/xe/display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gv100.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/tu102.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/ga100.o
  CC [M]  drivers/gpu/drm/xe/display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/user.o
  CC [M]  drivers/gpu/drm/xe/display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp10b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/tu102.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.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/i915/gt/uc/intel_guc_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si_ih.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
  CC [M]  drivers/gpu/drm/xe/display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/display/intel_hti.o
  CC [M]  drivers/gpu/drm/xe/display/intel_lspcon.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/si_dma.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.o
  CC [M]  drivers/gpu/drm/xe/display/intel_lvds.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/xe/display/intel_modeset_setup.o
  CC [M]  drivers/gpu/drm/xe/display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv25.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/nouveau/nvkm/subdev/fb/nv30.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv35.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv36.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v6_0.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv41.o
  CC [M]  drivers/gpu/drm/xe/display/intel_panel.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v3_1.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/xe/display/intel_pipe_crc.o
  CC [M]  drivers/gpu/drm/xe/display/intel_pps.o
  CC [M]  drivers/gpu/drm/xe/display/intel_psr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv44.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv46.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_vi.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gsc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v6_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv47.o
  CC [M]  drivers/gpu/drm/i915/i915_hwmon.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/soc15.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv49.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv4e.o
  CC [M]  drivers/gpu/drm/i915/display/hsw_ips.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.o
  CC [M]  drivers/gpu/drm/xe/display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/g84.o
  CC [M]  drivers/gpu/drm/i915/display/intel_atomic.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/mcp77.o
  CC [M]  drivers/gpu/drm/xe/display/intel_quirks.o
  CC [M]  drivers/gpu/drm/xe/display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/emu_soc.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/nouveau/nvkm/subdev/fb/mcp89.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.o
  CC [M]  drivers/gpu/drm/xe/display/intel_sprite.o
  CC [M]  drivers/gpu/drm/i915/display/intel_bios.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/fb/gf108.o
  CC [M]  drivers/gpu/drm/i915/display/intel_bw.o
  CC [M]  drivers/gpu/drm/xe/display/intel_tc.o
  CC [M]  drivers/gpu/drm/xe/display/intel_vblank.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk104.o
  CC [M]  drivers/gpu/drm/i915/display/intel_color.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.o
  CC [M]  drivers/gpu/drm/xe/display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.o
  CC [M]  drivers/gpu/drm/xe/display/intel_vga.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega10_reg_init.o
  CC [M]  drivers/gpu/drm/i915/display/intel_connector.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm20b.o
  CC [M]  drivers/gpu/drm/xe/display/intel_vrr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp10b.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crtc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega20_reg_init.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_4.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v2_3.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/tu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nv.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga100.o
  CC [M]  drivers/gpu/drm/xe/display/intel_wm.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cursor.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga102.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/arct_reg_init.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv04.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv10.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC [M]  drivers/gpu/drm/xe/display/skl_scaler.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_nv.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_2.o
  CC [M]  drivers/gpu/drm/xe/display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv40.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v4_0.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/hdp_v5_0.o
  CC [M]  drivers/gpu/drm/xe/display/skl_watermark.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv49.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/aldebaran_reg_init.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dmc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpio_phy.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpll.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv4e.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i9xx_wm.o
  CC [M]  drivers/gpu/drm/i915/display/intel_drrs.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsb.o
  CC [M]  drivers/gpu/drm/xe/display/ext/intel_device_info.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgt215.o
  CC [M]  drivers/gpu/drm/xe/display/ext/intel_dram.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/amd/amdgpu/aldebaran.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fb.o
  CC [M]  drivers/gpu/drm/xe/display/ext/intel_pch.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/soc21.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sienna_cichlid.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/nouveau/nvkm/subdev/fb/ramgm107.o
  CC [M]  drivers/gpu/drm/xe/display/ext/intel_pm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smu_v13_0_10.o
  CC [M]  drivers/gpu/drm/xe/display/intel_acpi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v4_3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm200.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fb_pin.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramga102.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fbc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v6_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_7.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v5_2.o
  CC [M]  drivers/gpu/drm/xe/display/intel_opregion.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fdi.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr2.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/lsdma_v6_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fifo_underrun.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v1_7.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_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/df_v3_6.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr3.o
  CC [M]  drivers/gpu/drm/i915/display/intel_frontbuffer.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  CC [M]  drivers/gpu/drm/i915/display/intel_global_state.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
  CC [M]  drivers/gpu/drm/i915/display/intel_hdcp.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hti.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v4_3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr5.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v7_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_lpe_audio.o
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.o
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_setup.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/nv50.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
  CC [M]  drivers/gpu/drm/i915/display/intel_overlay.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v8_0.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gf100.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.o
  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_pm_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v9_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pch_display.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
  CC [M]  drivers/gpu/drm/i915/display/intel_pch_refclk.o
  HDRTEST drivers/gpu/drm/xe/display/intel_de.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gm107.o
  CC [M]  drivers/gpu/drm/i915/display/intel_plane_initial.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v9_4.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.o
  HDRTEST drivers/gpu/drm/xe/display/ext/i915_irq.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv10.o
  HDRTEST drivers/gpu/drm/xe/display/ext/intel_pch.h
  HDRTEST drivers/gpu/drm/xe/display/ext/intel_pm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv50.o
  HDRTEST drivers/gpu/drm/xe/display/ext/i9xx_wm.h
  HDRTEST drivers/gpu/drm/xe/display/ext/intel_dram.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/g94.o
  CC [M]  drivers/gpu/drm/i915/display/intel_psr.o
  HDRTEST drivers/gpu/drm/xe/display/ext/intel_device_info.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_reg_defs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/gf119.o
  CC [M]  drivers/gpu/drm/i915/display/intel_quirks.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gpio/ga102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gsp/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v10_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gsp/gv100.o
  CC [M]  drivers/gpu/drm/i915/display/intel_sprite.o
  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/i915/display/intel_vga.o
  CC [M]  drivers/gpu/drm/i915/display/intel_wm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/gsp/ga102.o
  CC [M]  drivers/gpu/drm/i915/display/i9xx_plane.o
  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
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_lrc_layout.h
  CC [M]  drivers/gpu/drm/i915/display/i9xx_wm.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_engine_regs.h
  CC [M]  drivers/gpu/drm/i915/display/skl_scaler.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_test.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.o
  CC [M]  drivers/gpu/drm/i915/display/skl_universal_plane.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_rtp_test.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv04.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_pci_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_migrate_test.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv4e.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv50.o
  HDRTEST drivers/gpu/drm/xe/tests/xe_bo_test.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/g94.o
  CC [M]  drivers/gpu/drm/i915/display/skl_watermark.o
  CC [M]  drivers/gpu/drm/i915/display/intel_acpi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_7.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gf117.o
  CC [M]  drivers/gpu/drm/i915/display/intel_opregion.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gf119.o
  HDRTEST drivers/gpu/drm/xe/xe_bb.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk104.o
  HDRTEST drivers/gpu/drm/xe/xe_bb_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gk110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gm200.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ch7017.o
  HDRTEST drivers/gpu/drm/xe/xe_bo.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ch7xxx.o
  HDRTEST drivers/gpu/drm/xe/xe_bo_doc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v11_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv04.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ivch.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv4e.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ns2501.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_sil164.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_tfp410.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv50.o
  CC [M]  drivers/gpu/drm/i915/display/g4x_dp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0_3.o
  HDRTEST drivers/gpu/drm/xe/xe_bo_evict.h
  CC [M]  drivers/gpu/drm/i915/display/g4x_hdmi.o
  CC [M]  drivers/gpu/drm/i915/display/icl_dsi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bus.o
  HDRTEST drivers/gpu/drm/xe/xe_bo_types.h
  CC [M]  drivers/gpu/drm/i915/display/intel_backlight.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv04.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv4e.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busnv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_7.o
  CC [M]  drivers/gpu/drm/i915/display/intel_ddi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/busgf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bit.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.o
  CC [M]  drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_trace.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v8_7.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dkl_phy.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v8_10.o
  HDRTEST drivers/gpu/drm/xe/xe_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_device.h
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
  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/amd/amdgpu/amdgpu_irq.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ih.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/iceland_ih.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/gf100.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/tonga_ih.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cz_ih.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv40.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega10_ih.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega20_ih.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsi_vbt.o
  HDRTEST drivers/gpu/drm/xe/xe_device_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/navi10_ih.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dvo.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/ih_v6_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.o
  CC [M]  drivers/gpu/drm/i915/display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v3_1.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/nouveau/nvkm/subdev/ltc/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v10_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/ltc/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v11_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_lvds.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v11_0_8.o
  HDRTEST drivers/gpu/drm/xe/xe_display.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/psp_v12_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_panel.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/i915/display/intel_pps.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.o
  CC [M]  drivers/gpu/drm/i915/display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v10_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_sdvo.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv11.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv17.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v11_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv44.o
  CC [M]  drivers/gpu/drm/i915/display/intel_tv.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vdsc.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/i915/display/intel_vrr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_rlc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv50.o
  CC [M]  drivers/gpu/drm/i915/display/vlv_dsi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v8_0.o
  HDRTEST drivers/gpu/drm/xe/xe_dma_buf.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/g98.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mc/gt215.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_0.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/nouveau/nvkm/subdev/mc/gk20a.o
  CC [M]  drivers/gpu/drm/i915/display/vlv_dsi_pll.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v9_4.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/gfx_v9_4_2.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/nouveau/nvkm/subdev/mc/gp100.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_huc.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/xe/xe_drv.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v11_0.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_cmd.o
  HDRTEST drivers/gpu/drm/xe/xe_engine.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v11_0_3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv41.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/imu_v11_0_3.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv44.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.o
  HDRTEST drivers/gpu/drm/xe/xe_engine_types.h
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_irq.o
  HDRTEST drivers/gpu/drm/xe/xe_exec.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.o
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_pm.o
  HDRTEST drivers/gpu/drm/xe/xe_execlist.h
  CC [M]  drivers/gpu/drm/i915/pxp/intel_pxp_session.o
  CC [M]  drivers/gpu/drm/i915/i915_gpu_error.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v2_4.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v3_0.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
  HDRTEST drivers/gpu/drm/xe/xe_execlist_types.h
  CC [M]  drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/g84.o
  HDRTEST drivers/gpu/drm/xe/xe_force_wake.h
  CC [M]  drivers/gpu/drm/i915/selftests/i915_random.o
  HDRTEST drivers/gpu/drm/xe/xe_force_wake_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v4_0.o
  CC [M]  drivers/gpu/drm/i915/selftests/i915_selftest.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_atomic.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v4_4.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v5_0.o
  HDRTEST drivers/gpu/drm/xe/xe_ggtt.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt_types.h
  CC [M]  drivers/gpu/drm/i915/selftests/igt_flush_test.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_live_test.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/mcp77.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_mmap.o
  HDRTEST drivers/gpu/drm/xe/xe_gt.h
  CC [M]  drivers/gpu/drm/i915/selftests/igt_reset.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v5_2.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_clock.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gf100.o
  CC [M]  drivers/gpu/drm/i915/selftests/igt_spinner.o
  CC [M]  drivers/gpu/drm/i915/selftests/librapl.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_debugfs.h
  CC [M]  drivers/gpu/drm/i915/i915_vgpu.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_mcr.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dkl_phy_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_crtc_state_dump.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_pagefault.h
  HDRTEST drivers/gpu/drm/i915/display/hsw_ips.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs.h
  HDRTEST drivers/gpu/drm/i915/display/g4x_hdmi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk104.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hdcp_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_overlay.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dmc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_vga.h
  HDRTEST drivers/gpu/drm/i915/display/intel_audio.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/i915/display/intel_lvds.h
  HDRTEST drivers/gpu/drm/i915/display/intel_modeset_setup.h
  HDRTEST drivers/gpu/drm/i915/display/intel_cdclk.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/sdma_v6_0.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_limits.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hotplug.h
  HDRTEST drivers/gpu/drm/xe/xe_guc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_mes.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mes_v10_1.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dkl_phy.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mes_v11_0.o
  HDRTEST drivers/gpu/drm/i915/display/intel_atomic.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v5_0.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v6_0.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dpll.h
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi_pll_regs.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v7_0.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_engine_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk20a.o
  HDRTEST drivers/gpu/drm/xe/xe_guc_fwif.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_hwconfig.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm200.o
  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/i915/display/intel_dp_mst.h
  HDRTEST drivers/gpu/drm/i915/display/g4x_dp.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_reg.h
  HDRTEST drivers/gpu/drm/i915/display/intel_tc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_huc.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vce.o
  HDRTEST drivers/gpu/drm/xe/xe_huc_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_frontbuffer.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm20b.o
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v3_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v4_0.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsi_vbt.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gp100.o
  HDRTEST drivers/gpu/drm/xe/xe_irq.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_psr.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gp10b.o
  HDRTEST drivers/gpu/drm/xe/xe_macros.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/tu102.o
  HDRTEST drivers/gpu/drm/xe/xe_map.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/mem.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_sw_ring.o
  HDRTEST drivers/gpu/drm/i915/display/intel_crt.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/memnv04.o
  HDRTEST drivers/gpu/drm/i915/display/intel_opregion.h
  HDRTEST drivers/gpu/drm/i915/display/intel_snps_phy_regs.h
  HDRTEST drivers/gpu/drm/i915/display/i9xx_wm.h
  HDRTEST drivers/gpu/drm/i915/display/intel_global_state.h
  HDRTEST drivers/gpu/drm/i915/display/intel_lpe_audio.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate_doc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_drrs.h
  HDRTEST drivers/gpu/drm/xe/xe_mmio.h
  HDRTEST drivers/gpu/drm/xe/xe_mocs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/memnv50.o
  HDRTEST drivers/gpu/drm/xe/xe_module.h
  HDRTEST drivers/gpu/drm/xe/xe_pci.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
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/memgf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v1_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.o
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v2_0.o
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fbdev.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v2_5.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hdmi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv41.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv44.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmnv50.o
  HDRTEST drivers/gpu/drm/xe/xe_pt.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_query.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fdi.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fb.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmmcp77.o
  HDRTEST drivers/gpu/drm/xe/xe_reg_whitelist.h
  HDRTEST drivers/gpu/drm/i915/display/intel_qp_tables.h
  HDRTEST drivers/gpu/drm/xe/xe_res_cursor.h
  HDRTEST drivers/gpu/drm/i915/display/intel_vdsc.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops.h
  HDRTEST drivers/gpu/drm/i915/display/intel_snps_phy.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_core.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v3_0.o
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vcn_v4_0.o
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi_pll.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgk20a.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dvo_dev.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hdcp.h
  HDRTEST drivers/gpu/drm/i915/display/intel_sdvo_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_pch_refclk.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_trace.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_power.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.o
  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
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.o
  HDRTEST drivers/gpu/drm/xe/xe_sa_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.o
  HDRTEST drivers/gpu/drm/i915/display/i9xx_plane.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.o
  HDRTEST drivers/gpu/drm/xe/xe_sched_job_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgm20b.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/amd/amdgpu/athub_v1_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v2_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v2_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/athub_v3_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v9_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgp10b.o
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v11_0.o
  HDRTEST drivers/gpu/drm/i915/display/intel_plane_initial.h
  HDRTEST drivers/gpu/drm/xe/xe_step.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v11_0_6.o
  HDRTEST drivers/gpu/drm/xe/xe_step_types.h
  HDRTEST drivers/gpu/drm/i915/display/intel_fifo_underrun.h
  HDRTEST drivers/gpu/drm/i915/display/intel_cursor.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgv100.o
  HDRTEST drivers/gpu/drm/xe/xe_sync.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v13_0.o
  HDRTEST drivers/gpu/drm/xe/xe_sync_types.h
  HDRTEST drivers/gpu/drm/xe/xe_trace.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_gtt_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_gtt_mgr_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/umem.o
  HDRTEST drivers/gpu/drm/i915/display/vlv_dsi_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.o
  HDRTEST drivers/gpu/drm/i915/display/skl_scaler.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
  HDRTEST drivers/gpu/drm/i915/display/intel_hti.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mmu/uvmm.o
  HDRTEST drivers/gpu/drm/i915/display/icl_dsi_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.o
  HDRTEST drivers/gpu/drm/i915/display/intel_atomic_plane.h
  HDRTEST drivers/gpu/drm/i915/display/skl_watermark.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fbc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/agp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smuio_v13_0_6.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_reg_defs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_reset.o
  HDRTEST drivers/gpu/drm/i915/display/intel_acpi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/mca_v3_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.o
  HDRTEST drivers/gpu/drm/i915/display/intel_connector.h
  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
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/pcie.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_module.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv04.o
  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/i915/display/intel_color.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_debugfs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_crtc.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_debugfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv40.o
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_abi.h
  HDRTEST drivers/gpu/drm/i915/display/intel_modeset_verify.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_power_well.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_chardev.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_topology.o
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_pasid.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_doorbell.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/nv46.o
  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/nv4c.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_flat_memory.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_queue.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/g84.o
  HDRTEST drivers/gpu/drm/xe/xe_vm_doc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_wm.h
  HDRTEST drivers/gpu/drm/i915/display/intel_pipe_crc.h
  HDRTEST drivers/gpu/drm/i915/display/intel_audio_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_panel.h
  HDRTEST drivers/gpu/drm/i915/display/intel_sprite.h
  HDRTEST drivers/gpu/drm/i915/display/intel_wm_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager.o
  HDRTEST drivers/gpu/drm/i915/display/intel_tv.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_madvise.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/g92.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/nouveau/nvkm/subdev/pci/g94.o
  HDRTEST drivers/gpu/drm/i915/display/intel_hti_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gf100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_vrr.h
  HDRTEST drivers/gpu/drm/xe/xe_wa.h
  HDRTEST drivers/gpu/drm/xe/xe_wait_user_fence.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v9.o
  HDRTEST drivers/gpu/drm/xe/xe_wopcm.h
  HDRTEST drivers/gpu/drm/i915/display/skl_universal_plane.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gf106.o
  HDRTEST drivers/gpu/drm/i915/display/intel_mg_phy_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gk104.o
  HDRTEST drivers/gpu/drm/i915/display/intel_bw.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pci/gp100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_de.h
  LD [M]  drivers/gpu/drm/xe/xe.o
  HDRTEST drivers/gpu/drm/i915/display/intel_lvds_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_gmbus_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v10.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dvo.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/memx.o
  HDRTEST drivers/gpu/drm/i915/display/intel_sdvo.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gt215.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_aux.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v11.o
  HDRTEST drivers/gpu/drm/i915/display/intel_combo_phy.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gf100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dvo_regs.h
  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/pmu/gf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk104.o
  HDRTEST drivers/gpu/drm/i915/display/intel_gmbus.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_packet_manager_vi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_packet_manager_v9.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process_queue_manager.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_cik.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk208.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_vi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_v9.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_v10.o
drivers/gpu/drm/xe/xe.o: warning: objtool: intel_crtc_init+0x241: unreachable instruction
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager_v11.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gf117.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_interrupt.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dmc_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_events.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/cik_event_interrupt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gm200.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_v11.o
  HDRTEST drivers/gpu/drm/i915/display/intel_ddi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/privring/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_smi_events.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fan.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_crat.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fannil.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_migrate.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/fanpwm.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/nouveau/nvkm/subdev/therm/fantog.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/amdgpu_amdkfd_gfx_v9.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_arcturus.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dsb.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.o
  HDRTEST drivers/gpu/drm/i915/display/intel_bios.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.o
  HDRTEST drivers/gpu/drm/i915/display/intel_pch_display.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gt215.o
  HDRTEST drivers/gpu/drm/i915/display/intel_display_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10_3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gf100.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
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gf119.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_job.o
  HDRTEST drivers/gpu/drm/i915/display/intel_backlight.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.o
  HDRTEST drivers/gpu/drm/i915/display/intel_vblank.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_acp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../acp/acp_hw.o
  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/amd/amdgpu/amdgpu_hmm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/arcturus_ppt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/navi10_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/sienna_cichlid_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/vangogh_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/cyan_skillfish_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu11/smu_v11_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv40.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp.h
  HDRTEST drivers/gpu/drm/i915/display/intel_backlight_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu12/renoir_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu12/smu_v12_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv41.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0.o
  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/nouveau/nvkm/subdev/top/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/top/ga100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/base.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
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/uvfn.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_0_ppt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/vfn/tu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_4_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_5_ppt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/swsmu/smu13/smu_v13_0_7_ppt.o
  HDRTEST drivers/gpu/drm/i915/display/intel_combo_phy_regs.h
  HDRTEST drivers/gpu/drm/i915/display/intel_display_power_map.h
  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/nouveau/nvkm/subdev/vfn/ga100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smumgr.o
  HDRTEST drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h
  HDRTEST drivers/gpu/drm/i915/display/icl_dsi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.o
  HDRTEST drivers/gpu/drm/i915/display/intel_lspcon.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu8_smumgr.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dpio_phy.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gpio.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/../pm/powerplay/smumgr/tonga_smumgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/fiji_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gf117.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/polaris10_smumgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/iceland_smumgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu7_smumgr.o
  HDRTEST drivers/gpu/drm/i915/display/intel_dp_hdcp.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vega10_smumgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu10_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk104.o
  HDRTEST drivers/gpu/drm/i915/display/intel_fb_pin.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/ci_smumgr.o
  HDRTEST drivers/gpu/drm/i915/display/intel_pps.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.o
  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/amd/amdgpu/../pm/powerplay/smumgr/vega12_smumgr.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ttm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/xtensa.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vegam_smumgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_region.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_context_types.h
  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/nouveau/nvkm/engine/ce/gk104.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_lmem.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/smu9_smumgr.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_mman.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/smumgr/vega20_smumgr.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_object_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gm200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gp100.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_context.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/hwmgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gp102.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/amd/amdgpu/../pm/powerplay/hwmgr/smu8_hwmgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/pppcielanes.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/../pm/powerplay/hwmgr/process_pptables_v1_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/tu102.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_stolen.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/ga100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/ce/ga102.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_create.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ttm_move.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomfwctrl.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_ioctls.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/cipher/g84.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_domain.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/acpi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/ctrl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/pci.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_powertune.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/device/user.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
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_processpptables.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_internal.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_dmabuf.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_hwmgr.o
  HDRTEST drivers/gpu/drm/i915/gem/selftests/mock_context.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_powertune.o
  HDRTEST drivers/gpu/drm/i915/gem/selftests/huge_gem_object.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_thermal.o
  HDRTEST drivers/gpu/drm/i915/gem/selftests/mock_gem_object.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu10_hwmgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/chan.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/pp_psm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_processpptables.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_hwmgr.o
  HDRTEST drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_thermal.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/pp_overdriver.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/head.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu_helper.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.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/engine/disp/vga.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_thermal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/common_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega10_baco.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.o
  HDRTEST drivers/gpu/drm/i915/gem/selftests/igt_gem_utils.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/g94.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_userptr.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_pm.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega20_baco.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_shrinker.h
  HDRTEST drivers/gpu/drm/i915/gem/i915_gemfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/vega12_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu9_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/tonga_baco.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gt200.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp77.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gt215.o
  HDRTEST drivers/gpu/drm/i915/gem/i915_gem_object.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/polaris_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/fiji_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ci_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_baco.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/powerplay/amd_powerplay.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/legacy_dpm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/mcp89.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/kv_dpm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/kv_smc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/legacy-dpm/si_dpm.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/amd/amdgpu/../pm/legacy-dpm/si_smc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_dpm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_pm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gk110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_timeline_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_dpm_internal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_crtc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gp102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.o
  HDRTEST drivers/gpu/drm/i915/gt/selftest_engine.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_breadcrumbs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_irq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/tu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_mst_types.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_heartbeat.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_color.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.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/amd/amdgpu/../display/amdgpu_dm/dc_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_services.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_pm.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_helpers.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/udisp.o
  HDRTEST drivers/gpu/drm/i915/gt/selftest_rc6.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_pp_smu.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/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_psr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_hdcp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/uconn.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_crc.o
  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/amd/amdgpu/../display/dc/basics/fixpt31_32.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/vector.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/disp/uhead.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/basics/dc_common.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser_interface.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_region_lmem.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser_helper.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/nv50.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_requests.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_ggtt_gmch.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/gf119.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table_helper.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/gv100.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_print.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/user.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser_common.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usergf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table2.o
  HDRTEST drivers/gpu/drm/i915/gt/gen8_ppgtt.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/command_table_helper2.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_mcr.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/bios_parser2.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_timeline.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce60/command_table_helper_dce60.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usergf119.o
  HDRTEST drivers/gpu/drm/i915/gt/gen6_engine_cs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce80/command_table_helper_dce80.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_workarounds_types.h
  HDRTEST drivers/gpu/drm/i915/gt/selftest_rps.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce110/command_table_helper_dce110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/dma/usergv100.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_sa_media.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/bios/dce112/command_table_helper_dce112.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_debugfs.h
  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/bios/dce112/command_table_helper2_dce112.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dce_calcs.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_clock_utils.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_rps_types.h
  HDRTEST drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/runl.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/custom_float.o
  HDRTEST drivers/gpu/drm/i915/gt/sysfs_engines.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/runq.o
  HDRTEST drivers/gpu/drm/i915/gt/gen7_renderclear.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/bw_fixed.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_context.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_wopcm.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_mocs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_mode_lib.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_pm.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_rq_dlg_helpers.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_sysfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dml1_display_rq_dlg_calc.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_rc6.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv17.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_ring_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn10/dcn10_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/dcn20_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/display_mode_vba.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv40.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/engine/fifo/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_mode_vba_20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/g84.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_workarounds.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_regs.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_pm_irq.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/g98.o
  HDRTEST drivers/gpu/drm/i915/gt/shmem_utils.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn20/display_rq_dlg_calc_20v2.o
  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
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn21/display_mode_vba_21.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/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
  HDRTEST drivers/gpu/drm/i915/gt/intel_reset_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn30/display_rq_dlg_calc_30.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn31/display_mode_vba_31.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk208.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn31/display_rq_dlg_calc_31.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.o
  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
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_regs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_32.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_reset.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gp100.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/guc_capture_fwif.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_uc.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_print.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_rq_dlg_calc_32.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/tu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn32/display_mode_vba_util_32.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn31/dcn31_fpu.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_fw.h
  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/dml/dcn32/dcn32_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn321/dcn321_fpu.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn301/dcn301_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn302/dcn302_fpu.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_klvs_abi.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn303/dcn303_fpu.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_errors_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_communication_mmio_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_actions_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_communication_ctb_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/abi/guc_messages_abi.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dcn314/dcn314_fpu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/dsc/rc_calc_fpu.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_huc.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/fifo/ucgrp.o
  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/uc/intel_huc_fw.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv04.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_fwif.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_capture.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv10.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv15.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calcs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_math.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dml/calcs/dcn_calc_auto.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv17.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv25.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce60/dce60_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_slpc_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce100/dce_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce110/dce110_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce112/dce112_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_ct.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dce120/dce120_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn10/rv1_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv2a.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
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn20/dcn20_clk_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.h
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn21/rn_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_ads.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv30.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/engine/gr/nv34.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
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.h
  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
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_guc_rc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv35.o
  HDRTEST drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn31/dcn31_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv40.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_hwconfig.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv44.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_llc.h
  HDRTEST drivers/gpu/drm/i915/gt/gen8_engine_cs.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_sseu_debugfs.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/nv50.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_rc6_types.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_context_param.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn314/dcn314_smu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn314/dcn314_clk_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gt200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn315/dcn315_smu.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gpu_commands.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn315/dcn315_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_user.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/mcp79.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn316/dcn316_smu.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_irq.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_gsc.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn316/dcn316_clk_mgr.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_rps.h
  HDRTEST drivers/gpu/drm/i915/gt/selftest_llc.h
  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/engine/gr/gt215.o
  HDRTEST drivers/gpu/drm/i915/gt/gen6_ppgtt.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_audio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/mcp89.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_stream_encoder.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_ggtt_fencing.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_migrate_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_link_encoder.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_hwseq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gf104.o
  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
  HDRTEST drivers/gpu/drm/i915/gt/selftests/mock_timeline.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_lrc.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gf108.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_scl_filters.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_transform.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gf110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_opp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gf117.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
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gf119.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_lrc_reg.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_migrate.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_ipp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gk110b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gk208.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_sw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gm200.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/nouveau/nvkm/engine/gr/gm20b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_panel_cntl.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_hw_lock_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_outbox.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gp102.o
  HDRTEST drivers/gpu/drm/i915/gt/mock_engine.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_stats.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gp104.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gtt.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gp107.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gp108.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/gpio_service.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_buffer_pool_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/gv100.o
  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
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/hw_hpd.o
  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/amd/amdgpu/../display/dc/gpio/hw_translate.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/tu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ga102.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_ring.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxnv40.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/nouveau/nvkm/engine/gr/ctxnv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce80/hw_translate_dce80.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce80/hw_factory_dce80.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce110/hw_translate_dce110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce110/hw_factory_dce110.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce120/hw_translate_dce120.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf108.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_renderstate.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf117.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dce120/hw_factory_dce120.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgf119.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_sseu.h
  HDRTEST drivers/gpu/drm/i915/gt/intel_engine_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn10/hw_translate_dcn10.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110.o
  HDRTEST drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.h
  HDRTEST drivers/gpu/drm/i915/gt/gen2_engine_cs.h
  HDRTEST drivers/gpu/drm/i915/gvt/gvt.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn10/hw_factory_dcn10.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk110b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk208.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgk20a.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn20/hw_translate_dcn20.o
  HDRTEST drivers/gpu/drm/i915/gvt/trace.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn20/hw_factory_dcn20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm20b.o
  HDRTEST drivers/gpu/drm/i915/gvt/debug.h
  HDRTEST drivers/gpu/drm/i915/gvt/edid.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn21/hw_translate_dcn21.o
  HDRTEST drivers/gpu/drm/i915/gvt/page_track.h
  HDRTEST drivers/gpu/drm/i915/gvt/mmio.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp100.o
  HDRTEST drivers/gpu/drm/i915/gvt/sched_policy.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp104.o
  HDRTEST drivers/gpu/drm/i915/gvt/fb_decoder.h
  HDRTEST drivers/gpu/drm/i915/gvt/cmd_parser.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgp107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn21/hw_factory_dcn21.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn30/hw_translate_dcn30.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn30/hw_factory_dcn30.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgv100.o
  HDRTEST drivers/gpu/drm/i915/gvt/dmabuf.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn315/hw_translate_dcn315.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxtu102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn315/hw_factory_dcn315.o
  HDRTEST drivers/gpu/drm/i915/gvt/mmio_context.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn32/hw_translate_dcn32.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/gpio/dcn32/hw_factory_dcn32.o
  HDRTEST drivers/gpu/drm/i915/gvt/display.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv40.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/irq_service.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv50.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/amd/amdgpu/../display/dc/irq/dce110/irq_service_dce110.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mpeg/g84.o
  HDRTEST drivers/gpu/drm/i915/gvt/gtt.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mspdec/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mspdec/g98.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dce120/irq_service_dce120.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mspdec/gt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mspdec/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn10/irq_service_dcn10.o
  HDRTEST drivers/gpu/drm/i915/gvt/scheduler.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/mspdec/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msppp/base.o
  HDRTEST drivers/gpu/drm/i915/gvt/reg.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msppp/g98.o
  HDRTEST drivers/gpu/drm/i915/gvt/execlist.h
  HDRTEST drivers/gpu/drm/i915/gvt/interrupt.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msppp/gt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msppp/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msvld/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn20/irq_service_dcn20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msvld/g98.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msvld/gt215.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn21/irq_service_dcn21.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn201/irq_service_dcn201.o
  HDRTEST drivers/gpu/drm/i915/i915_active.h
  HDRTEST drivers/gpu/drm/i915/i915_active_types.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn30/irq_service_dcn30.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn302/irq_service_dcn302.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msvld/mcp89.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msvld/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn303/irq_service_dcn303.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn31/irq_service_dcn31.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/msvld/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/nvenc/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/nvenc/gm107.o
  HDRTEST drivers/gpu/drm/i915/i915_cmd_parser.h
  HDRTEST drivers/gpu/drm/i915/i915_config.h
  HDRTEST drivers/gpu/drm/i915/i915_debugfs.h
  HDRTEST drivers/gpu/drm/i915/i915_debugfs_params.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/nvdec/base.o
  HDRTEST drivers/gpu/drm/i915/i915_deps.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn314/irq_service_dcn314.o
  HDRTEST drivers/gpu/drm/i915/i915_driver.h
  HDRTEST drivers/gpu/drm/i915/i915_drm_client.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/nvdec/gm107.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn315/irq_service_dcn315.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/nvdec/ga102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/nv40.o
  HDRTEST drivers/gpu/drm/i915/i915_drv.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/nv50.o
  HDRTEST drivers/gpu/drm/i915/i915_file_private.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/g84.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/gt200.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
  HDRTEST drivers/gpu/drm/i915/i915_fixed.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_dpms.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/gt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/gf100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/gf108.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_factory.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/gf117.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_resource.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/pm/gk104.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sec/g98.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sec2/base.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp102.o
  HDRTEST drivers/gpu/drm/i915/i915_gem.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_validation.o
  HDRTEST drivers/gpu/drm/i915/i915_gem_evict.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp108.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/accessories/link_dp_trace.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/accessories/link_dp_cts.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.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/sec2/ga102.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_dpia.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_hpo_dp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sw/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_hpd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sw/nv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sw/nv10.o
  HDRTEST drivers/gpu/drm/i915/i915_gem_gtt.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_ddc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sw/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dpcd.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sw/chan.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_dpia.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/sw/nvsw.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/engine/vp/g84.o
  HDRTEST drivers/gpu/drm/i915/i915_gem_ww.h
  CC [M]  drivers/gpu/drm/nouveau/nouveau_acpi.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training_8b_10b.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_drm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training_128b_132b.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_hwmon.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_ioc32.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_led.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_nvif.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_usif.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_vga.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training_dpia.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_bo.o
  HDRTEST drivers/gpu/drm/i915/i915_getparam.h
  CC [M]  drivers/gpu/drm/nouveau/nouveau_bo0039.o
  HDRTEST drivers/gpu/drm/i915/i915_gpu_error.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training_auxless.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_bo5039.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/nouveau/nouveau_bo74c1.o
  HDRTEST drivers/gpu/drm/i915/i915_hwmon.h
  CC [M]  drivers/gpu/drm/nouveau/nouveau_bo85b5.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_bo9039.o
  HDRTEST drivers/gpu/drm/i915/i915_ioc32.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_capability.o
  HDRTEST drivers/gpu/drm/i915/i915_ioctl.h
  CC [M]  drivers/gpu/drm/nouveau/nouveau_bo90b5.o
  HDRTEST drivers/gpu/drm/i915/i915_iosf_mbi.h
  HDRTEST drivers/gpu/drm/i915/i915_irq.h
  HDRTEST drivers/gpu/drm/i915/i915_memcpy.h
  HDRTEST drivers/gpu/drm/i915/i915_mitigations.h
  HDRTEST drivers/gpu/drm/i915/i915_mm.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_edp_panel_control.o
  HDRTEST drivers/gpu/drm/i915/i915_params.h
  CC [M]  drivers/gpu/drm/nouveau/nouveau_boa0b5.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_gem.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_irq_handler.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_svm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/virtual/virtual_link_encoder.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_dmem.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_mem.o
  HDRTEST drivers/gpu/drm/i915/i915_pci.h
  HDRTEST drivers/gpu/drm/i915/i915_perf.h
  HDRTEST drivers/gpu/drm/i915/i915_perf_oa_regs.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/virtual/virtual_stream_encoder.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_prime.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/virtual/virtual_link_hwss.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_sgdma.o
  HDRTEST drivers/gpu/drm/i915/i915_perf_types.h
  HDRTEST drivers/gpu/drm/i915/i915_pmu.h
  CC [M]  drivers/gpu/drm/nouveau/nouveau_ttm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_resource.o
  HDRTEST drivers/gpu/drm/i915/i915_priolist_types.h
  CC [M]  drivers/gpu/drm/nouveau/nouveau_vmm.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/nouveau_backlight.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.o
  HDRTEST drivers/gpu/drm/i915/i915_pvinfo.h
  HDRTEST drivers/gpu/drm/i915/i915_query.h
  HDRTEST drivers/gpu/drm/i915/i915_reg.h
  CC [M]  drivers/gpu/drm/nouveau/nouveau_bios.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp_cm.o
  HDRTEST drivers/gpu/drm/i915/i915_reg_defs.h
  HDRTEST drivers/gpu/drm/i915/i915_request.h
  HDRTEST drivers/gpu/drm/i915/i915_scatterlist.h
  CC [M]  drivers/gpu/drm/nouveau/nouveau_connector.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_display.o
  CC [M]  drivers/gpu/drm/nouveau/nouveau_dp.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/arb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_hubp.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/crtc.o
  HDRTEST drivers/gpu/drm/i915/i915_scheduler.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_mpc.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/cursor.o
  HDRTEST drivers/gpu/drm/i915/i915_scheduler_types.h
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/dac.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/dfp.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/disp.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/hw.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/overlay.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/tvmodesnv17.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/tvnv04.o
  HDRTEST drivers/gpu/drm/i915/i915_selftest.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_opp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_hubbub.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_optc.o
  CC [M]  drivers/gpu/drm/nouveau/dispnv04/tvnv17.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/amd/amdgpu/../display/dc/dcn20/dcn20_link_encoder.o



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

* [Intel-xe] ○ CI.BAT: info for Unit tests for rtp and GT wa/tuning
  2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
                   ` (9 preceding siblings ...)
  2023-03-21 22:13 ` [Intel-xe] ✓ CI.Build: " Patchwork
@ 2023-03-21 22:25 ` Patchwork
  10 siblings, 0 replies; 30+ messages in thread
From: Patchwork @ 2023-03-21 22:25 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

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

== Series Details ==

Series: Unit tests for rtp and GT wa/tuning
URL   : https://patchwork.freedesktop.org/series/115463/
State : info

== Summary ==

Participating hosts:
bat-dg1-8
bat-dg2-oem2
bat-adlp-7
Missing hosts results[1]:
bat-dg1-8
Results: [xe-pw-115463v1](https://intel-gfx-ci.01.org/tree/xe/xe-pw-115463v1/index.html)



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

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-03-21 22:05 ` [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp Lucas De Marchi
@ 2023-03-27 17:56   ` Michał Winiarski
  2023-03-31 13:43     ` Lucas De Marchi
  2023-03-31 14:34     ` Lucas De Marchi
  0 siblings, 2 replies; 30+ messages in thread
From: Michał Winiarski @ 2023-03-27 17:56 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, maarten.lankhorst

On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
> Add some basic unit tests for rtp. This is intended to prove the
> functionality of the rtp itself, like coalescing entries, rejecting
> non-disjoint values, etc.
> 
> Contrary to the other tests in xe, this is a unit test to test the
> sw-side only, so it can be executed on any machine - it doesn't interact
> with the real hardware. For that a mock was provided with the minimum
> initialization needed. Running it produces the following output:
> 
> 	$ ./tools/testing/kunit/kunit.py run --raw_output  \
> 		--kunitconfig drivers/gpu/drm/xe/.kunitconfig xe_rtp
> 	...
> 	[13:46:14] Starting KUnit Kernel (1/1)...
> 	KTAP version 1
> 	1..1
> 	    KTAP version 1
> 	    # Subtest: xe_rtp
> 	    1..3
> 	    ok 1 xe_rtp_process_basic
> 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
> 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
> 	    ok 2 xe_rtp_process_dup
> 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
> 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
> 	    ok 3 xe_rtp_process_incompat_types
> 	# xe_rtp: pass:3 fail:0 skip:0 total:3
> 	# Totals: pass:3 fail:0 skip:0 total:3
> 	ok 1 xe_rtp
> 	[13:46:14] Elapsed time: 6.800s total, 0.002s configuring, 6.682s building, 0.073s running
> 
> Note that the ERRORs in the kernel log are expected since it's testing
> non-disjoint or incompatible entries.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> Reviewed-by: Maarten Lankhorst<maarten.lankhorst@linux.intel.com>
> ---
>  drivers/gpu/drm/xe/Kconfig.debug       |   1 +
>  drivers/gpu/drm/xe/tests/Makefile      |   7 +-
>  drivers/gpu/drm/xe/tests/xe_rtp.c      | 201 +++++++++++++++++++++++++
>  drivers/gpu/drm/xe/tests/xe_rtp_test.c |  64 ++++++++
>  drivers/gpu/drm/xe/tests/xe_rtp_test.h |  15 ++
>  drivers/gpu/drm/xe/xe_rtp.c            |   4 +
>  6 files changed, 290 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.h
> 
> diff --git a/drivers/gpu/drm/xe/Kconfig.debug b/drivers/gpu/drm/xe/Kconfig.debug
> index 93b284cdd0a2..11bb13c73e7b 100644
> --- a/drivers/gpu/drm/xe/Kconfig.debug
> +++ b/drivers/gpu/drm/xe/Kconfig.debug
> @@ -66,6 +66,7 @@ config DRM_XE_KUNIT_TEST
>  	depends on DRM_XE && KUNIT && DEBUG_FS
>  	default KUNIT_ALL_TESTS
>  	select DRM_EXPORT_FOR_TESTS if m
> +	select DRM_KUNIT_TEST_HELPERS
>  	help
>  	  Choose this option to allow the driver to perform selftests under
>  	  the kunit framework

But now we're mixing proper isolated tests with HW-interacting ones.
Can we move the HW-interacting ones to a separate Kconfig which is not
included in .kunitconfig and doesn't set its default value using
KUNIT_ALL_TESTS?

> diff --git a/drivers/gpu/drm/xe/tests/Makefile b/drivers/gpu/drm/xe/tests/Makefile
> index 47056b6459e3..c5c2f108d017 100644
> --- a/drivers/gpu/drm/xe/tests/Makefile
> +++ b/drivers/gpu/drm/xe/tests/Makefile
> @@ -1,4 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0
>  
> -obj-$(CONFIG_DRM_XE_KUNIT_TEST) += xe_bo_test.o xe_dma_buf_test.o \
> -	xe_migrate_test.o
> +obj-$(CONFIG_DRM_XE_KUNIT_TEST) += \
> +	xe_bo_test.o \
> +	xe_dma_buf_test.o \
> +	xe_migrate_test.o \
> +	xe_rtp_test.o
> diff --git a/drivers/gpu/drm/xe/tests/xe_rtp.c b/drivers/gpu/drm/xe/tests/xe_rtp.c
> new file mode 100644
> index 000000000000..92e2c2b8b44d
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/tests/xe_rtp.c
> @@ -0,0 +1,201 @@
> +// SPDX-License-Identifier: GPL-2.0 AND MIT
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#include "tests/xe_rtp_test.h"
> +
> +#include <linux/string.h>
> +#include <linux/xarray.h>

This test is not using xarray.

> +
> +#include <kunit/test.h>
> +
> +#include "regs/xe_gt_regs.h"
> +#include "regs/xe_reg_defs.h"
> +#include "xe_rtp.h"
> +
> +#undef _MMIO
> +#undef MCR_REG
> +#define _MMIO(x)	_XE_RTP_REG(x)
> +#define MCR_REG(x)	_XE_RTP_MCR_REG(x)
> +
> +#define REGULAR_REG1	_MMIO(1)
> +#define REGULAR_REG2	_MMIO(2)
> +#define REGULAR_REG3	_MMIO(3)
> +#define MCR_REG1	MCR_REG(1)
> +#define MCR_REG2	MCR_REG(2)
> +#define MCR_REG3	MCR_REG(3)
> +
> +static bool match_yes(const struct xe_gt *gt, const struct xe_hw_engine *hwe)
> +{
> +	return true;
> +}
> +
> +static bool match_no(const struct xe_gt *gt, const struct xe_hw_engine *hwe)
> +{
> +	return false;
> +}
> +
> +/* Basic entries: same register, only one action, disjoint values */
> +static const struct xe_rtp_entry basic_entries[] = {
> +	{ XE_RTP_NAME("basic-yes-1"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
> +	},
> +	{ XE_RTP_NAME("basic-yes-2"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(1)))
> +	},
> +	{ XE_RTP_NAME("basic-no-3"),
> +	  XE_RTP_RULES(FUNC(match_no)),
> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(2)))
> +	},
> +	{ XE_RTP_NAME("basic-no-4"),
> +	  XE_RTP_RULES(FUNC(match_yes), FUNC(match_no)),
> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(3)))
> +	},
> +	{ XE_RTP_NAME("basic-yes-clr-1"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  XE_RTP_ACTIONS(CLR(REGULAR_REG1, REG_BIT(4)))
> +	},
> +	{ XE_RTP_NAME("basic-yes-clr-2"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  XE_RTP_ACTIONS(CLR(REGULAR_REG1, REG_BIT(5)))
> +	},
> +	{}
> +};
> +
> +void xe_rtp_process_basic(struct kunit *test)
> +{
> +	struct xe_device *xe = test->priv;
> +	struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
> +	const struct xe_rtp_entry *rtp_entry;
> +	const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
> +	unsigned long idx, count = 0, set_bits = 0, clr_bits = 0;
> +
> +	xe_reg_sr_init(reg_sr, "basic", xe);
> +	xe_rtp_process(basic_entries, reg_sr, &xe->gt[0], NULL);
> +
> +	xa_for_each(&reg_sr->xa, idx, sre) {
> +		count++;
> +		sr_entry = sre;
> +	}
> +
> +	/*
> +	 * Same REGULAR_REG1 register being used: all the entries should
> +	 * coalesce into a single entry
> +	 */
> +	KUNIT_ASSERT_EQ(test, count, 1);
> +
> +	/* Only bits in the entries named *-yes* are set */
> +	for (rtp_entry = basic_entries; rtp_entry && rtp_entry->name; rtp_entry++) {
> +		if (!strstr(rtp_entry->name, "-yes"))
> +			continue;
> +
> +		clr_bits |= rtp_entry->actions[0].clr_bits;
> +		set_bits |= rtp_entry->actions[0].set_bits;
> +	}

To keep the test simple, we should hardcode the expected value rather
than compute it inside the test.

> +
> +	/* implementation detail of RTP - SET() also clears */
> +	clr_bits |= set_bits;
> +
> +	KUNIT_EXPECT_EQ(test, clr_bits, sr_entry->clr_bits);
> +	KUNIT_EXPECT_EQ(test, set_bits, sr_entry->set_bits);

All 3 tests follow very similar logic.
I would suggest adding a name and expected values to entries, something
like:

struct xe_rtp_test {
	name;
	expected_set_bits;
	expected_clr_bits;
	expected_count;
	*entries;
};

static const struct xe_rtp_test xe_rtp_tests[] {
	{ .name = "process basic",
          .expected_count = 1,
	  (...)
	  .entries = (const struct xe_rtp_entry[]) {
		{ XE_RTP_NAME("incompat-types-yes-1"),
		(...)
		}
	},
	{ .name = "process dup",
	  (...)
	},
	(...)
};

And then we could handle all 3 test cases as a single parameterized test
with KUNIT_CASE_PARAM

> +}
> +EXPORT_SYMBOL(xe_rtp_process_basic);
> +
> +/*
> + * Duplicate entries - same register register, only one action,
> + * with actions trying to set/clear bits already changed in previous entries
> + */
> +static const struct xe_rtp_entry dup_entries[] = {
> +	{ XE_RTP_NAME("dup-entries-yes-1"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
> +	},
> +	{ XE_RTP_NAME("dup-entries-no-2"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  /* should be dropped as it's the same as a previous */
> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
> +	},
> +	{ XE_RTP_NAME("dup-entries-no-3"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  /* should be dropped as not disjoint */
> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_GENMASK(1, 0)))
> +	},
> +	{}
> +};
> +
> +void xe_rtp_process_dup(struct kunit *test)
> +{
> +	struct xe_device *xe = test->priv;
> +	struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
> +	const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
> +	unsigned long idx, count = 0;
> +
> +	xe_reg_sr_init(reg_sr, "duplicate values", xe);
> +	xe_rtp_process(dup_entries, reg_sr, &xe->gt[0], NULL);
> +
> +	xa_for_each(&reg_sr->xa, idx, sre) {
> +		count++;
> +		sr_entry = sre;
> +	}
> +
> +	/*
> +	 * Same REGULAR_REG1 register being used: all the entries should
> +	 * coalesce into a single entry
> +	 */
> +	KUNIT_EXPECT_EQ(test, count, 1);
> +	KUNIT_EXPECT_EQ(test, sr_entry->set_bits, REG_BIT(0));
> +}
> +EXPORT_SYMBOL(xe_rtp_process_dup);
> +
> +/*
> + * Incompatible types: same register register, but entries trying to set the
> + * same register passing incompatible types (masked / mcr)
> + */
> +static const struct xe_rtp_entry incompat_types_entries[] = {
> +	{ XE_RTP_NAME("incompat-types-yes-1"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
> +	},
> +	{ XE_RTP_NAME("incompat-types-no-2"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  /* dropped since has incompatible type with previous entry */
> +	  XE_RTP_ACTIONS(SET(MCR_REG1, REG_BIT(1)))
> +	},
> +	{ XE_RTP_NAME("incompat-types-no-3"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  /* dropped since has incompatible type with previous entry */
> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(2),
> +			     XE_RTP_ACTION_FLAG(MASKED_REG)))
> +	},
> +	{ XE_RTP_NAME("incompat-types-no-3"),
> +	  XE_RTP_RULES(FUNC(match_yes)),
> +	  /* dropped since has incompatible type with previous entry */
> +	  XE_RTP_ACTIONS(SET(MCR_REG1, REG_BIT(3),
> +			     XE_RTP_ACTION_FLAG(MASKED_REG)))
> +	},
> +	{}
> +};
> +
> +void xe_rtp_process_incompat_types(struct kunit *test)
> +{
> +	struct xe_device *xe = test->priv;
> +	struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
> +	const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
> +	unsigned long idx, count = 0;
> +
> +	xe_reg_sr_init(reg_sr, "incompatible types", xe);
> +	xe_rtp_process(incompat_types_entries, reg_sr, &xe->gt[0], NULL);
> +
> +	xa_for_each(&reg_sr->xa, idx, sre) {
> +		count++;
> +		sr_entry = sre;
> +	}
> +
> +	/* Just the first entry is added, the rest are incompatible */
> +	KUNIT_EXPECT_EQ(test, count, 1);
> +	KUNIT_EXPECT_EQ(test, sr_entry->set_bits, REG_BIT(0));
> +}
> +EXPORT_SYMBOL(xe_rtp_process_incompat_types);
> diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
> new file mode 100644
> index 000000000000..4a12aad3f759
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c

There's no need to have this as a separate file.
We can move the contents of tests/xe_rtp.c into tests/xe_rtp_test.c and
include tests/xe_rtp_test.c directly in xe_rtp.c

-Michał

> @@ -0,0 +1,64 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#include "xe_rtp_test.h"
> +
> +#include <drm/drm_drv.h>
> +#include <drm/drm_kunit_helpers.h>
> +
> +#include <kunit/test.h>
> +
> +#include "xe_device_types.h"
> +
> +static void xe_fake_device_init(struct xe_device *xe)
> +{
> +	xe->gt[0].xe = xe;
> +}
> +
> +static int xe_rtp_test_init(struct kunit *test)
> +{
> +	struct xe_device *xe;
> +	struct device *dev;
> +
> +	dev = drm_kunit_helper_alloc_device(test);
> +	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dev);
> +
> +	xe = drm_kunit_helper_alloc_drm_device(test, dev,
> +					       struct xe_device,
> +					       drm, DRIVER_GEM);
> +	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe);
> +
> +	xe_fake_device_init(xe);
> +	xe->drm.dev = dev;
> +	test->priv = xe;
> +
> +	return 0;
> +}
> +
> +static void xe_rtp_test_exit(struct kunit *test)
> +{
> +	struct xe_device *xe = test->priv;
> +
> +	drm_kunit_helper_free_device(test, xe->drm.dev);
> +}
> +
> +static struct kunit_case xe_rtp_tests[] = {
> +	KUNIT_CASE(xe_rtp_process_basic),
> +	KUNIT_CASE(xe_rtp_process_dup),
> +	KUNIT_CASE(xe_rtp_process_incompat_types),
> +	{}
> +};
> +
> +static struct kunit_suite xe_rtp_test_suite = {
> +	.name = "xe_rtp",
> +	.init = xe_rtp_test_init,
> +	.exit = xe_rtp_test_exit,
> +	.test_cases = xe_rtp_tests,
> +};
> +
> +kunit_test_suite(xe_rtp_test_suite);
> +
> +MODULE_AUTHOR("Intel Corporation");
> +MODULE_LICENSE("GPL");
> diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.h b/drivers/gpu/drm/xe/tests/xe_rtp_test.h
> new file mode 100644
> index 000000000000..a2f1437d6299
> --- /dev/null
> +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.h
> @@ -0,0 +1,15 @@
> +/* SPDX-License-Identifier: GPL-2.0 AND MIT */
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#ifndef _XE_RTP_TEST_H_
> +#define _XE_RTP_TEST_H_
> +
> +struct kunit;
> +
> +void xe_rtp_process_basic(struct kunit *test);
> +void xe_rtp_process_dup(struct kunit *test);
> +void xe_rtp_process_incompat_types(struct kunit *test);
> +
> +#endif
> diff --git a/drivers/gpu/drm/xe/xe_rtp.c b/drivers/gpu/drm/xe/xe_rtp.c
> index cb9dd894547d..f634558b6e50 100644
> --- a/drivers/gpu/drm/xe/xe_rtp.c
> +++ b/drivers/gpu/drm/xe/xe_rtp.c
> @@ -186,3 +186,7 @@ bool xe_rtp_match_first_gslice_fused_off(const struct xe_gt *gt,
>  
>  	return dss >= dss_per_gslice;
>  }
> +
> +#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
> +#include "tests/xe_rtp.c"
> +#endif
> -- 
> 2.39.0
> 

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

* Re: [Intel-xe] [PATCH 6/7] drm/xe/reg_sr: Save errors for kunit integration
  2023-03-21 22:05 ` [Intel-xe] [PATCH 6/7] drm/xe/reg_sr: Save errors for kunit integration Lucas De Marchi
@ 2023-03-27 18:29   ` Michał Winiarski
  2023-03-31 14:43     ` Lucas De Marchi
  0 siblings, 1 reply; 30+ messages in thread
From: Michał Winiarski @ 2023-03-27 18:29 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, maarten.lankhorst

On Tue, Mar 21, 2023 at 03:05:26PM -0700, Lucas De Marchi wrote:
> When there's an entry that is dropped when xe_reg_sr_add(), there's
> not much we can do other than reporting the error - it's for certain a
> driver issue or conflicting workarounds/tunings. Save the number of
> errors to be used later by kunit to report where it happens.

Why there's not much we can do?
We can propagate the error to the upper layers and fail the probe.
Fail-fast?

The following test still makes sense (and LGTM), since it's still a good
idea to be able to validate everything without having to probe() on
actual platform. I would expect it to check return values rather than
sr->errors though.

-Michał

> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_reg_sr.c       | 8 ++++++++
>  drivers/gpu/drm/xe/xe_reg_sr_types.h | 4 ++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_reg_sr.c b/drivers/gpu/drm/xe/xe_reg_sr.c
> index 9eaf1be27886..83f29aeb9250 100644
> --- a/drivers/gpu/drm/xe/xe_reg_sr.c
> +++ b/drivers/gpu/drm/xe/xe_reg_sr.c
> @@ -84,6 +84,13 @@ static bool compatible_entries(const struct xe_reg_sr_entry *e1,
>  	return true;
>  }
>  
> +static void reg_sr_inc_error(struct xe_reg_sr *sr)
> +{
> +#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
> +	sr->errors++;
> +#endif
> +}
> +
>  int xe_reg_sr_add(struct xe_reg_sr *sr, u32 reg,
>  		  const struct xe_reg_sr_entry *e)
>  {
> @@ -121,6 +128,7 @@ int xe_reg_sr_add(struct xe_reg_sr *sr, u32 reg,
>  	DRM_ERROR("Discarding save-restore reg %04lx (clear: %08x, set: %08x, masked: %s): ret=%d\n",
>  		  idx, e->clr_bits, e->set_bits,
>  		  str_yes_no(e->masked_reg), ret);
> +	reg_sr_inc_error(sr);
>  
>  	return ret;
>  }
> diff --git a/drivers/gpu/drm/xe/xe_reg_sr_types.h b/drivers/gpu/drm/xe/xe_reg_sr_types.h
> index 3d2257891005..91469784fd90 100644
> --- a/drivers/gpu/drm/xe/xe_reg_sr_types.h
> +++ b/drivers/gpu/drm/xe/xe_reg_sr_types.h
> @@ -32,6 +32,10 @@ struct xe_reg_sr {
>  	} pool;
>  	struct xarray xa;
>  	const char *name;
> +
> +#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
> +	unsigned int errors;
> +#endif
>  };
>  
>  #endif
> -- 
> 2.39.0
> 

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-03-27 17:56   ` Michał Winiarski
@ 2023-03-31 13:43     ` Lucas De Marchi
  2023-04-01  8:59       ` Lucas De Marchi
  2023-03-31 14:34     ` Lucas De Marchi
  1 sibling, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-31 13:43 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-xe, maarten.lankhorst

On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>> Add some basic unit tests for rtp. This is intended to prove the
>> functionality of the rtp itself, like coalescing entries, rejecting
>> non-disjoint values, etc.
>>
>> Contrary to the other tests in xe, this is a unit test to test the
>> sw-side only, so it can be executed on any machine - it doesn't interact
>> with the real hardware. For that a mock was provided with the minimum
>> initialization needed. Running it produces the following output:
>>
>> 	$ ./tools/testing/kunit/kunit.py run --raw_output  \
>> 		--kunitconfig drivers/gpu/drm/xe/.kunitconfig xe_rtp
>> 	...
>> 	[13:46:14] Starting KUnit Kernel (1/1)...
>> 	KTAP version 1
>> 	1..1
>> 	    KTAP version 1
>> 	    # Subtest: xe_rtp
>> 	    1..3
>> 	    ok 1 xe_rtp_process_basic
>> 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
>> 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
>> 	    ok 2 xe_rtp_process_dup
>> 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
>> 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
>> 	    ok 3 xe_rtp_process_incompat_types
>> 	# xe_rtp: pass:3 fail:0 skip:0 total:3
>> 	# Totals: pass:3 fail:0 skip:0 total:3
>> 	ok 1 xe_rtp
>> 	[13:46:14] Elapsed time: 6.800s total, 0.002s configuring, 6.682s building, 0.073s running
>>
>> Note that the ERRORs in the kernel log are expected since it's testing
>> non-disjoint or incompatible entries.
>>
>> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>> Reviewed-by: Maarten Lankhorst<maarten.lankhorst@linux.intel.com>
>> ---
>>  drivers/gpu/drm/xe/Kconfig.debug       |   1 +
>>  drivers/gpu/drm/xe/tests/Makefile      |   7 +-
>>  drivers/gpu/drm/xe/tests/xe_rtp.c      | 201 +++++++++++++++++++++++++
>>  drivers/gpu/drm/xe/tests/xe_rtp_test.c |  64 ++++++++
>>  drivers/gpu/drm/xe/tests/xe_rtp_test.h |  15 ++
>>  drivers/gpu/drm/xe/xe_rtp.c            |   4 +
>>  6 files changed, 290 insertions(+), 2 deletions(-)
>>  create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp.c
>>  create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>  create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.h
>>
>> diff --git a/drivers/gpu/drm/xe/Kconfig.debug b/drivers/gpu/drm/xe/Kconfig.debug
>> index 93b284cdd0a2..11bb13c73e7b 100644
>> --- a/drivers/gpu/drm/xe/Kconfig.debug
>> +++ b/drivers/gpu/drm/xe/Kconfig.debug
>> @@ -66,6 +66,7 @@ config DRM_XE_KUNIT_TEST
>>  	depends on DRM_XE && KUNIT && DEBUG_FS
>>  	default KUNIT_ALL_TESTS
>>  	select DRM_EXPORT_FOR_TESTS if m
>> +	select DRM_KUNIT_TEST_HELPERS
>>  	help
>>  	  Choose this option to allow the driver to perform selftests under
>>  	  the kunit framework
>
>But now we're mixing proper isolated tests with HW-interacting ones.
>Can we move the HW-interacting ones to a separate Kconfig which is not
>included in .kunitconfig and doesn't set its default value using
>KUNIT_ALL_TESTS?

I'm not sure moving them to a separate kconfig is good, because that
would mean people building without one or the other. The only case it
makes sense to build without the hw-interacting ones would be for when
we are building for UML.

I want to make sure the kconfig from CI includes both and people can
run under !UML both of them.

On the positive side for your approach, we'd be moving the
*HW-interacting* ones to a separate config. This means we can create the
split between the true unit tests and the ones just using the kunit
infrastructure. I will give this a try and see how it looks in the end.

I've been advocating for a split on a name-basis, calling these unit
tests as sw_* and the others as hw_*. Then running just the sw ones is
simply a matter of passing it as argument to kunit.py

>> diff --git a/drivers/gpu/drm/xe/tests/Makefile b/drivers/gpu/drm/xe/tests/Makefile
>> index 47056b6459e3..c5c2f108d017 100644
>> --- a/drivers/gpu/drm/xe/tests/Makefile
>> +++ b/drivers/gpu/drm/xe/tests/Makefile
>> @@ -1,4 +1,7 @@
>>  # SPDX-License-Identifier: GPL-2.0
>>
>> -obj-$(CONFIG_DRM_XE_KUNIT_TEST) += xe_bo_test.o xe_dma_buf_test.o \
>> -	xe_migrate_test.o
>> +obj-$(CONFIG_DRM_XE_KUNIT_TEST) += \
>> +	xe_bo_test.o \
>> +	xe_dma_buf_test.o \
>> +	xe_migrate_test.o \
>> +	xe_rtp_test.o
>> diff --git a/drivers/gpu/drm/xe/tests/xe_rtp.c b/drivers/gpu/drm/xe/tests/xe_rtp.c
>> new file mode 100644
>> index 000000000000..92e2c2b8b44d
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/tests/xe_rtp.c
>> @@ -0,0 +1,201 @@
>> +// SPDX-License-Identifier: GPL-2.0 AND MIT
>> +/*
>> + * Copyright © 2023 Intel Corporation
>> + */
>> +
>> +#include "tests/xe_rtp_test.h"
>> +
>> +#include <linux/string.h>
>> +#include <linux/xarray.h>
>
>This test is not using xarray.
>
>> +
>> +#include <kunit/test.h>
>> +
>> +#include "regs/xe_gt_regs.h"
>> +#include "regs/xe_reg_defs.h"
>> +#include "xe_rtp.h"
>> +
>> +#undef _MMIO
>> +#undef MCR_REG
>> +#define _MMIO(x)	_XE_RTP_REG(x)
>> +#define MCR_REG(x)	_XE_RTP_MCR_REG(x)
>> +
>> +#define REGULAR_REG1	_MMIO(1)
>> +#define REGULAR_REG2	_MMIO(2)
>> +#define REGULAR_REG3	_MMIO(3)
>> +#define MCR_REG1	MCR_REG(1)
>> +#define MCR_REG2	MCR_REG(2)
>> +#define MCR_REG3	MCR_REG(3)
>> +
>> +static bool match_yes(const struct xe_gt *gt, const struct xe_hw_engine *hwe)
>> +{
>> +	return true;
>> +}
>> +
>> +static bool match_no(const struct xe_gt *gt, const struct xe_hw_engine *hwe)
>> +{
>> +	return false;
>> +}
>> +
>> +/* Basic entries: same register, only one action, disjoint values */
>> +static const struct xe_rtp_entry basic_entries[] = {
>> +	{ XE_RTP_NAME("basic-yes-1"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
>> +	},
>> +	{ XE_RTP_NAME("basic-yes-2"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(1)))
>> +	},
>> +	{ XE_RTP_NAME("basic-no-3"),
>> +	  XE_RTP_RULES(FUNC(match_no)),
>> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(2)))
>> +	},
>> +	{ XE_RTP_NAME("basic-no-4"),
>> +	  XE_RTP_RULES(FUNC(match_yes), FUNC(match_no)),
>> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(3)))
>> +	},
>> +	{ XE_RTP_NAME("basic-yes-clr-1"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  XE_RTP_ACTIONS(CLR(REGULAR_REG1, REG_BIT(4)))
>> +	},
>> +	{ XE_RTP_NAME("basic-yes-clr-2"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  XE_RTP_ACTIONS(CLR(REGULAR_REG1, REG_BIT(5)))
>> +	},
>> +	{}
>> +};
>> +
>> +void xe_rtp_process_basic(struct kunit *test)
>> +{
>> +	struct xe_device *xe = test->priv;
>> +	struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
>> +	const struct xe_rtp_entry *rtp_entry;
>> +	const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
>> +	unsigned long idx, count = 0, set_bits = 0, clr_bits = 0;
>> +
>> +	xe_reg_sr_init(reg_sr, "basic", xe);
>> +	xe_rtp_process(basic_entries, reg_sr, &xe->gt[0], NULL);
>> +
>> +	xa_for_each(&reg_sr->xa, idx, sre) {
>> +		count++;
>> +		sr_entry = sre;
>> +	}
>> +
>> +	/*
>> +	 * Same REGULAR_REG1 register being used: all the entries should
>> +	 * coalesce into a single entry
>> +	 */
>> +	KUNIT_ASSERT_EQ(test, count, 1);
>> +
>> +	/* Only bits in the entries named *-yes* are set */
>> +	for (rtp_entry = basic_entries; rtp_entry && rtp_entry->name; rtp_entry++) {
>> +		if (!strstr(rtp_entry->name, "-yes"))
>> +			continue;
>> +
>> +		clr_bits |= rtp_entry->actions[0].clr_bits;
>> +		set_bits |= rtp_entry->actions[0].set_bits;
>> +	}
>
>To keep the test simple, we should hardcode the expected value rather
>than compute it inside the test.
>
>> +
>> +	/* implementation detail of RTP - SET() also clears */
>> +	clr_bits |= set_bits;
>> +
>> +	KUNIT_EXPECT_EQ(test, clr_bits, sr_entry->clr_bits);
>> +	KUNIT_EXPECT_EQ(test, set_bits, sr_entry->set_bits);
>
>All 3 tests follow very similar logic.
>I would suggest adding a name and expected values to entries, something
>like:
>
>struct xe_rtp_test {
>	name;
>	expected_set_bits;
>	expected_clr_bits;
>	expected_count;
>	*entries;
>};
>
>static const struct xe_rtp_test xe_rtp_tests[] {
>	{ .name = "process basic",
>          .expected_count = 1,
>	  (...)
>	  .entries = (const struct xe_rtp_entry[]) {
>		{ XE_RTP_NAME("incompat-types-yes-1"),
>		(...)
>		}
>	},
>	{ .name = "process dup",
>	  (...)
>	},
>	(...)
>};
>
>And then we could handle all 3 test cases as a single parameterized test
>with KUNIT_CASE_PARAM

At the time I wrote these tests, it didn't seem worth it as I don't see
us extending or adapting much of the rtp tests. For the WAs I followed
the param approach as we will keep changing them.

Anyway, I will give this a try.

thanks
Lucas De Marchi

>
>> +}
>> +EXPORT_SYMBOL(xe_rtp_process_basic);
>> +
>> +/*
>> + * Duplicate entries - same register register, only one action,
>> + * with actions trying to set/clear bits already changed in previous entries
>> + */
>> +static const struct xe_rtp_entry dup_entries[] = {
>> +	{ XE_RTP_NAME("dup-entries-yes-1"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
>> +	},
>> +	{ XE_RTP_NAME("dup-entries-no-2"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  /* should be dropped as it's the same as a previous */
>> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
>> +	},
>> +	{ XE_RTP_NAME("dup-entries-no-3"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  /* should be dropped as not disjoint */
>> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_GENMASK(1, 0)))
>> +	},
>> +	{}
>> +};
>> +
>> +void xe_rtp_process_dup(struct kunit *test)
>> +{
>> +	struct xe_device *xe = test->priv;
>> +	struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
>> +	const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
>> +	unsigned long idx, count = 0;
>> +
>> +	xe_reg_sr_init(reg_sr, "duplicate values", xe);
>> +	xe_rtp_process(dup_entries, reg_sr, &xe->gt[0], NULL);
>> +
>> +	xa_for_each(&reg_sr->xa, idx, sre) {
>> +		count++;
>> +		sr_entry = sre;
>> +	}
>> +
>> +	/*
>> +	 * Same REGULAR_REG1 register being used: all the entries should
>> +	 * coalesce into a single entry
>> +	 */
>> +	KUNIT_EXPECT_EQ(test, count, 1);
>> +	KUNIT_EXPECT_EQ(test, sr_entry->set_bits, REG_BIT(0));
>> +}
>> +EXPORT_SYMBOL(xe_rtp_process_dup);
>> +
>> +/*
>> + * Incompatible types: same register register, but entries trying to set the
>> + * same register passing incompatible types (masked / mcr)
>> + */
>> +static const struct xe_rtp_entry incompat_types_entries[] = {
>> +	{ XE_RTP_NAME("incompat-types-yes-1"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(0)))
>> +	},
>> +	{ XE_RTP_NAME("incompat-types-no-2"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  /* dropped since has incompatible type with previous entry */
>> +	  XE_RTP_ACTIONS(SET(MCR_REG1, REG_BIT(1)))
>> +	},
>> +	{ XE_RTP_NAME("incompat-types-no-3"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  /* dropped since has incompatible type with previous entry */
>> +	  XE_RTP_ACTIONS(SET(REGULAR_REG1, REG_BIT(2),
>> +			     XE_RTP_ACTION_FLAG(MASKED_REG)))
>> +	},
>> +	{ XE_RTP_NAME("incompat-types-no-3"),
>> +	  XE_RTP_RULES(FUNC(match_yes)),
>> +	  /* dropped since has incompatible type with previous entry */
>> +	  XE_RTP_ACTIONS(SET(MCR_REG1, REG_BIT(3),
>> +			     XE_RTP_ACTION_FLAG(MASKED_REG)))
>> +	},
>> +	{}
>> +};
>> +
>> +void xe_rtp_process_incompat_types(struct kunit *test)
>> +{
>> +	struct xe_device *xe = test->priv;
>> +	struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
>> +	const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
>> +	unsigned long idx, count = 0;
>> +
>> +	xe_reg_sr_init(reg_sr, "incompatible types", xe);
>> +	xe_rtp_process(incompat_types_entries, reg_sr, &xe->gt[0], NULL);
>> +
>> +	xa_for_each(&reg_sr->xa, idx, sre) {
>> +		count++;
>> +		sr_entry = sre;
>> +	}
>> +
>> +	/* Just the first entry is added, the rest are incompatible */
>> +	KUNIT_EXPECT_EQ(test, count, 1);
>> +	KUNIT_EXPECT_EQ(test, sr_entry->set_bits, REG_BIT(0));
>> +}
>> +EXPORT_SYMBOL(xe_rtp_process_incompat_types);
>> diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>> new file mode 100644
>> index 000000000000..4a12aad3f759
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>
>There's no need to have this as a separate file.
>We can move the contents of tests/xe_rtp.c into tests/xe_rtp_test.c and
>include tests/xe_rtp_test.c directly in xe_rtp.c
>
>-Michał
>
>> @@ -0,0 +1,64 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Copyright © 2023 Intel Corporation
>> + */
>> +
>> +#include "xe_rtp_test.h"
>> +
>> +#include <drm/drm_drv.h>
>> +#include <drm/drm_kunit_helpers.h>
>> +
>> +#include <kunit/test.h>
>> +
>> +#include "xe_device_types.h"
>> +
>> +static void xe_fake_device_init(struct xe_device *xe)
>> +{
>> +	xe->gt[0].xe = xe;
>> +}
>> +
>> +static int xe_rtp_test_init(struct kunit *test)
>> +{
>> +	struct xe_device *xe;
>> +	struct device *dev;
>> +
>> +	dev = drm_kunit_helper_alloc_device(test);
>> +	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dev);
>> +
>> +	xe = drm_kunit_helper_alloc_drm_device(test, dev,
>> +					       struct xe_device,
>> +					       drm, DRIVER_GEM);
>> +	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xe);
>> +
>> +	xe_fake_device_init(xe);
>> +	xe->drm.dev = dev;
>> +	test->priv = xe;
>> +
>> +	return 0;
>> +}
>> +
>> +static void xe_rtp_test_exit(struct kunit *test)
>> +{
>> +	struct xe_device *xe = test->priv;
>> +
>> +	drm_kunit_helper_free_device(test, xe->drm.dev);
>> +}
>> +
>> +static struct kunit_case xe_rtp_tests[] = {
>> +	KUNIT_CASE(xe_rtp_process_basic),
>> +	KUNIT_CASE(xe_rtp_process_dup),
>> +	KUNIT_CASE(xe_rtp_process_incompat_types),
>> +	{}
>> +};
>> +
>> +static struct kunit_suite xe_rtp_test_suite = {
>> +	.name = "xe_rtp",
>> +	.init = xe_rtp_test_init,
>> +	.exit = xe_rtp_test_exit,
>> +	.test_cases = xe_rtp_tests,
>> +};
>> +
>> +kunit_test_suite(xe_rtp_test_suite);
>> +
>> +MODULE_AUTHOR("Intel Corporation");
>> +MODULE_LICENSE("GPL");
>> diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.h b/drivers/gpu/drm/xe/tests/xe_rtp_test.h
>> new file mode 100644
>> index 000000000000..a2f1437d6299
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.h
>> @@ -0,0 +1,15 @@
>> +/* SPDX-License-Identifier: GPL-2.0 AND MIT */
>> +/*
>> + * Copyright © 2023 Intel Corporation
>> + */
>> +
>> +#ifndef _XE_RTP_TEST_H_
>> +#define _XE_RTP_TEST_H_
>> +
>> +struct kunit;
>> +
>> +void xe_rtp_process_basic(struct kunit *test);
>> +void xe_rtp_process_dup(struct kunit *test);
>> +void xe_rtp_process_incompat_types(struct kunit *test);
>> +
>> +#endif
>> diff --git a/drivers/gpu/drm/xe/xe_rtp.c b/drivers/gpu/drm/xe/xe_rtp.c
>> index cb9dd894547d..f634558b6e50 100644
>> --- a/drivers/gpu/drm/xe/xe_rtp.c
>> +++ b/drivers/gpu/drm/xe/xe_rtp.c
>> @@ -186,3 +186,7 @@ bool xe_rtp_match_first_gslice_fused_off(const struct xe_gt *gt,
>>
>>  	return dss >= dss_per_gslice;
>>  }
>> +
>> +#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
>> +#include "tests/xe_rtp.c"
>> +#endif
>> --
>> 2.39.0
>>

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-03-27 17:56   ` Michał Winiarski
  2023-03-31 13:43     ` Lucas De Marchi
@ 2023-03-31 14:34     ` Lucas De Marchi
  2023-04-01  8:54       ` Lucas De Marchi
  1 sibling, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-31 14:34 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-xe, maarten.lankhorst

On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>> +EXPORT_SYMBOL(xe_rtp_process_incompat_types);
>> diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>> new file mode 100644
>> index 000000000000..4a12aad3f759
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>
>There's no need to have this as a separate file.
>We can move the contents of tests/xe_rtp.c into tests/xe_rtp_test.c and
>include tests/xe_rtp_test.c directly in xe_rtp.c

this is not how the tests are currently structured.

xe_rtp.c includes tests/xe_rtp.c. The latter can be seen as "an
extension of the that file, exporting whatever entrypoint is needed
for the real test". They are then part of the xe.ko module.

tests/xe_rtp_test.c is the one in the separate test module, and contains
the integration with kunit.

For some of the tests, when they don't export the required interface,
this unfortunately means writing most of the test inside tests/xe_rtp.c,
which ends up bloating xe.ko.  This is not true for all, however. See
the xe_wa tests where we don't even have tests/xe_wa.c.

Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 6/7] drm/xe/reg_sr: Save errors for kunit integration
  2023-03-27 18:29   ` Michał Winiarski
@ 2023-03-31 14:43     ` Lucas De Marchi
  0 siblings, 0 replies; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-31 14:43 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-xe, maarten.lankhorst

On Mon, Mar 27, 2023 at 08:29:41PM +0200, Michał Winiarski wrote:
>On Tue, Mar 21, 2023 at 03:05:26PM -0700, Lucas De Marchi wrote:
>> When there's an entry that is dropped when xe_reg_sr_add(), there's
>> not much we can do other than reporting the error - it's for certain a
>> driver issue or conflicting workarounds/tunings. Save the number of
>> errors to be used later by kunit to report where it happens.
>
>Why there's not much we can do?
>We can propagate the error to the upper layers and fail the probe.
>Fail-fast?

I thought about adding a patch to propagate the errors, but it looked
like the wrong thing to do. Note that the following test is for the WAs.
Completely failing the probe() because we have a duplicate or incompatible
entries would be the equivalent of spreading BUG_ON() in the driver so
we can "fail fast".  Duplicate entries for example are completly
harmless (but undesired).  Even for incompatible entries, I don't
think it justifies blocking the module probe.

Lucas De Marchi

>
>The following test still makes sense (and LGTM), since it's still a good
>idea to be able to validate everything without having to probe() on
>actual platform. I would expect it to check return values rather than
>sr->errors though.
>
>-Michał
>
>>
>> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>> ---
>>  drivers/gpu/drm/xe/xe_reg_sr.c       | 8 ++++++++
>>  drivers/gpu/drm/xe/xe_reg_sr_types.h | 4 ++++
>>  2 files changed, 12 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_reg_sr.c b/drivers/gpu/drm/xe/xe_reg_sr.c
>> index 9eaf1be27886..83f29aeb9250 100644
>> --- a/drivers/gpu/drm/xe/xe_reg_sr.c
>> +++ b/drivers/gpu/drm/xe/xe_reg_sr.c
>> @@ -84,6 +84,13 @@ static bool compatible_entries(const struct xe_reg_sr_entry *e1,
>>  	return true;
>>  }
>>
>> +static void reg_sr_inc_error(struct xe_reg_sr *sr)
>> +{
>> +#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
>> +	sr->errors++;
>> +#endif
>> +}
>> +
>>  int xe_reg_sr_add(struct xe_reg_sr *sr, u32 reg,
>>  		  const struct xe_reg_sr_entry *e)
>>  {
>> @@ -121,6 +128,7 @@ int xe_reg_sr_add(struct xe_reg_sr *sr, u32 reg,
>>  	DRM_ERROR("Discarding save-restore reg %04lx (clear: %08x, set: %08x, masked: %s): ret=%d\n",
>>  		  idx, e->clr_bits, e->set_bits,
>>  		  str_yes_no(e->masked_reg), ret);
>> +	reg_sr_inc_error(sr);
>>
>>  	return ret;
>>  }
>> diff --git a/drivers/gpu/drm/xe/xe_reg_sr_types.h b/drivers/gpu/drm/xe/xe_reg_sr_types.h
>> index 3d2257891005..91469784fd90 100644
>> --- a/drivers/gpu/drm/xe/xe_reg_sr_types.h
>> +++ b/drivers/gpu/drm/xe/xe_reg_sr_types.h
>> @@ -32,6 +32,10 @@ struct xe_reg_sr {
>>  	} pool;
>>  	struct xarray xa;
>>  	const char *name;
>> +
>> +#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
>> +	unsigned int errors;
>> +#endif
>>  };
>>
>>  #endif
>> --
>> 2.39.0
>>

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

* Re: [Intel-xe]  ✓ CI.Patch_applied: success for Unit tests for rtp and GT wa/tuning
  2023-03-21 22:08 ` [Intel-xe] ✓ CI.Patch_applied: success for Unit tests for rtp and GT wa/tuning Patchwork
@ 2023-03-31 15:14   ` Lucas De Marchi
  2023-04-03  6:08     ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-03-31 15:14 UTC (permalink / raw)
  To: intel-xe; +Cc: maciej.ramotowski, michal.czaplinski, ryszard.knop

On Tue, Mar 21, 2023 at 10:08:34PM -0000, Patchwork wrote:
>== Series Details ==
>
>Series: Unit tests for rtp and GT wa/tuning
>URL   : https://patchwork.freedesktop.org/series/115463/
>State : success
>
>== Summary ==
>
>=== Applying kernel patches on branch 'drm-xe-next' with base: ===
>commit 1ae4dd9e82429e075aa7121404b06ce170da5848
>Author:     Matthew Auld <matthew.auld@intel.com>
>AuthorDate: Tue Mar 21 11:44:07 2023 +0000
>Commit:     Matthew Auld <matthew.auld@intel.com>
>CommitDate: Tue Mar 21 14:03:29 2023 +0000
>
>    drm/xe/buddy: add compatible and intersects hooks
>
>    Copy this from i915. We need .compatible for vram -> vram transfers, so
>    they don't just get nooped by ttm, if need to move something from
>    mappable to non-mappble or vice versa. The .intersects is needed for
>    eviction, to determine if a victim resource is worth eviction. e.g if we
>    need mappable space there is no point in evicting a resource that has
>    zero mappable pages.
>
>    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>    Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>    Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>

we will probably need to change this format a little bit. Now `b4 am` is
complaining:

     ! Trailer: Commit: Matthew Auld <matthew.auld@intel.com>
      Msg From: Patchwork <patchwork@emeril.freedesktop.org>
     ! Trailer: Signed-off-by: Matthew Auld <matthew.auld@intel.com>
      Msg From: Patchwork <patchwork@emeril.freedesktop.org>
     ! Trailer: Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Msg From: Patchwork <patchwork@emeril.freedesktop.org>
     ! Trailer: Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
      Msg From: Patchwork <patchwork@emeril.freedesktop.org>

( it would have been worse if it would add the r-b/a-b )

I think just adding a \t on every line should be sufficient, but this
also seems unnecessarily verbose.  Can we rather add here the output of
the command below?

	git log --oneline --abbrev-commit --no-decorate -1 HEAD

thanks
Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-03-31 14:34     ` Lucas De Marchi
@ 2023-04-01  8:54       ` Lucas De Marchi
  2023-04-01 18:26         ` Michał Winiarski
  0 siblings, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-04-01  8:54 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-xe, maarten.lankhorst

On Fri, Mar 31, 2023 at 08:34:21AM -0600, Lucas De Marchi wrote:
>On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>>On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>>>+EXPORT_SYMBOL(xe_rtp_process_incompat_types);
>>>diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>new file mode 100644
>>>index 000000000000..4a12aad3f759
>>>--- /dev/null
>>>+++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>
>>There's no need to have this as a separate file.
>>We can move the contents of tests/xe_rtp.c into tests/xe_rtp_test.c and
>>include tests/xe_rtp_test.c directly in xe_rtp.c
>
>this is not how the tests are currently structured.
>
>xe_rtp.c includes tests/xe_rtp.c. The latter can be seen as "an
>extension of the that file, exporting whatever entrypoint is needed
>for the real test". They are then part of the xe.ko module.
>
>tests/xe_rtp_test.c is the one in the separate test module, and contains
>the integration with kunit.

but it's possible to keep everythin in the separate module and not need
the include of tests/xe_rtp.c. I did that on v2.

Lucas De Marchi

>
>For some of the tests, when they don't export the required interface,
>this unfortunately means writing most of the test inside tests/xe_rtp.c,
>which ends up bloating xe.ko.  This is not true for all, however. See
>the xe_wa tests where we don't even have tests/xe_wa.c.
>
>Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-03-31 13:43     ` Lucas De Marchi
@ 2023-04-01  8:59       ` Lucas De Marchi
  2023-04-01 18:54         ` Michał Winiarski
  0 siblings, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-04-01  8:59 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-xe, maarten.lankhorst

On Fri, Mar 31, 2023 at 07:43:34AM -0600, Lucas De Marchi wrote:
>On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>>On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>>>Add some basic unit tests for rtp. This is intended to prove the
>>>functionality of the rtp itself, like coalescing entries, rejecting
>>>non-disjoint values, etc.
>>>
>>>Contrary to the other tests in xe, this is a unit test to test the
>>>sw-side only, so it can be executed on any machine - it doesn't interact
>>>with the real hardware. For that a mock was provided with the minimum
>>>initialization needed. Running it produces the following output:
>>>
>>>	$ ./tools/testing/kunit/kunit.py run --raw_output  \
>>>		--kunitconfig drivers/gpu/drm/xe/.kunitconfig xe_rtp
>>>	...
>>>	[13:46:14] Starting KUnit Kernel (1/1)...
>>>	KTAP version 1
>>>	1..1
>>>	    KTAP version 1
>>>	    # Subtest: xe_rtp
>>>	    1..3
>>>	    ok 1 xe_rtp_process_basic
>>>	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
>>>	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
>>>	    ok 2 xe_rtp_process_dup
>>>	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
>>>	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
>>>	    ok 3 xe_rtp_process_incompat_types
>>>	# xe_rtp: pass:3 fail:0 skip:0 total:3
>>>	# Totals: pass:3 fail:0 skip:0 total:3
>>>	ok 1 xe_rtp
>>>	[13:46:14] Elapsed time: 6.800s total, 0.002s configuring, 6.682s building, 0.073s running
>>>
>>>Note that the ERRORs in the kernel log are expected since it's testing
>>>non-disjoint or incompatible entries.
>>>
>>>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>>Reviewed-by: Maarten Lankhorst<maarten.lankhorst@linux.intel.com>
>>>---
>>> drivers/gpu/drm/xe/Kconfig.debug       |   1 +
>>> drivers/gpu/drm/xe/tests/Makefile      |   7 +-
>>> drivers/gpu/drm/xe/tests/xe_rtp.c      | 201 +++++++++++++++++++++++++
>>> drivers/gpu/drm/xe/tests/xe_rtp_test.c |  64 ++++++++
>>> drivers/gpu/drm/xe/tests/xe_rtp_test.h |  15 ++
>>> drivers/gpu/drm/xe/xe_rtp.c            |   4 +
>>> 6 files changed, 290 insertions(+), 2 deletions(-)
>>> create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp.c
>>> create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>> create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.h
>>>
>>>diff --git a/drivers/gpu/drm/xe/Kconfig.debug b/drivers/gpu/drm/xe/Kconfig.debug
>>>index 93b284cdd0a2..11bb13c73e7b 100644
>>>--- a/drivers/gpu/drm/xe/Kconfig.debug
>>>+++ b/drivers/gpu/drm/xe/Kconfig.debug
>>>@@ -66,6 +66,7 @@ config DRM_XE_KUNIT_TEST
>>> 	depends on DRM_XE && KUNIT && DEBUG_FS
>>> 	default KUNIT_ALL_TESTS
>>> 	select DRM_EXPORT_FOR_TESTS if m
>>>+	select DRM_KUNIT_TEST_HELPERS
>>> 	help
>>> 	  Choose this option to allow the driver to perform selftests under
>>> 	  the kunit framework
>>
>>But now we're mixing proper isolated tests with HW-interacting ones.
>>Can we move the HW-interacting ones to a separate Kconfig which is not
>>included in .kunitconfig and doesn't set its default value using
>>KUNIT_ALL_TESTS?
>
>I'm not sure moving them to a separate kconfig is good, because that
>would mean people building without one or the other. The only case it
>makes sense to build without the hw-interacting ones would be for when
>we are building for UML.
>
>I want to make sure the kconfig from CI includes both and people can
>run under !UML both of them.
>
>On the positive side for your approach, we'd be moving the
>*HW-interacting* ones to a separate config. This means we can create the
>split between the true unit tests and the ones just using the kunit
>infrastructure. I will give this a try and see how it looks in the end.
>
>I've been advocating for a split on a name-basis, calling these unit
>tests as sw_* and the others as hw_*. Then running just the sw ones is
>simply a matter of passing it as argument to kunit.py

I will leave this for later as I don't want to stall the tests on
something that can be converted later and... this is not making the
situation any worse: actually running this in CI will provide an output
a little more useful than it actually is giving: a skip on all tests.

I'm almost convinced we can make it work with separate configs as you
suggested, but we will need to sync with CI to make sure it fits
everyody.

>
>>>diff --git a/drivers/gpu/drm/xe/tests/Makefile b/drivers/gpu/drm/xe/tests/Makefile
>>>index 47056b6459e3..c5c2f108d017 100644
>>>--- a/drivers/gpu/drm/xe/tests/Makefile
>>>+++ b/drivers/gpu/drm/xe/tests/Makefile
>>>@@ -1,4 +1,7 @@
>>> # SPDX-License-Identifier: GPL-2.0
>>>
>>>-obj-$(CONFIG_DRM_XE_KUNIT_TEST) += xe_bo_test.o xe_dma_buf_test.o \
>>>-	xe_migrate_test.o
>>>+obj-$(CONFIG_DRM_XE_KUNIT_TEST) += \
>>>+	xe_bo_test.o \
>>>+	xe_dma_buf_test.o \
>>>+	xe_migrate_test.o \
>>>+	xe_rtp_test.o
>>>diff --git a/drivers/gpu/drm/xe/tests/xe_rtp.c b/drivers/gpu/drm/xe/tests/xe_rtp.c
>>>new file mode 100644
>>>index 000000000000..92e2c2b8b44d
>>>--- /dev/null
>>>+++ b/drivers/gpu/drm/xe/tests/xe_rtp.c
>>>@@ -0,0 +1,201 @@
>>>+// SPDX-License-Identifier: GPL-2.0 AND MIT
>>>+/*
>>>+ * Copyright © 2023 Intel Corporation
>>>+ */
>>>+
>>>+#include "tests/xe_rtp_test.h"
>>>+
>>>+#include <linux/string.h>
>>>+#include <linux/xarray.h>
>>
>>This test is not using xarray.

it actually is. See the uses of xa_for_each

thanks
Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-04-01  8:54       ` Lucas De Marchi
@ 2023-04-01 18:26         ` Michał Winiarski
  2023-04-02  1:34           ` Lucas De Marchi
  0 siblings, 1 reply; 30+ messages in thread
From: Michał Winiarski @ 2023-04-01 18:26 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, maarten.lankhorst

On Sat, Apr 01, 2023 at 01:54:59AM -0700, Lucas De Marchi wrote:
> On Fri, Mar 31, 2023 at 08:34:21AM -0600, Lucas De Marchi wrote:
> > On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
> > > On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
> > > > +EXPORT_SYMBOL(xe_rtp_process_incompat_types);
> > > > diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
> > > > new file mode 100644
> > > > index 000000000000..4a12aad3f759
> > > > --- /dev/null
> > > > +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
> > > 
> > > There's no need to have this as a separate file.
> > > We can move the contents of tests/xe_rtp.c into tests/xe_rtp_test.c and
> > > include tests/xe_rtp_test.c directly in xe_rtp.c
> > 
> > this is not how the tests are currently structured.
> > 
> > xe_rtp.c includes tests/xe_rtp.c. The latter can be seen as "an
> > extension of the that file, exporting whatever entrypoint is needed
> > for the real test". They are then part of the xe.ko module.
> > 
> > tests/xe_rtp_test.c is the one in the separate test module, and contains
> > the integration with kunit.
> 
> but it's possible to keep everythin in the separate module and not need
> the include of tests/xe_rtp.c. I did that on v2.
> 
> Lucas De Marchi

From my perspective - the way that the test is implemented carries an
additional information.
1) Test is a separate module:
Means that we're testing the API exported by the module (that's used by
other modules).
2) Test is a file that's a part of a module:
Means that we're testing non-static API used internally by the module.
3) Test is a file that's included at the end of a file:
Means that we're testing static functions.

Forcing everything to be a module doesn't really serve any purpose.
It just makes things harder to follow, as it removes this useful
additional bit of information.

-Michał

> 
> > 
> > For some of the tests, when they don't export the required interface,
> > this unfortunately means writing most of the test inside tests/xe_rtp.c,
> > which ends up bloating xe.ko.  This is not true for all, however. See
> > the xe_wa tests where we don't even have tests/xe_wa.c.
> > 
> > Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-04-01  8:59       ` Lucas De Marchi
@ 2023-04-01 18:54         ` Michał Winiarski
  2023-04-02  1:24           ` Lucas De Marchi
  0 siblings, 1 reply; 30+ messages in thread
From: Michał Winiarski @ 2023-04-01 18:54 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, maarten.lankhorst

On Sat, Apr 01, 2023 at 01:59:32AM -0700, Lucas De Marchi wrote:
> On Fri, Mar 31, 2023 at 07:43:34AM -0600, Lucas De Marchi wrote:
> > On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
> > > On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
> > > > Add some basic unit tests for rtp. This is intended to prove the
> > > > functionality of the rtp itself, like coalescing entries, rejecting
> > > > non-disjoint values, etc.
> > > > 
> > > > Contrary to the other tests in xe, this is a unit test to test the
> > > > sw-side only, so it can be executed on any machine - it doesn't interact
> > > > with the real hardware. For that a mock was provided with the minimum
> > > > initialization needed. Running it produces the following output:
> > > > 
> > > > 	$ ./tools/testing/kunit/kunit.py run --raw_output  \
> > > > 		--kunitconfig drivers/gpu/drm/xe/.kunitconfig xe_rtp
> > > > 	...
> > > > 	[13:46:14] Starting KUnit Kernel (1/1)...
> > > > 	KTAP version 1
> > > > 	1..1
> > > > 	    KTAP version 1
> > > > 	    # Subtest: xe_rtp
> > > > 	    1..3
> > > > 	    ok 1 xe_rtp_process_basic
> > > > 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
> > > > 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
> > > > 	    ok 2 xe_rtp_process_dup
> > > > 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
> > > > 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
> > > > 	    ok 3 xe_rtp_process_incompat_types
> > > > 	# xe_rtp: pass:3 fail:0 skip:0 total:3
> > > > 	# Totals: pass:3 fail:0 skip:0 total:3
> > > > 	ok 1 xe_rtp
> > > > 	[13:46:14] Elapsed time: 6.800s total, 0.002s configuring, 6.682s building, 0.073s running
> > > > 
> > > > Note that the ERRORs in the kernel log are expected since it's testing
> > > > non-disjoint or incompatible entries.
> > > > 
> > > > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> > > > Reviewed-by: Maarten Lankhorst<maarten.lankhorst@linux.intel.com>
> > > > ---
> > > > drivers/gpu/drm/xe/Kconfig.debug       |   1 +
> > > > drivers/gpu/drm/xe/tests/Makefile      |   7 +-
> > > > drivers/gpu/drm/xe/tests/xe_rtp.c      | 201 +++++++++++++++++++++++++
> > > > drivers/gpu/drm/xe/tests/xe_rtp_test.c |  64 ++++++++
> > > > drivers/gpu/drm/xe/tests/xe_rtp_test.h |  15 ++
> > > > drivers/gpu/drm/xe/xe_rtp.c            |   4 +
> > > > 6 files changed, 290 insertions(+), 2 deletions(-)
> > > > create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp.c
> > > > create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
> > > > create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.h
> > > > 
> > > > diff --git a/drivers/gpu/drm/xe/Kconfig.debug b/drivers/gpu/drm/xe/Kconfig.debug
> > > > index 93b284cdd0a2..11bb13c73e7b 100644
> > > > --- a/drivers/gpu/drm/xe/Kconfig.debug
> > > > +++ b/drivers/gpu/drm/xe/Kconfig.debug
> > > > @@ -66,6 +66,7 @@ config DRM_XE_KUNIT_TEST
> > > > 	depends on DRM_XE && KUNIT && DEBUG_FS
> > > > 	default KUNIT_ALL_TESTS
> > > > 	select DRM_EXPORT_FOR_TESTS if m
> > > > +	select DRM_KUNIT_TEST_HELPERS
> > > > 	help
> > > > 	  Choose this option to allow the driver to perform selftests under
> > > > 	  the kunit framework
> > > 
> > > But now we're mixing proper isolated tests with HW-interacting ones.
> > > Can we move the HW-interacting ones to a separate Kconfig which is not
> > > included in .kunitconfig and doesn't set its default value using
> > > KUNIT_ALL_TESTS?
> > 
> > I'm not sure moving them to a separate kconfig is good, because that
> > would mean people building without one or the other. The only case it
> > makes sense to build without the hw-interacting ones would be for when
> > we are building for UML.
> > 
> > I want to make sure the kconfig from CI includes both and people can
> > run under !UML both of them.
> > 
> > On the positive side for your approach, we'd be moving the
> > *HW-interacting* ones to a separate config. This means we can create the
> > split between the true unit tests and the ones just using the kunit
> > infrastructure. I will give this a try and see how it looks in the end.
> > 
> > I've been advocating for a split on a name-basis, calling these unit
> > tests as sw_* and the others as hw_*. Then running just the sw ones is
> > simply a matter of passing it as argument to kunit.py
> 
> I will leave this for later as I don't want to stall the tests on
> something that can be converted later and... this is not making the
> situation any worse: actually running this in CI will provide an output
> a little more useful than it actually is giving: a skip on all tests.
> 
> I'm almost convinced we can make it work with separate configs as you
> suggested, but we will need to sync with CI to make sure it fits
> everyody.

Sure, just something to keep in mind for the future.

And it's not really about architecture (UML or not).
.kunitconfig and KUNIT_ALL_TESTS are only relevant for kunit.py users,
and so we want to have config for non-HW-interacting tests in
.kunitconfig with a default value based on KUNIT_ALL_TESTS. Adding any
architecture dependencies here would break kunit.py --arch=X usecase.

For HW-interacting tests, we want a completely separate config, that's
not part of .kunitconfig and does not have anything to do with
KUNIT_ALL_TESTS.

This way - kunit.py users won't even notice the skips (unless they build
custom config), and for HW, I expect CI to be using a custom kernel
config anyway (KUnit one is very unlikely to boot on real hardware), so
.kunitconfig and KUNIT_ALL_TESTS don't really matter for HW-interacting
tests.

-Michał

> 
> > 
> > > > diff --git a/drivers/gpu/drm/xe/tests/Makefile b/drivers/gpu/drm/xe/tests/Makefile
> > > > index 47056b6459e3..c5c2f108d017 100644
> > > > --- a/drivers/gpu/drm/xe/tests/Makefile
> > > > +++ b/drivers/gpu/drm/xe/tests/Makefile
> > > > @@ -1,4 +1,7 @@
> > > > # SPDX-License-Identifier: GPL-2.0
> > > > 
> > > > -obj-$(CONFIG_DRM_XE_KUNIT_TEST) += xe_bo_test.o xe_dma_buf_test.o \
> > > > -	xe_migrate_test.o
> > > > +obj-$(CONFIG_DRM_XE_KUNIT_TEST) += \
> > > > +	xe_bo_test.o \
> > > > +	xe_dma_buf_test.o \
> > > > +	xe_migrate_test.o \
> > > > +	xe_rtp_test.o
> > > > diff --git a/drivers/gpu/drm/xe/tests/xe_rtp.c b/drivers/gpu/drm/xe/tests/xe_rtp.c
> > > > new file mode 100644
> > > > index 000000000000..92e2c2b8b44d
> > > > --- /dev/null
> > > > +++ b/drivers/gpu/drm/xe/tests/xe_rtp.c
> > > > @@ -0,0 +1,201 @@
> > > > +// SPDX-License-Identifier: GPL-2.0 AND MIT
> > > > +/*
> > > > + * Copyright © 2023 Intel Corporation
> > > > + */
> > > > +
> > > > +#include "tests/xe_rtp_test.h"
> > > > +
> > > > +#include <linux/string.h>
> > > > +#include <linux/xarray.h>
> > > 
> > > This test is not using xarray.
> 
> it actually is. See the uses of xa_for_each
> 
> thanks
> Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-04-01 18:54         ` Michał Winiarski
@ 2023-04-02  1:24           ` Lucas De Marchi
  2023-04-02 10:51             ` Michal Wajdeczko
  0 siblings, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-04-02  1:24 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-xe, maarten.lankhorst

On Sat, Apr 01, 2023 at 08:54:18PM +0200, Michał Winiarski wrote:
>On Sat, Apr 01, 2023 at 01:59:32AM -0700, Lucas De Marchi wrote:
>> On Fri, Mar 31, 2023 at 07:43:34AM -0600, Lucas De Marchi wrote:
>> > On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>> > > On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>> > > > Add some basic unit tests for rtp. This is intended to prove the
>> > > > functionality of the rtp itself, like coalescing entries, rejecting
>> > > > non-disjoint values, etc.
>> > > >
>> > > > Contrary to the other tests in xe, this is a unit test to test the
>> > > > sw-side only, so it can be executed on any machine - it doesn't interact
>> > > > with the real hardware. For that a mock was provided with the minimum
>> > > > initialization needed. Running it produces the following output:
>> > > >
>> > > > 	$ ./tools/testing/kunit/kunit.py run --raw_output  \
>> > > > 		--kunitconfig drivers/gpu/drm/xe/.kunitconfig xe_rtp
>> > > > 	...
>> > > > 	[13:46:14] Starting KUnit Kernel (1/1)...
>> > > > 	KTAP version 1
>> > > > 	1..1
>> > > > 	    KTAP version 1
>> > > > 	    # Subtest: xe_rtp
>> > > > 	    1..3
>> > > > 	    ok 1 xe_rtp_process_basic
>> > > > 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
>> > > > 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
>> > > > 	    ok 2 xe_rtp_process_dup
>> > > > 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
>> > > > 	[drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
>> > > > 	    ok 3 xe_rtp_process_incompat_types
>> > > > 	# xe_rtp: pass:3 fail:0 skip:0 total:3
>> > > > 	# Totals: pass:3 fail:0 skip:0 total:3
>> > > > 	ok 1 xe_rtp
>> > > > 	[13:46:14] Elapsed time: 6.800s total, 0.002s configuring, 6.682s building, 0.073s running
>> > > >
>> > > > Note that the ERRORs in the kernel log are expected since it's testing
>> > > > non-disjoint or incompatible entries.
>> > > >
>> > > > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>> > > > Reviewed-by: Maarten Lankhorst<maarten.lankhorst@linux.intel.com>
>> > > > ---
>> > > > drivers/gpu/drm/xe/Kconfig.debug       |   1 +
>> > > > drivers/gpu/drm/xe/tests/Makefile      |   7 +-
>> > > > drivers/gpu/drm/xe/tests/xe_rtp.c      | 201 +++++++++++++++++++++++++
>> > > > drivers/gpu/drm/xe/tests/xe_rtp_test.c |  64 ++++++++
>> > > > drivers/gpu/drm/xe/tests/xe_rtp_test.h |  15 ++
>> > > > drivers/gpu/drm/xe/xe_rtp.c            |   4 +
>> > > > 6 files changed, 290 insertions(+), 2 deletions(-)
>> > > > create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp.c
>> > > > create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
>> > > > create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.h
>> > > >
>> > > > diff --git a/drivers/gpu/drm/xe/Kconfig.debug b/drivers/gpu/drm/xe/Kconfig.debug
>> > > > index 93b284cdd0a2..11bb13c73e7b 100644
>> > > > --- a/drivers/gpu/drm/xe/Kconfig.debug
>> > > > +++ b/drivers/gpu/drm/xe/Kconfig.debug
>> > > > @@ -66,6 +66,7 @@ config DRM_XE_KUNIT_TEST
>> > > > 	depends on DRM_XE && KUNIT && DEBUG_FS
>> > > > 	default KUNIT_ALL_TESTS
>> > > > 	select DRM_EXPORT_FOR_TESTS if m
>> > > > +	select DRM_KUNIT_TEST_HELPERS
>> > > > 	help
>> > > > 	  Choose this option to allow the driver to perform selftests under
>> > > > 	  the kunit framework
>> > >
>> > > But now we're mixing proper isolated tests with HW-interacting ones.
>> > > Can we move the HW-interacting ones to a separate Kconfig which is not
>> > > included in .kunitconfig and doesn't set its default value using
>> > > KUNIT_ALL_TESTS?
>> >
>> > I'm not sure moving them to a separate kconfig is good, because that
>> > would mean people building without one or the other. The only case it
>> > makes sense to build without the hw-interacting ones would be for when
>> > we are building for UML.
>> >
>> > I want to make sure the kconfig from CI includes both and people can
>> > run under !UML both of them.
>> >
>> > On the positive side for your approach, we'd be moving the
>> > *HW-interacting* ones to a separate config. This means we can create the
>> > split between the true unit tests and the ones just using the kunit
>> > infrastructure. I will give this a try and see how it looks in the end.
>> >
>> > I've been advocating for a split on a name-basis, calling these unit
>> > tests as sw_* and the others as hw_*. Then running just the sw ones is
>> > simply a matter of passing it as argument to kunit.py
>>
>> I will leave this for later as I don't want to stall the tests on
>> something that can be converted later and... this is not making the
>> situation any worse: actually running this in CI will provide an output
>> a little more useful than it actually is giving: a skip on all tests.
>>
>> I'm almost convinced we can make it work with separate configs as you
>> suggested, but we will need to sync with CI to make sure it fits
>> everyody.
>
>Sure, just something to keep in mind for the future.
>
>And it's not really about architecture (UML or not).
>.kunitconfig and KUNIT_ALL_TESTS are only relevant for kunit.py users,
>and so we want to have config for non-HW-interacting tests in
>.kunitconfig with a default value based on KUNIT_ALL_TESTS. Adding any
>architecture dependencies here would break kunit.py --arch=X usecase.
>
>For HW-interacting tests, we want a completely separate config, that's
>not part of .kunitconfig and does not have anything to do with
>KUNIT_ALL_TESTS.
>
>This way - kunit.py users won't even notice the skips (unless they build
>custom config), and for HW, I expect CI to be using a custom kernel
>config anyway (KUnit one is very unlikely to boot on real hardware), so

that's why this will need to be synchronized with a change in CI config
as with the current config we would stop having the hw tests.

>.kunitconfig and KUNIT_ALL_TESTS don't really matter for HW-interacting
>tests.

I agree about .kunitconfig, but if we create a
CONFIG_DRM_XE_HW_KUNIT_TEST and default it to N instead of
KUNIT_ALL_TESTS as you propose, CI would stop having those tests in its
config. Here it's not about .kunitconfig, but the .config CI is using:
https://gitlab.freedesktop.org/drm/xe/ci/-/blob/main/kernel/kconfig

Options:
1) CONFIG_DRM_XE_HW_KUNIT_TEST 
2) CONFIG_DRM_XE_LIVE_TEST
3) CONFIG_DRM_XE_SELFTEST

The above would be my order of preference, but I don't have a strong
opinion.

thanks
Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-04-01 18:26         ` Michał Winiarski
@ 2023-04-02  1:34           ` Lucas De Marchi
  2023-04-02 11:17             ` Michal Wajdeczko
  0 siblings, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-04-02  1:34 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-xe, maarten.lankhorst

On Sat, Apr 01, 2023 at 08:26:24PM +0200, Michał Winiarski wrote:
>On Sat, Apr 01, 2023 at 01:54:59AM -0700, Lucas De Marchi wrote:
>> On Fri, Mar 31, 2023 at 08:34:21AM -0600, Lucas De Marchi wrote:
>> > On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>> > > On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>> > > > +EXPORT_SYMBOL(xe_rtp_process_incompat_types);
>> > > > diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>> > > > new file mode 100644
>> > > > index 000000000000..4a12aad3f759
>> > > > --- /dev/null
>> > > > +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>> > >
>> > > There's no need to have this as a separate file.
>> > > We can move the contents of tests/xe_rtp.c into tests/xe_rtp_test.c and
>> > > include tests/xe_rtp_test.c directly in xe_rtp.c
>> >
>> > this is not how the tests are currently structured.
>> >
>> > xe_rtp.c includes tests/xe_rtp.c. The latter can be seen as "an
>> > extension of the that file, exporting whatever entrypoint is needed
>> > for the real test". They are then part of the xe.ko module.
>> >
>> > tests/xe_rtp_test.c is the one in the separate test module, and contains
>> > the integration with kunit.
>>
>> but it's possible to keep everythin in the separate module and not need
>> the include of tests/xe_rtp.c. I did that on v2.
>>
>> Lucas De Marchi
>
>From my perspective - the way that the test is implemented carries an
>additional information.
>1) Test is a separate module:
>Means that we're testing the API exported by the module (that's used by
>other modules).
>2) Test is a file that's a part of a module:
>Means that we're testing non-static API used internally by the module.
>3) Test is a file that's included at the end of a file:
>Means that we're testing static functions.
>
>Forcing everything to be a module doesn't really serve any purpose.
>It just makes things harder to follow, as it removes this useful
>additional bit of information.

I strongly disagree here.  Basing the test location on how much a
function is exposed is a recipe for having to move the tests from one
place to another. There are always refactors that make function change
from non-static -> static, static -> non-static, and to a smaller degree
exporting it.

In the end the code will just be inconsistent with the rules you
outlined.

Separating everything to a separate module means the test code doesn't
bloat the xe.ko module. I do think we should group all the tests into a
single xe_test.ko, but that is a different topic.

See v2 of this patch series where I move *all* of the rtp tests to the
separate module and simply use EXPORT_SYMBOL_IF_KUNIT() to export the 2
functions I need (In this v1 I was using
EXPORT_SYMBOL_NS_GPL(..., XE_KUNIT) to make sure the tests were in a
separate namespace, but then I noticed kunit itself has a recommended
way by using its macro).

This makes the rule very simple to be followed:

1) Place everything you can in the separate test module
2) Place it in end of the file with the #include otherwise

Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-04-02  1:24           ` Lucas De Marchi
@ 2023-04-02 10:51             ` Michal Wajdeczko
  0 siblings, 0 replies; 30+ messages in thread
From: Michal Wajdeczko @ 2023-04-02 10:51 UTC (permalink / raw)
  To: Lucas De Marchi, Michał Winiarski; +Cc: intel-xe, maarten.lankhorst



On 02.04.2023 03:24, Lucas De Marchi wrote:
> On Sat, Apr 01, 2023 at 08:54:18PM +0200, Michał Winiarski wrote:
>> On Sat, Apr 01, 2023 at 01:59:32AM -0700, Lucas De Marchi wrote:
>>> On Fri, Mar 31, 2023 at 07:43:34AM -0600, Lucas De Marchi wrote:
>>> > On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>>> > > On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>>> > > > Add some basic unit tests for rtp. This is intended to prove the
>>> > > > functionality of the rtp itself, like coalescing entries,
>>> rejecting
>>> > > > non-disjoint values, etc.
>>> > > >
>>> > > > Contrary to the other tests in xe, this is a unit test to test the
>>> > > > sw-side only, so it can be executed on any machine - it doesn't
>>> interact
>>> > > > with the real hardware. For that a mock was provided with the
>>> minimum
>>> > > > initialization needed. Running it produces the following output:
>>> > > >
>>> > > >     $ ./tools/testing/kunit/kunit.py run --raw_output  \
>>> > > >         --kunitconfig drivers/gpu/drm/xe/.kunitconfig xe_rtp
>>> > > >     ...
>>> > > >     [13:46:14] Starting KUnit Kernel (1/1)...
>>> > > >     KTAP version 1
>>> > > >     1..1
>>> > > >         KTAP version 1
>>> > > >         # Subtest: xe_rtp
>>> > > >         1..3
>>> > > >         ok 1 xe_rtp_process_basic
>>> > > >     [drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg
>>> 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
>>> > > >     [drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg
>>> 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
>>> > > >         ok 2 xe_rtp_process_dup
>>> > > >     [drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg
>>> 0001 (clear: 00000001, set: 00000001, masked: no): ret=-22
>>> > > >     [drm:xe_reg_sr_add] *ERROR* Discarding save-restore reg
>>> 0001 (clear: 00000003, set: 00000003, masked: no): ret=-22
>>> > > >         ok 3 xe_rtp_process_incompat_types
>>> > > >     # xe_rtp: pass:3 fail:0 skip:0 total:3
>>> > > >     # Totals: pass:3 fail:0 skip:0 total:3
>>> > > >     ok 1 xe_rtp
>>> > > >     [13:46:14] Elapsed time: 6.800s total, 0.002s configuring,
>>> 6.682s building, 0.073s running
>>> > > >
>>> > > > Note that the ERRORs in the kernel log are expected since it's
>>> testing
>>> > > > non-disjoint or incompatible entries.
>>> > > >
>>> > > > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>> > > > Reviewed-by: Maarten Lankhorst<maarten.lankhorst@linux.intel.com>
>>> > > > ---
>>> > > > drivers/gpu/drm/xe/Kconfig.debug       |   1 +
>>> > > > drivers/gpu/drm/xe/tests/Makefile      |   7 +-
>>> > > > drivers/gpu/drm/xe/tests/xe_rtp.c      | 201
>>> +++++++++++++++++++++++++
>>> > > > drivers/gpu/drm/xe/tests/xe_rtp_test.c |  64 ++++++++
>>> > > > drivers/gpu/drm/xe/tests/xe_rtp_test.h |  15 ++
>>> > > > drivers/gpu/drm/xe/xe_rtp.c            |   4 +
>>> > > > 6 files changed, 290 insertions(+), 2 deletions(-)
>>> > > > create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp.c
>>> > > > create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>> > > > create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.h
>>> > > >
>>> > > > diff --git a/drivers/gpu/drm/xe/Kconfig.debug
>>> b/drivers/gpu/drm/xe/Kconfig.debug
>>> > > > index 93b284cdd0a2..11bb13c73e7b 100644
>>> > > > --- a/drivers/gpu/drm/xe/Kconfig.debug
>>> > > > +++ b/drivers/gpu/drm/xe/Kconfig.debug
>>> > > > @@ -66,6 +66,7 @@ config DRM_XE_KUNIT_TEST
>>> > > >     depends on DRM_XE && KUNIT && DEBUG_FS
>>> > > >     default KUNIT_ALL_TESTS
>>> > > >     select DRM_EXPORT_FOR_TESTS if m
>>> > > > +    select DRM_KUNIT_TEST_HELPERS
>>> > > >     help
>>> > > >       Choose this option to allow the driver to perform
>>> selftests under
>>> > > >       the kunit framework
>>> > >
>>> > > But now we're mixing proper isolated tests with HW-interacting ones.
>>> > > Can we move the HW-interacting ones to a separate Kconfig which
>>> is not
>>> > > included in .kunitconfig and doesn't set its default value using
>>> > > KUNIT_ALL_TESTS?
>>> >
>>> > I'm not sure moving them to a separate kconfig is good, because that
>>> > would mean people building without one or the other. The only case it
>>> > makes sense to build without the hw-interacting ones would be for when
>>> > we are building for UML.
>>> >
>>> > I want to make sure the kconfig from CI includes both and people can
>>> > run under !UML both of them.
>>> >
>>> > On the positive side for your approach, we'd be moving the
>>> > *HW-interacting* ones to a separate config. This means we can
>>> create the
>>> > split between the true unit tests and the ones just using the kunit
>>> > infrastructure. I will give this a try and see how it looks in the
>>> end.
>>> >
>>> > I've been advocating for a split on a name-basis, calling these unit
>>> > tests as sw_* and the others as hw_*. Then running just the sw ones is
>>> > simply a matter of passing it as argument to kunit.py
>>>
>>> I will leave this for later as I don't want to stall the tests on
>>> something that can be converted later and... this is not making the
>>> situation any worse: actually running this in CI will provide an output
>>> a little more useful than it actually is giving: a skip on all tests.
>>>
>>> I'm almost convinced we can make it work with separate configs as you
>>> suggested, but we will need to sync with CI to make sure it fits
>>> everyody.
>>
>> Sure, just something to keep in mind for the future.
>>
>> And it's not really about architecture (UML or not).
>> .kunitconfig and KUNIT_ALL_TESTS are only relevant for kunit.py users,
>> and so we want to have config for non-HW-interacting tests in
>> .kunitconfig with a default value based on KUNIT_ALL_TESTS. Adding any
>> architecture dependencies here would break kunit.py --arch=X usecase.
>>
>> For HW-interacting tests, we want a completely separate config, that's
>> not part of .kunitconfig and does not have anything to do with
>> KUNIT_ALL_TESTS.
>>
>> This way - kunit.py users won't even notice the skips (unless they build
>> custom config), and for HW, I expect CI to be using a custom kernel
>> config anyway (KUnit one is very unlikely to boot on real hardware), so
> 
> that's why this will need to be synchronized with a change in CI config
> as with the current config we would stop having the hw tests.
> 
>> .kunitconfig and KUNIT_ALL_TESTS don't really matter for HW-interacting
>> tests.
> 
> I agree about .kunitconfig, but if we create a
> CONFIG_DRM_XE_HW_KUNIT_TEST and default it to N instead of
> KUNIT_ALL_TESTS as you propose, CI would stop having those tests in its
> config. Here it's not about .kunitconfig, but the .config CI is using:
> https://gitlab.freedesktop.org/drm/xe/ci/-/blob/main/kernel/kconfig

likely we can workaround that by using

	default Y if DRM_XE_DEBUG

or just explicitly update the CI config to the desired value

> 
> Options:
> 1) CONFIG_DRM_XE_HW_KUNIT_TEST 2) CONFIG_DRM_XE_LIVE_TEST
> 3) CONFIG_DRM_XE_SELFTEST
> 
> The above would be my order of preference, but I don't have a strong
> opinion.

before choosing the name for new config for HW tests from the above
list, we should discuss that in connection with existing config name, as
we plan to use KUNIT in both scenarios, and maybe worth to change both
to clearly indicate our intentions/use case.

here is sample of possible pairs:

a) CONFIG_DRM_XE_KUNIT_TEST
   CONFIG_DRM_XE_HW_KUNIT_TEST

b) CONFIG_DRM_XE_KUNIT_TEST
   CONFIG_DRM_XE_LIVE_TEST

c) CONFIG_DRM_XE_KUNIT_TEST
   CONFIG_DRM_XE_SELFTEST

d) CONFIG_DRM_XE_KUNIT_SELFTESTS
   CONFIG_DRM_XE_KUNIT_LIVETESTS

e) CONFIG_DRM_XE_SELFTESTS
   CONFIG_DRM_XE_LIVETESTS

f) CONFIG_DRM_XE_SW_SELFTESTS
   CONFIG_DRM_XE_HW_SELFTESTS

g) CONFIG_DRM_XE_SW_UNIT_TESTS
   CONFIG_DRM_XE_HW_LIVE_TESTS

...

my vote would go for e) as a good balance

thanks,
Michal

> 
> thanks
> Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-04-02  1:34           ` Lucas De Marchi
@ 2023-04-02 11:17             ` Michal Wajdeczko
  2023-04-02 21:54               ` Lucas De Marchi
  0 siblings, 1 reply; 30+ messages in thread
From: Michal Wajdeczko @ 2023-04-02 11:17 UTC (permalink / raw)
  To: Lucas De Marchi, Michał Winiarski; +Cc: intel-xe, maarten.lankhorst



On 02.04.2023 03:34, Lucas De Marchi wrote:
> On Sat, Apr 01, 2023 at 08:26:24PM +0200, Michał Winiarski wrote:
>> On Sat, Apr 01, 2023 at 01:54:59AM -0700, Lucas De Marchi wrote:
>>> On Fri, Mar 31, 2023 at 08:34:21AM -0600, Lucas De Marchi wrote:
>>> > On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>>> > > On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>>> > > > +EXPORT_SYMBOL(xe_rtp_process_incompat_types);
>>> > > > diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>> b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>> > > > new file mode 100644
>>> > > > index 000000000000..4a12aad3f759
>>> > > > --- /dev/null
>>> > > > +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>> > >
>>> > > There's no need to have this as a separate file.
>>> > > We can move the contents of tests/xe_rtp.c into
>>> tests/xe_rtp_test.c and
>>> > > include tests/xe_rtp_test.c directly in xe_rtp.c
>>> >
>>> > this is not how the tests are currently structured.
>>> >
>>> > xe_rtp.c includes tests/xe_rtp.c. The latter can be seen as "an
>>> > extension of the that file, exporting whatever entrypoint is needed
>>> > for the real test". They are then part of the xe.ko module.
>>> >
>>> > tests/xe_rtp_test.c is the one in the separate test module, and
>>> contains
>>> > the integration with kunit.
>>>
>>> but it's possible to keep everythin in the separate module and not need
>>> the include of tests/xe_rtp.c. I did that on v2.
>>>
>>> Lucas De Marchi
>>
>> From my perspective - the way that the test is implemented carries an
>> additional information.
>> 1) Test is a separate module:
>> Means that we're testing the API exported by the module (that's used by
>> other modules).
>> 2) Test is a file that's a part of a module:
>> Means that we're testing non-static API used internally by the module.
>> 3) Test is a file that's included at the end of a file:
>> Means that we're testing static functions.
>>
>> Forcing everything to be a module doesn't really serve any purpose.
>> It just makes things harder to follow, as it removes this useful
>> additional bit of information.
> 
> I strongly disagree here.  Basing the test location on how much a
> function is exposed is a recipe for having to move the tests from one
> place to another. There are always refactors that make function change
> from non-static -> static, static -> non-static, and to a smaller degree
> exporting it.
> 
> In the end the code will just be inconsistent with the rules you
> outlined.
> 
> Separating everything to a separate module means the test code doesn't
> bloat the xe.ko module. I do think we should group all the tests into a
> single xe_test.ko, but that is a different topic.
> 
> See v2 of this patch series where I move *all* of the rtp tests to the
> separate module and simply use EXPORT_SYMBOL_IF_KUNIT() to export the 2

but having to export static functions simply don't scale, it's fine if
all you test needs is 2 functions, but to have full coverage we might
end with exporting all static functions (and to some extend bloating
xe.ko anyway, both in code and binary)

there is already BKM for testing static functions [1]
so why are we trying to force different (and IMO worst) model ?

[1]
https://docs.kernel.org/dev-tools/kunit/usage.html#testing-static-functions

> functions I need (In this v1 I was using
> EXPORT_SYMBOL_NS_GPL(..., XE_KUNIT) to make sure the tests were in a
> separate namespace, but then I noticed kunit itself has a recommended
> way by using its macro).
> 
> This makes the rule very simple to be followed:
> 
> 1) Place everything you can in the separate test module

but why? as Michal pointed out, this works best for testing already
exported API functions, to test internal static functions, this would be
unnecessary complicated solution

> 2) Place it in end of the file with the #include otherwise

this should be our primary BKM for mock/fake/sw/self/kunit/unit(*) test.

(*) pick one

note that in addition to easy maintenance (it doesn't require writing,
building, distributing and loading separate modules), this single test
file already has access to all required compilation unit static
functions that we want to test.

also from IGT point of view, this would mean that in case of
adding/removing some subtests all we need is just update test filter
rather then updating list of modules to load/unload.

and I wouldn't count this final #include as .ko bloating factor as it
would be primary used in UML build, where we don't care, and for the
target builds this could be easily compiled out.

thanks,
Michal

> 
> Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-04-02 11:17             ` Michal Wajdeczko
@ 2023-04-02 21:54               ` Lucas De Marchi
  2023-04-03  7:38                 ` Michal Wajdeczko
  0 siblings, 1 reply; 30+ messages in thread
From: Lucas De Marchi @ 2023-04-02 21:54 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: Michał Winiarski, intel-xe, maarten.lankhorst

On Sun, Apr 02, 2023 at 01:17:50PM +0200, Michal Wajdeczko wrote:
>
>
>On 02.04.2023 03:34, Lucas De Marchi wrote:
>> On Sat, Apr 01, 2023 at 08:26:24PM +0200, Michał Winiarski wrote:
>>> On Sat, Apr 01, 2023 at 01:54:59AM -0700, Lucas De Marchi wrote:
>>>> On Fri, Mar 31, 2023 at 08:34:21AM -0600, Lucas De Marchi wrote:
>>>> > On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>>>> > > On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>>>> > > > +EXPORT_SYMBOL(xe_rtp_process_incompat_types);
>>>> > > > diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>> b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>> > > > new file mode 100644
>>>> > > > index 000000000000..4a12aad3f759
>>>> > > > --- /dev/null
>>>> > > > +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>> > >
>>>> > > There's no need to have this as a separate file.
>>>> > > We can move the contents of tests/xe_rtp.c into
>>>> tests/xe_rtp_test.c and
>>>> > > include tests/xe_rtp_test.c directly in xe_rtp.c
>>>> >
>>>> > this is not how the tests are currently structured.
>>>> >
>>>> > xe_rtp.c includes tests/xe_rtp.c. The latter can be seen as "an
>>>> > extension of the that file, exporting whatever entrypoint is needed
>>>> > for the real test". They are then part of the xe.ko module.
>>>> >
>>>> > tests/xe_rtp_test.c is the one in the separate test module, and
>>>> contains
>>>> > the integration with kunit.
>>>>
>>>> but it's possible to keep everythin in the separate module and not need
>>>> the include of tests/xe_rtp.c. I did that on v2.
>>>>
>>>> Lucas De Marchi
>>>
>>> From my perspective - the way that the test is implemented carries an
>>> additional information.
>>> 1) Test is a separate module:
>>> Means that we're testing the API exported by the module (that's used by
>>> other modules).
>>> 2) Test is a file that's a part of a module:
>>> Means that we're testing non-static API used internally by the module.
>>> 3) Test is a file that's included at the end of a file:
>>> Means that we're testing static functions.
>>>
>>> Forcing everything to be a module doesn't really serve any purpose.
>>> It just makes things harder to follow, as it removes this useful
>>> additional bit of information.
>>
>> I strongly disagree here.  Basing the test location on how much a
>> function is exposed is a recipe for having to move the tests from one
>> place to another. There are always refactors that make function change
>> from non-static -> static, static -> non-static, and to a smaller degree
>> exporting it.
>>
>> In the end the code will just be inconsistent with the rules you
>> outlined.
>>
>> Separating everything to a separate module means the test code doesn't
>> bloat the xe.ko module. I do think we should group all the tests into a
>> single xe_test.ko, but that is a different topic.
>>
>> See v2 of this patch series where I move *all* of the rtp tests to the
>> separate module and simply use EXPORT_SYMBOL_IF_KUNIT() to export the 2
>
>but having to export static functions simply don't scale, it's fine if
>all you test needs is 2 functions, but to have full coverage we might
>end with exporting all static functions (and to some extend bloating
>xe.ko anyway, both in code and binary)

... the fallacy of full code coverage.

>
>there is already BKM for testing static functions [1]
>so why are we trying to force different (and IMO worst) model ?

it's fine as long as the test is small and you really want/need to test
that single function rather than a higher order interface to it.

>
>[1]
>https://docs.kernel.org/dev-tools/kunit/usage.html#testing-static-functions

"If we do not want to expose functions or variables for testing ...".
There are several sections before that one.

It will depend on the test. Some may be inevitable and simpler to
include in the file. With the dowside of bloating the module.

>
>> functions I need (In this v1 I was using
>> EXPORT_SYMBOL_NS_GPL(..., XE_KUNIT) to make sure the tests were in a
>> separate namespace, but then I noticed kunit itself has a recommended
>> way by using its macro).
>>
>> This makes the rule very simple to be followed:
>>
>> 1) Place everything you can in the separate test module
>
>but why? as Michal pointed out, this works best for testing already
>exported API functions, to test internal static functions, this would be
>unnecessary complicated solution

then provide a better test on the interface rather than on the static
function. If really needed/wanted, then including it on the bottom of
the file can be done.

>
>> 2) Place it in end of the file with the #include otherwise
>
>this should be our primary BKM for mock/fake/sw/self/kunit/unit(*) test.
>
>(*) pick one
>
>note that in addition to easy maintenance (it doesn't require writing,
>building, distributing and loading separate modules), this single test
>file already has access to all required compilation unit static
>functions that we want to test.
>
>also from IGT point of view, this would mean that in case of
>adding/removing some subtests all we need is just update test filter
>rather then updating list of modules to load/unload.

you are making this up as "it's harder to maintain" to justify your bias.
There is 1 single call you make, using the already provided kunit.py.
Developers can run it on their machines and so can CI.

>and I wouldn't count this final #include as .ko bloating factor as it
>would be primary used in UML build, where we don't care, and for the
>target builds this could be easily compiled out.

then you can't get the prebuilt kernel to be executed "in production"
and sanity check it still passes the sw tests.

Lucas De Marchi

>
>thanks,
>Michal
>
>>
>> Lucas De Marchi

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

* Re: [Intel-xe]  ✓ CI.Patch_applied: success for Unit tests for rtp and GT wa/tuning
  2023-03-31 15:14   ` Lucas De Marchi
@ 2023-04-03  6:08     ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 30+ messages in thread
From: Mauro Carvalho Chehab @ 2023-04-03  6:08 UTC (permalink / raw)
  To: intel-xe

On 3/31/23 17:14, Lucas De Marchi wrote:
> On Tue, Mar 21, 2023 at 10:08:34PM -0000, Patchwork wrote:
>> == Series Details ==
>>
>> Series: Unit tests for rtp and GT wa/tuning
>> URL   : https://patchwork.freedesktop.org/series/115463/
>> State : success
>>
>> == Summary ==
>>
>> === Applying kernel patches on branch 'drm-xe-next' with base: ===
>> commit 1ae4dd9e82429e075aa7121404b06ce170da5848
>> Author:     Matthew Auld <matthew.auld@intel.com>
>> AuthorDate: Tue Mar 21 11:44:07 2023 +0000
>> Commit:     Matthew Auld <matthew.auld@intel.com>
>> CommitDate: Tue Mar 21 14:03:29 2023 +0000
>>
>>    drm/xe/buddy: add compatible and intersects hooks
>>
>>    Copy this from i915. We need .compatible for vram -> vram 
>> transfers, so
>>    they don't just get nooped by ttm, if need to move something from
>>    mappable to non-mappble or vice versa. The .intersects is needed for
>>    eviction, to determine if a victim resource is worth eviction. e.g 
>> if we
>>    need mappable space there is no point in evicting a resource that has
>>    zero mappable pages.
>>
>>    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>>    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>    Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>>    Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
>
> we will probably need to change this format a little bit. Now `b4 am` is
> complaining:
>
>     ! Trailer: Commit: Matthew Auld <matthew.auld@intel.com>
>      Msg From: Patchwork <patchwork@emeril.freedesktop.org>
>     ! Trailer: Signed-off-by: Matthew Auld <matthew.auld@intel.com>
>      Msg From: Patchwork <patchwork@emeril.freedesktop.org>
>     ! Trailer: Reviewed-by: Maarten Lankhorst 
> <maarten.lankhorst@linux.intel.com>
>      Msg From: Patchwork <patchwork@emeril.freedesktop.org>
>     ! Trailer: Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
>      Msg From: Patchwork <patchwork@emeril.freedesktop.org>
>
> ( it would have been worse if it would add the r-b/a-b )


Well, b4 will complain if the format is not the one provided by:

     $ git log --pretty=email

or:

     $ git log --pretty=mboxrd


Regards,
Mauro



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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-04-02 21:54               ` Lucas De Marchi
@ 2023-04-03  7:38                 ` Michal Wajdeczko
  2023-04-03 13:02                   ` Lucas De Marchi
  0 siblings, 1 reply; 30+ messages in thread
From: Michal Wajdeczko @ 2023-04-03  7:38 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: Michał Winiarski, intel-xe, maarten.lankhorst



On 02.04.2023 23:54, Lucas De Marchi wrote:
> On Sun, Apr 02, 2023 at 01:17:50PM +0200, Michal Wajdeczko wrote:
>>
>>
>> On 02.04.2023 03:34, Lucas De Marchi wrote:
>>> On Sat, Apr 01, 2023 at 08:26:24PM +0200, Michał Winiarski wrote:
>>>> On Sat, Apr 01, 2023 at 01:54:59AM -0700, Lucas De Marchi wrote:
>>>>> On Fri, Mar 31, 2023 at 08:34:21AM -0600, Lucas De Marchi wrote:
>>>>> > On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>>>>> > > On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>>>>> > > > +EXPORT_SYMBOL(xe_rtp_process_incompat_types);
>>>>> > > > diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>>> b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>>> > > > new file mode 100644
>>>>> > > > index 000000000000..4a12aad3f759
>>>>> > > > --- /dev/null
>>>>> > > > +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>>> > >
>>>>> > > There's no need to have this as a separate file.
>>>>> > > We can move the contents of tests/xe_rtp.c into
>>>>> tests/xe_rtp_test.c and
>>>>> > > include tests/xe_rtp_test.c directly in xe_rtp.c
>>>>> >
>>>>> > this is not how the tests are currently structured.
>>>>> >
>>>>> > xe_rtp.c includes tests/xe_rtp.c. The latter can be seen as "an
>>>>> > extension of the that file, exporting whatever entrypoint is needed
>>>>> > for the real test". They are then part of the xe.ko module.
>>>>> >
>>>>> > tests/xe_rtp_test.c is the one in the separate test module, and
>>>>> contains
>>>>> > the integration with kunit.
>>>>>
>>>>> but it's possible to keep everythin in the separate module and not
>>>>> need
>>>>> the include of tests/xe_rtp.c. I did that on v2.
>>>>>
>>>>> Lucas De Marchi
>>>>
>>>> From my perspective - the way that the test is implemented carries an
>>>> additional information.
>>>> 1) Test is a separate module:
>>>> Means that we're testing the API exported by the module (that's used by
>>>> other modules).
>>>> 2) Test is a file that's a part of a module:
>>>> Means that we're testing non-static API used internally by the module.
>>>> 3) Test is a file that's included at the end of a file:
>>>> Means that we're testing static functions.
>>>>
>>>> Forcing everything to be a module doesn't really serve any purpose.
>>>> It just makes things harder to follow, as it removes this useful
>>>> additional bit of information.
>>>
>>> I strongly disagree here.  Basing the test location on how much a
>>> function is exposed is a recipe for having to move the tests from one
>>> place to another. There are always refactors that make function change
>>> from non-static -> static, static -> non-static, and to a smaller degree
>>> exporting it.
>>>
>>> In the end the code will just be inconsistent with the rules you
>>> outlined.
>>>
>>> Separating everything to a separate module means the test code doesn't
>>> bloat the xe.ko module. I do think we should group all the tests into a
>>> single xe_test.ko, but that is a different topic.
>>>
>>> See v2 of this patch series where I move *all* of the rtp tests to the
>>> separate module and simply use EXPORT_SYMBOL_IF_KUNIT() to export the 2
>>
>> but having to export static functions simply don't scale, it's fine if
>> all you test needs is 2 functions, but to have full coverage we might
>> end with exporting all static functions (and to some extend bloating
>> xe.ko anyway, both in code and binary)
> 
> ... the fallacy of full code coverage.

so having full coverage is not our goal any more ?
then others work like [2] seems unnecessary

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

> 
>>
>> there is already BKM for testing static functions [1]
>> so why are we trying to force different (and IMO worst) model ?
> 
> it's fine as long as the test is small and you really want/need to test
> that single function rather than a higher order interface to it.
> 
>>
>> [1]
>> https://docs.kernel.org/dev-tools/kunit/usage.html#testing-static-functions
> 
> "If we do not want to expose functions or variables for testing ...".
> There are several sections before that one.
> 
> It will depend on the test. Some may be inevitable and simpler to
> include in the file. With the dowside of bloating the module.

but what exactly bothers you by "bloating the module"

- additional single #include at end of .c file
- multiple xxx_IF_KUNIT macros across all over .c file
- bigger footprint of the xe.ko due to export tables
- bigger footprint of the xe.ko due to inclusion of test functions
- bigger footprint of the xe.ko due to inclusion of test suites
- additional headers to expose test functions
- ...

> 
>>
>>> functions I need (In this v1 I was using
>>> EXPORT_SYMBOL_NS_GPL(..., XE_KUNIT) to make sure the tests were in a
>>> separate namespace, but then I noticed kunit itself has a recommended
>>> way by using its macro).
>>>
>>> This makes the rule very simple to be followed:
>>>
>>> 1) Place everything you can in the separate test module
>>
>> but why? as Michal pointed out, this works best for testing already
>> exported API functions, to test internal static functions, this would be
>> unnecessary complicated solution
> 
> then provide a better test on the interface rather than on the static
> function. If really needed/wanted, then including it on the bottom of
> the file can be done.

majority (if not all) of our functions are not module exported, thus
testing them will look almost exactly as static

> 
>>
>>> 2) Place it in end of the file with the #include otherwise
>>
>> this should be our primary BKM for mock/fake/sw/self/kunit/unit(*) test.
>>
>> (*) pick one
>>
>> note that in addition to easy maintenance (it doesn't require writing,
>> building, distributing and loading separate modules), this single test
>> file already has access to all required compilation unit static
>> functions that we want to test.
>>
>> also from IGT point of view, this would mean that in case of
>> adding/removing some subtests all we need is just update test filter
>> rather then updating list of modules to load/unload.
> 
> you are making this up as "it's harder to maintain" to justify your bias.
> There is 1 single call you make, using the already provided kunit.py.
> Developers can run it on their machines and so can CI.

it's not about how you run such test, as in both cases this will be
exactly the same kunit.py line

problem is during creation of such test where you need to:
- provide new .h with prototypes for the otherwise static functions
- tag (bloat) static functions with VISIBLE_IF_KUNIT
- export (bloat) static functions with EXPORT_SYMBOL_IF_KUNIT
- create new .c with test module
- update Makefile with new module definition
- update IGT to consider new test module
- update CI to run new module
- update any scripts to load/unload new module
- ..


> 
>> and I wouldn't count this final #include as .ko bloating factor as it
>> would be primary used in UML build, where we don't care, and for the
>> target builds this could be easily compiled out.
> 
> then you can't get the prebuilt kernel to be executed "in production"
> and sanity check it still passes the sw tests.

but really why you need to rerun those tests ?
if you don't trust results from kunit.py UML run, then maybe

a) we should drop it from our build step
b) change kunit config from UML to x64 or something
c) notify kunit maintainers about problems/gaps with UML runs

as I don't expect any differences between UML and 'production' build
then I can see no point in running them twice or more

thanks,
Michal

> 
> Lucas De Marchi
> 
>>
>> thanks,
>> Michal
>>
>>>
>>> Lucas De Marchi

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

* Re: [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp
  2023-04-03  7:38                 ` Michal Wajdeczko
@ 2023-04-03 13:02                   ` Lucas De Marchi
  0 siblings, 0 replies; 30+ messages in thread
From: Lucas De Marchi @ 2023-04-03 13:02 UTC (permalink / raw)
  To: Michal Wajdeczko; +Cc: Michał Winiarski, intel-xe, maarten.lankhorst

On Mon, Apr 03, 2023 at 09:38:01AM +0200, Michal Wajdeczko wrote:
>
>
>On 02.04.2023 23:54, Lucas De Marchi wrote:
>> On Sun, Apr 02, 2023 at 01:17:50PM +0200, Michal Wajdeczko wrote:
>>>
>>>
>>> On 02.04.2023 03:34, Lucas De Marchi wrote:
>>>> On Sat, Apr 01, 2023 at 08:26:24PM +0200, Michał Winiarski wrote:
>>>>> On Sat, Apr 01, 2023 at 01:54:59AM -0700, Lucas De Marchi wrote:
>>>>>> On Fri, Mar 31, 2023 at 08:34:21AM -0600, Lucas De Marchi wrote:
>>>>>> > On Mon, Mar 27, 2023 at 07:56:01PM +0200, Michał Winiarski wrote:
>>>>>> > > On Tue, Mar 21, 2023 at 03:05:21PM -0700, Lucas De Marchi wrote:
>>>>>> > > > +EXPORT_SYMBOL(xe_rtp_process_incompat_types);
>>>>>> > > > diff --git a/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>>>> b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>>>> > > > new file mode 100644
>>>>>> > > > index 000000000000..4a12aad3f759
>>>>>> > > > --- /dev/null
>>>>>> > > > +++ b/drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>>>>> > >
>>>>>> > > There's no need to have this as a separate file.
>>>>>> > > We can move the contents of tests/xe_rtp.c into
>>>>>> tests/xe_rtp_test.c and
>>>>>> > > include tests/xe_rtp_test.c directly in xe_rtp.c
>>>>>> >
>>>>>> > this is not how the tests are currently structured.
>>>>>> >
>>>>>> > xe_rtp.c includes tests/xe_rtp.c. The latter can be seen as "an
>>>>>> > extension of the that file, exporting whatever entrypoint is needed
>>>>>> > for the real test". They are then part of the xe.ko module.
>>>>>> >
>>>>>> > tests/xe_rtp_test.c is the one in the separate test module, and
>>>>>> contains
>>>>>> > the integration with kunit.
>>>>>>
>>>>>> but it's possible to keep everythin in the separate module and not
>>>>>> need
>>>>>> the include of tests/xe_rtp.c. I did that on v2.
>>>>>>
>>>>>> Lucas De Marchi
>>>>>
>>>>> From my perspective - the way that the test is implemented carries an
>>>>> additional information.
>>>>> 1) Test is a separate module:
>>>>> Means that we're testing the API exported by the module (that's used by
>>>>> other modules).
>>>>> 2) Test is a file that's a part of a module:
>>>>> Means that we're testing non-static API used internally by the module.
>>>>> 3) Test is a file that's included at the end of a file:
>>>>> Means that we're testing static functions.
>>>>>
>>>>> Forcing everything to be a module doesn't really serve any purpose.
>>>>> It just makes things harder to follow, as it removes this useful
>>>>> additional bit of information.
>>>>
>>>> I strongly disagree here.  Basing the test location on how much a
>>>> function is exposed is a recipe for having to move the tests from one
>>>> place to another. There are always refactors that make function change
>>>> from non-static -> static, static -> non-static, and to a smaller degree
>>>> exporting it.
>>>>
>>>> In the end the code will just be inconsistent with the rules you
>>>> outlined.
>>>>
>>>> Separating everything to a separate module means the test code doesn't
>>>> bloat the xe.ko module. I do think we should group all the tests into a
>>>> single xe_test.ko, but that is a different topic.
>>>>
>>>> See v2 of this patch series where I move *all* of the rtp tests to the
>>>> separate module and simply use EXPORT_SYMBOL_IF_KUNIT() to export the 2
>>>
>>> but having to export static functions simply don't scale, it's fine if
>>> all you test needs is 2 functions, but to have full coverage we might
>>> end with exporting all static functions (and to some extend bloating
>>> xe.ko anyway, both in code and binary)
>>
>> ... the fallacy of full code coverage.
>
>so having full coverage is not our goal any more ?
>then others work like [2] seems unnecessary
>
>[2] https://patchwork.freedesktop.org/series/115513/

no idea about that test - I'm talking about the concept about full
*code* coverage above all else and think you are covered when you
reached that goal... ther are multiple articles around about that.

>
>>
>>>
>>> there is already BKM for testing static functions [1]
>>> so why are we trying to force different (and IMO worst) model ?
>>
>> it's fine as long as the test is small and you really want/need to test
>> that single function rather than a higher order interface to it.
>>
>>>
>>> [1]
>>> https://docs.kernel.org/dev-tools/kunit/usage.html#testing-static-functions
>>
>> "If we do not want to expose functions or variables for testing ...".
>> There are several sections before that one.
>>
>> It will depend on the test. Some may be inevitable and simpler to
>> include in the file. With the dowside of bloating the module.
>
>but what exactly bothers you by "bloating the module"
>
>- additional single #include at end of .c file
>- multiple xxx_IF_KUNIT macros across all over .c file
>- bigger footprint of the xe.ko due to export tables
>- bigger footprint of the xe.ko due to inclusion of test functions
>- bigger footprint of the xe.ko due to inclusion of test suites
>- additional headers to expose test functions
>- ...
>
>>
>>>
>>>> functions I need (In this v1 I was using
>>>> EXPORT_SYMBOL_NS_GPL(..., XE_KUNIT) to make sure the tests were in a
>>>> separate namespace, but then I noticed kunit itself has a recommended
>>>> way by using its macro).
>>>>
>>>> This makes the rule very simple to be followed:
>>>>
>>>> 1) Place everything you can in the separate test module
>>>
>>> but why? as Michal pointed out, this works best for testing already
>>> exported API functions, to test internal static functions, this would be
>>> unnecessary complicated solution
>>
>> then provide a better test on the interface rather than on the static
>> function. If really needed/wanted, then including it on the bottom of
>> the file can be done.
>
>majority (if not all) of our functions are not module exported, thus
>testing them will look almost exactly as static

I'm saying you could have good tests by using the interface of the
module/file instead of trying to test every single static function.

>
>>
>>>
>>>> 2) Place it in end of the file with the #include otherwise
>>>
>>> this should be our primary BKM for mock/fake/sw/self/kunit/unit(*) test.
>>>
>>> (*) pick one
>>>
>>> note that in addition to easy maintenance (it doesn't require writing,
>>> building, distributing and loading separate modules), this single test
>>> file already has access to all required compilation unit static
>>> functions that we want to test.
>>>
>>> also from IGT point of view, this would mean that in case of
>>> adding/removing some subtests all we need is just update test filter
>>> rather then updating list of modules to load/unload.
>>
>> you are making this up as "it's harder to maintain" to justify your bias.
>> There is 1 single call you make, using the already provided kunit.py.
>> Developers can run it on their machines and so can CI.
>
>it's not about how you run such test, as in both cases this will be
>exactly the same kunit.py line
>
>problem is during creation of such test where you need to:
>- provide new .h with prototypes for the otherwise static functions
>- tag (bloat) static functions with VISIBLE_IF_KUNIT
>- export (bloat) static functions with EXPORT_SYMBOL_IF_KUNIT
>- create new .c with test module

I don't think it was hard to write the v2 of this series and the
boilerplate was very minimal. So I'm ok with the current state.

>- update Makefile with new module definition

as I said before, this would be a good thing to consolidate, making all
tests under a single .ko rather than 1 per area.... it's on my todo list

>- update IGT to consider new test module

see above about 1 test module... but also it seems igt would reinvent
kunit.py with the intergration you have in mind for it.

IGT could simply have 1 test: kunit. That runs kunit.py with the rigt
args, get the json output and interpret it.

>- update CI to run new module
>- update any scripts to load/unload new module
>- ..

no, see above

>
>
>>
>>> and I wouldn't count this final #include as .ko bloating factor as it
>>> would be primary used in UML build, where we don't care, and for the
>>> target builds this could be easily compiled out.
>>
>> then you can't get the prebuilt kernel to be executed "in production"
>> and sanity check it still passes the sw tests.
>
>but really why you need to rerun those tests ?
>if you don't trust results from kunit.py UML run, then maybe

CI / distro / whatever built a x86-64 / ARM64 / whatever-!UML kernel.
User downloads *that* kernel. How can he sanity check the sw tests if
we make the tests to run strictly under UML?

>
>a) we should drop it from our build step
>b) change kunit config from UML to x64 or something
>c) notify kunit maintainers about problems/gaps with UML runs
>
>as I don't expect any differences between UML and 'production' build
>then I can see no point in running them twice or more

answered above.

Also, it doesn't seem this is being productive as you are convinced the
current state of test integration is completely broken and can't be
used. I disagree. And I see that the changes you are proposing would
bring other issues or are simply not worth it. I'd rather spend time
adding more tests with the current state of the integration and improve
the integration as needed.  So... I already sent v2 of this patch series
which also covers some of the things discussed and I'd rather not reply
to this v1 series anymore.

thanks
Lucas De Marchi

>
>thanks,
>Michal
>
>>
>> Lucas De Marchi
>>
>>>
>>> thanks,
>>> Michal
>>>
>>>>
>>>> Lucas De Marchi

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

end of thread, other threads:[~2023-04-03 13:02 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-21 22:05 [Intel-xe] [PATCH 0/7] Unit tests for rtp and GT wa/tuning Lucas De Marchi
2023-03-21 22:05 ` [Intel-xe] [PATCH 1/7] drm/xe: Add basic unit tests for rtp Lucas De Marchi
2023-03-27 17:56   ` Michał Winiarski
2023-03-31 13:43     ` Lucas De Marchi
2023-04-01  8:59       ` Lucas De Marchi
2023-04-01 18:54         ` Michał Winiarski
2023-04-02  1:24           ` Lucas De Marchi
2023-04-02 10:51             ` Michal Wajdeczko
2023-03-31 14:34     ` Lucas De Marchi
2023-04-01  8:54       ` Lucas De Marchi
2023-04-01 18:26         ` Michał Winiarski
2023-04-02  1:34           ` Lucas De Marchi
2023-04-02 11:17             ` Michal Wajdeczko
2023-04-02 21:54               ` Lucas De Marchi
2023-04-03  7:38                 ` Michal Wajdeczko
2023-04-03 13:02                   ` Lucas De Marchi
2023-03-21 22:05 ` [Intel-xe] [PATCH 2/7] drm/xe: Extract function to initialize xe->info Lucas De Marchi
2023-03-21 22:05 ` [Intel-xe] [PATCH 3/7] drm/xe: Move test infra out of xe_pci.[ch] Lucas De Marchi
2023-03-21 22:05 ` [Intel-xe] [PATCH 4/7] drm/xe: Use XE_KUNIT for symbol namespace Lucas De Marchi
2023-03-21 22:05 ` [Intel-xe] [PATCH 5/7] drm/xe: Generalize fake device creation Lucas De Marchi
2023-03-21 22:05 ` [Intel-xe] [PATCH 6/7] drm/xe/reg_sr: Save errors for kunit integration Lucas De Marchi
2023-03-27 18:29   ` Michał Winiarski
2023-03-31 14:43     ` Lucas De Marchi
2023-03-21 22:05 ` [Intel-xe] [PATCH 7/7] drm/xe: Add test for GT workarounds and tunings Lucas De Marchi
2023-03-21 22:08 ` [Intel-xe] ✓ CI.Patch_applied: success for Unit tests for rtp and GT wa/tuning Patchwork
2023-03-31 15:14   ` Lucas De Marchi
2023-04-03  6:08     ` Mauro Carvalho Chehab
2023-03-21 22:09 ` [Intel-xe] ✓ CI.KUnit: " Patchwork
2023-03-21 22:13 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-03-21 22:25 ` [Intel-xe] ○ CI.BAT: info " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).