All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof
@ 2023-11-22 14:38 Francois Dugast
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 01/14] drm/xe: Extend drm_xe_vm_bind_op Francois Dugast
                   ` (20 more replies)
  0 siblings, 21 replies; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast

The series "uAPI Alignment - take 2 v3" [1] has grown too much which makes
it difficult to review and to digest by UMDs. This new series is a third
break down, which cleans up the uAPI and prepares for future needs.

v2: Fix according to feedback from v1, rebase on drm-xe-next, add new fixes

[1] https://patchwork.freedesktop.org/series/126203/

Francois Dugast (3):
  drm/xe/uapi: Align on a common way to return arrays (memory regions)
  drm/xe/uapi: Align on a common way to return arrays (gt)
  drm/xe/uapi: Align on a common way to return arrays (engines)

José Roberto de Souza (1):
  drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof

Mauro Carvalho Chehab (1):
  drm/xe/uapi: Reject bo creation of unaligned size

Mika Kuoppala (1):
  drm/xe: Extend drm_xe_vm_bind_op

Rodrigo Vivi (8):
  drm/xe/uapi: Separate bo_create placement from flags
  drm/xe/uapi: Split xe_sync types from flags
  drm/xe/uapi: Kill tile_mask
  drm/xe/uapi: Crystal Reference Clock updates
  drm/xe/uapi: Remove bogus engine list from the wait_user_fence IOCTL
  drm/xe/uapi: Add Tile ID information to the GT info query
  drm/xe/uapi: Fix various struct padding for 64b alignment
  drm/xe/uapi: Move xe_exec after xe_exec_queue

 drivers/gpu/drm/xe/tests/xe_dma_buf.c   |   8 +-
 drivers/gpu/drm/xe/xe_bo.c              |  39 +++--
 drivers/gpu/drm/xe/xe_gt_clock.c        |   4 +-
 drivers/gpu/drm/xe/xe_gt_types.h        |   4 +-
 drivers/gpu/drm/xe/xe_query.c           |  78 +++++----
 drivers/gpu/drm/xe/xe_sync.c            |  23 +--
 drivers/gpu/drm/xe/xe_sync_types.h      |   1 +
 drivers/gpu/drm/xe/xe_vm.c              |  49 ++----
 drivers/gpu/drm/xe/xe_vm_types.h        |   2 -
 drivers/gpu/drm/xe/xe_wait_user_fence.c |  56 +-----
 include/uapi/drm/xe_drm.h               | 219 +++++++++++++-----------
 11 files changed, 224 insertions(+), 259 deletions(-)

-- 
2.34.1


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

* [Intel-xe] [PATCH v2 01/14] drm/xe: Extend drm_xe_vm_bind_op
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 02/14] drm/xe/uapi: Separate bo_create placement from flags Francois Dugast
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Lucas De Marchi, Rodrigo Vivi

From: Mika Kuoppala <mika.kuoppala@linux.intel.com>

The bind api is extensible but for a single bind op, there
is not a mechanism to extend. Add extensions field to
struct drm_xe_vm_bind_op.

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Francois Dugast <francois.dugast@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Dominik Grzegorzek <dominik.grzegorzek@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 include/uapi/drm/xe_drm.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 88f3aca02b08..b0d13bc6d9cf 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -614,6 +614,9 @@ struct drm_xe_vm_destroy {
 };
 
 struct drm_xe_vm_bind_op {
+	/** @extensions: Pointer to the first extension struct, if any */
+	__u64 extensions;
+
 	/**
 	 * @obj: GEM object to operate on, MBZ for MAP_USERPTR, MBZ for UNMAP
 	 */
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 02/14] drm/xe/uapi: Separate bo_create placement from flags
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 01/14] drm/xe: Extend drm_xe_vm_bind_op Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-29 19:36   ` Welty, Brian
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof Francois Dugast
                   ` (18 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Rodrigo Vivi

From: Rodrigo Vivi <rodrigo.vivi@intel.com>

Although the flags are about the creation, the memory placement
of the BO deserves a proper dedicated field in the uapi.

Besides getting more clear, it also allows to remove the
'magic' shifts from the flags that was a concern during the
uapi reviews.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_bo.c | 15 +++++++--------
 include/uapi/drm/xe_drm.h  | 12 ++++++------
 2 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index 4305f5cbc2ab..bbce4cd80f7e 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -1799,19 +1799,18 @@ int xe_gem_create_ioctl(struct drm_device *dev, void *data,
 	u32 handle;
 	int err;
 
-	if (XE_IOCTL_DBG(xe, args->extensions) || XE_IOCTL_DBG(xe, args->pad) ||
+	if (XE_IOCTL_DBG(xe, args->extensions) ||
 	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
 		return -EINVAL;
 
+	/* at least one valid memory placement must be specified */
+	if (XE_IOCTL_DBG(xe, !(args->placement & xe->info.mem_region_mask)))
+		return -EINVAL;
+
 	if (XE_IOCTL_DBG(xe, args->flags &
 			 ~(DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING |
 			   DRM_XE_GEM_CREATE_FLAG_SCANOUT |
-			   DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM |
-			   xe->info.mem_region_mask)))
-		return -EINVAL;
-
-	/* at least one memory type must be specified */
-	if (XE_IOCTL_DBG(xe, !(args->flags & xe->info.mem_region_mask)))
+			   DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM)))
 		return -EINVAL;
 
 	if (XE_IOCTL_DBG(xe, args->handle))
@@ -1832,7 +1831,7 @@ int xe_gem_create_ioctl(struct drm_device *dev, void *data,
 	if (args->flags & DRM_XE_GEM_CREATE_FLAG_SCANOUT)
 		bo_flags |= XE_BO_SCANOUT_BIT;
 
-	bo_flags |= args->flags << (ffs(XE_BO_CREATE_SYSTEM_BIT) - 1);
+	bo_flags |= args->placement << (ffs(XE_BO_CREATE_SYSTEM_BIT) - 1);
 
 	if (args->flags & DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM) {
 		if (XE_IOCTL_DBG(xe, !(bo_flags & XE_BO_CREATE_VRAM_MASK)))
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index b0d13bc6d9cf..1bdd20d3c4a8 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -500,8 +500,11 @@ struct drm_xe_gem_create {
 	 */
 	__u64 size;
 
-#define DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING		(0x1 << 24)
-#define DRM_XE_GEM_CREATE_FLAG_SCANOUT			(0x1 << 25)
+	/** @placement: A mask of memory instances of where BO can be placed. */
+	__u32 placement;
+
+#define DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING		(1 << 0)
+#define DRM_XE_GEM_CREATE_FLAG_SCANOUT			(1 << 1)
 /*
  * When using VRAM as a possible placement, ensure that the corresponding VRAM
  * allocation will always use the CPU accessible part of VRAM. This is important
@@ -517,7 +520,7 @@ struct drm_xe_gem_create {
  * display surfaces, therefore the kernel requires setting this flag for such
  * objects, otherwise an error is thrown on small-bar systems.
  */
-#define DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM	(0x1 << 26)
+#define DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM	(1 << 2)
 	/**
 	 * @flags: Flags, currently a mask of memory instances of where BO can
 	 * be placed
@@ -541,9 +544,6 @@ struct drm_xe_gem_create {
 	 */
 	__u32 handle;
 
-	/** @pad: MBZ */
-	__u32 pad;
-
 	/** @reserved: Reserved */
 	__u64 reserved[2];
 };
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 01/14] drm/xe: Extend drm_xe_vm_bind_op Francois Dugast
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 02/14] drm/xe/uapi: Separate bo_create placement from flags Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-28 21:17   ` Matthew Brost
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 04/14] drm/xe/uapi: Reject bo creation of unaligned size Francois Dugast
                   ` (17 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Rodrigo Vivi

From: José Roberto de Souza <jose.souza@intel.com>

We have at least 2 future features(OA and future media engines
capabilities) that will require Xe to provide more information about
engines to UMDs.

But this information should not just be added to
drm_xe_engine_class_instance for a couple of reasons:
- drm_xe_engine_class_instance is used as input to other structs/uAPIs
and those uAPIs don't care about any of these future new engine fields
- those new fields are useless information after initialization for
some UMDs, so it should not need to carry that around

So here my proposal is to make DRM_XE_DEVICE_QUERY_ENGINES return an
array of drm_xe_query_engine_info that contain
drm_xe_engine_class_instance and 3 u64s to be used for future features.

Reference OA:
https://patchwork.freedesktop.org/patch/558362/?series=121084&rev=6

Cc: Francois Dugast <francois.dugast@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
[Rodrigo Rebased]
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 drivers/gpu/drm/xe/xe_query.c | 15 ++++++++-------
 include/uapi/drm/xe_drm.h     | 24 +++++++++++++++++++++++-
 2 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index 61a7d92b7e88..0cbfeaeb1330 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -53,7 +53,7 @@ static size_t calc_hw_engine_info_size(struct xe_device *xe)
 			i++;
 		}
 
-	return i * sizeof(struct drm_xe_engine_class_instance);
+	return i * sizeof(struct drm_xe_query_engine_info);
 }
 
 typedef u64 (*__ktime_func_t)(void);
@@ -186,9 +186,9 @@ static int query_engines(struct xe_device *xe,
 			 struct drm_xe_device_query *query)
 {
 	size_t size = calc_hw_engine_info_size(xe);
-	struct drm_xe_engine_class_instance __user *query_ptr =
+	struct drm_xe_query_engine_info __user *query_ptr =
 		u64_to_user_ptr(query->data);
-	struct drm_xe_engine_class_instance *hw_engine_info;
+	struct drm_xe_query_engine_info *hw_engine_info;
 	struct xe_hw_engine *hwe;
 	enum xe_hw_engine_id id;
 	struct xe_gt *gt;
@@ -211,12 +211,13 @@ static int query_engines(struct xe_device *xe,
 			if (xe_hw_engine_is_reserved(hwe))
 				continue;
 
-			hw_engine_info[i].engine_class =
+			hw_engine_info[i].instance.engine_class =
 				xe_to_user_engine_class[hwe->class];
-			hw_engine_info[i].engine_instance =
+			hw_engine_info[i].instance.engine_instance =
 				hwe->logical_instance;
-			hw_engine_info[i].gt_id = gt->info.id;
-			hw_engine_info[i].pad = 0;
+			hw_engine_info[i].instance.gt_id = gt->info.id;
+			hw_engine_info[i].instance.pad = 0;
+			memset(hw_engine_info->reserved, 0, sizeof(hw_engine_info->reserved));
 
 			i++;
 		}
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 1bdd20d3c4a8..c80e03b61489 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -124,7 +124,14 @@ struct xe_user_extension {
 #define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY	DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property)
 #define DRM_IOCTL_XE_WAIT_USER_FENCE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
 
-/** struct drm_xe_engine_class_instance - instance of an engine class */
+/**
+ * struct drm_xe_engine_class_instance - instance of an engine class
+ *
+ * It is returned as part of the @drm_xe_query_engine_info, but it also is
+ * used as the input of engine selection for both @drm_xe_exec_queue_create
+ * and @drm_xe_query_engine_cycles
+ *
+ */
 struct drm_xe_engine_class_instance {
 #define DRM_XE_ENGINE_CLASS_RENDER		0
 #define DRM_XE_ENGINE_CLASS_COPY		1
@@ -145,6 +152,21 @@ struct drm_xe_engine_class_instance {
 	__u16 pad;
 };
 
+/**
+ * struct drm_xe_query_engine_info - describe hardware engine
+ *
+ * If a query is made with a struct @drm_xe_device_query where .query
+ * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
+ * struct @drm_xe_query_engine_info in .data.
+ */
+struct drm_xe_query_engine_info {
+	/** @instance: The @drm_xe_engine_class_instance */
+	struct drm_xe_engine_class_instance instance;
+
+	/** @reserved: Reserved */
+	__u64 reserved[5];
+};
+
 /**
  * enum drm_xe_memory_class - Supported memory classes.
  */
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 04/14] drm/xe/uapi: Reject bo creation of unaligned size
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (2 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-24 18:15   ` Souza, Jose
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions) Francois Dugast
                   ` (16 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast

From: Mauro Carvalho Chehab <mauro.chehab@linux.intel.com>

For xe bo creation we request passing size which matches system or
vram minimum page alignment. This way we want to ensure userspace
is aware of region constraints and not aligned allocations will be
rejected returning EINVAL.

v2:
- Rebase, Update uAPI documentation. (Thomas)
v3:
- Adjust the dma-buf kunit test accordingly. (Thomas)
v4:
- Fixed rebase conflicts and updated commit message. (Francois)

Signed-off-by: Mauro Carvalho Chehab <mauro.chehab@linux.intel.com>
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 drivers/gpu/drm/xe/tests/xe_dma_buf.c |  8 +++++++-
 drivers/gpu/drm/xe/xe_bo.c            | 24 ++++++++++++++++--------
 include/uapi/drm/xe_drm.h             | 17 +++++++++--------
 3 files changed, 32 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/xe/tests/xe_dma_buf.c b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
index 18c00bc03024..a6756b554069 100644
--- a/drivers/gpu/drm/xe/tests/xe_dma_buf.c
+++ b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
@@ -109,14 +109,20 @@ static void xe_test_dmabuf_import_same_driver(struct xe_device *xe)
 	struct drm_gem_object *import;
 	struct dma_buf *dmabuf;
 	struct xe_bo *bo;
+	size_t size;
 
 	/* No VRAM on this device? */
 	if (!ttm_manager_type(&xe->ttm, XE_PL_VRAM0) &&
 	    (params->mem_mask & XE_BO_CREATE_VRAM0_BIT))
 		return;
 
+	size = PAGE_SIZE;
+	if ((params->mem_mask & XE_BO_CREATE_VRAM0_BIT) &&
+	    xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K)
+		size = SZ_64K;
+
 	kunit_info(test, "running %s\n", __func__);
-	bo = xe_bo_create(xe, NULL, NULL, PAGE_SIZE, ttm_bo_type_device,
+	bo = xe_bo_create(xe, NULL, NULL, size, ttm_bo_type_device,
 			  XE_BO_CREATE_USER_BIT | params->mem_mask);
 	if (IS_ERR(bo)) {
 		KUNIT_FAIL(test, "xe_bo_create() failed with err=%ld\n",
diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index bbce4cd80f7e..4c7c37ca8c50 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -1202,6 +1202,7 @@ struct xe_bo *__xe_bo_create_locked(struct xe_device *xe, struct xe_bo *bo,
 	};
 	struct ttm_placement *placement;
 	uint32_t alignment;
+	size_t aligned_size;
 	int err;
 
 	/* Only kernel objects should set GT */
@@ -1212,23 +1213,30 @@ struct xe_bo *__xe_bo_create_locked(struct xe_device *xe, struct xe_bo *bo,
 		return ERR_PTR(-EINVAL);
 	}
 
-	if (!bo) {
-		bo = xe_bo_alloc();
-		if (IS_ERR(bo))
-			return bo;
-	}
-
 	if (flags & (XE_BO_CREATE_VRAM_MASK | XE_BO_CREATE_STOLEN_BIT) &&
 	    !(flags & XE_BO_CREATE_IGNORE_MIN_PAGE_SIZE_BIT) &&
 	    xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K) {
-		size = ALIGN(size, SZ_64K);
+		aligned_size = ALIGN(size, SZ_64K);
+		if (type != ttm_bo_type_device)
+			size = ALIGN(size, SZ_64K);
 		flags |= XE_BO_INTERNAL_64K;
 		alignment = SZ_64K >> PAGE_SHIFT;
+
 	} else {
-		size = ALIGN(size, PAGE_SIZE);
+		aligned_size = ALIGN(size, SZ_4K);
+		flags &= ~XE_BO_INTERNAL_64K;
 		alignment = SZ_4K >> PAGE_SHIFT;
 	}
 
+	if (type == ttm_bo_type_device && aligned_size != size)
+		return ERR_PTR(-EINVAL);
+
+	if (!bo) {
+		bo = xe_bo_alloc();
+		if (IS_ERR(bo))
+			return bo;
+	}
+
 	bo->tile = tile;
 	bo->size = size;
 	bo->flags = flags;
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index c80e03b61489..da10d946930b 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -206,11 +206,13 @@ struct drm_xe_query_mem_region {
 	 *
 	 * When the kernel allocates memory for this region, the
 	 * underlying pages will be at least @min_page_size in size.
-	 *
-	 * Important note: When userspace allocates a GTT address which
-	 * can point to memory allocated from this region, it must also
-	 * respect this minimum alignment. This is enforced by the
-	 * kernel.
+	 * Buffer objects with an allowable placement in this region must be
+	 * created with a size aligned to this value.
+	 * GPU virtual address mappings of (parts of) buffer objects that
+	 * may be placed in this region must also have their GPU virtual
+	 * address and range aligned to this value.
+	 * Affected IOCTLS will return %-EINVAL if alignment restrictions are
+	 * not met.
 	 */
 	__u32 min_page_size;
 	/**
@@ -516,9 +518,8 @@ struct drm_xe_gem_create {
 	__u64 extensions;
 
 	/**
-	 * @size: Requested size for the object
-	 *
-	 * The (page-aligned) allocated size for the object will be returned.
+	 * @size: Size of the object to be created, must match region
+	 * (system or vram) minimum alignment (&min_page_size).
 	 */
 	__u64 size;
 
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (3 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 04/14] drm/xe/uapi: Reject bo creation of unaligned size Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-24 18:19   ` Souza, Jose
  2023-11-30 20:53   ` Dixit, Ashutosh
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 06/14] drm/xe/uapi: Align on a common way to return arrays (gt) Francois Dugast
                   ` (15 subsequent siblings)
  20 siblings, 2 replies; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast

The uAPI provides queries which return arrays of elements. As of now
the format used in the struct is different depending on which element
is queried. Fix this for memory regions by applying the pattern below:

    struct drm_xe_query_Xs {
       __u32 num_Xs;
       struct drm_xe_X Xs[];
       ...
    }

This removes "query" in the name of struct drm_xe_query_mem_region
as it is not returned from the query IOCTL. There is no functional
change.

v2: Only rename drm_xe_query_mem_region to drm_xe_mem_region
    (José Roberto de Souza)

Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 drivers/gpu/drm/xe/xe_query.c | 36 ++++++++++++++++++-----------------
 include/uapi/drm/xe_drm.h     | 12 ++++++------
 2 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index 0cbfeaeb1330..f321ed4d3b0b 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -240,11 +240,11 @@ static size_t calc_mem_regions_size(struct xe_device *xe)
 		if (ttm_manager_type(&xe->ttm, i))
 			num_managers++;
 
-	return offsetof(struct drm_xe_query_mem_regions, regions[num_managers]);
+	return offsetof(struct drm_xe_query_mem_regions, mem_regions[num_managers]);
 }
 
 static int query_mem_regions(struct xe_device *xe,
-			     struct drm_xe_device_query *query)
+			    struct drm_xe_device_query *query)
 {
 	size_t size = calc_mem_regions_size(xe);
 	struct drm_xe_query_mem_regions *usage;
@@ -265,36 +265,38 @@ static int query_mem_regions(struct xe_device *xe,
 		return -ENOMEM;
 
 	man = ttm_manager_type(&xe->ttm, XE_PL_TT);
-	usage->regions[0].mem_class = DRM_XE_MEM_REGION_CLASS_SYSMEM;
-	usage->regions[0].instance = 0;
-	usage->regions[0].min_page_size = PAGE_SIZE;
-	usage->regions[0].total_size = man->size << PAGE_SHIFT;
+	usage->mem_regions[0].mem_class = DRM_XE_MEM_REGION_CLASS_SYSMEM;
+	usage->mem_regions[0].instance = 0;
+	usage->mem_regions[0].min_page_size = PAGE_SIZE;
+	usage->mem_regions[0].total_size = man->size << PAGE_SHIFT;
 	if (perfmon_capable())
-		usage->regions[0].used = ttm_resource_manager_usage(man);
-	usage->num_regions = 1;
+		usage->mem_regions[0].used = ttm_resource_manager_usage(man);
+	usage->num_mem_regions = 1;
 
 	for (i = XE_PL_VRAM0; i <= XE_PL_VRAM1; ++i) {
 		man = ttm_manager_type(&xe->ttm, i);
 		if (man) {
-			usage->regions[usage->num_regions].mem_class =
+			usage->mem_regions[usage->num_mem_regions].mem_class =
 				DRM_XE_MEM_REGION_CLASS_VRAM;
-			usage->regions[usage->num_regions].instance =
-				usage->num_regions;
-			usage->regions[usage->num_regions].min_page_size =
+			usage->mem_regions[usage->num_mem_regions].instance =
+				usage->num_mem_regions;
+			usage->mem_regions[usage->num_mem_regions].min_page_size =
 				xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K ?
 				SZ_64K : PAGE_SIZE;
-			usage->regions[usage->num_regions].total_size =
+			usage->mem_regions[usage->num_mem_regions].total_size =
 				man->size;
 
 			if (perfmon_capable()) {
 				xe_ttm_vram_get_used(man,
-						     &usage->regions[usage->num_regions].used,
-						     &usage->regions[usage->num_regions].cpu_visible_used);
+						     &usage->mem_regions
+						     [usage->num_mem_regions].used,
+						     &usage->mem_regions
+						     [usage->num_mem_regions].cpu_visible_used);
 			}
 
-			usage->regions[usage->num_regions].cpu_visible_size =
+			usage->mem_regions[usage->num_mem_regions].cpu_visible_size =
 				xe_ttm_vram_get_cpu_visible_size(man);
-			usage->num_regions++;
+			usage->num_mem_regions++;
 		}
 	}
 
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index da10d946930b..a9bbdf141fe2 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -182,10 +182,10 @@ enum drm_xe_memory_class {
 };
 
 /**
- * struct drm_xe_query_mem_region - Describes some region as known to
+ * struct drm_xe_mem_region - Describes some region as known to
  * the driver.
  */
-struct drm_xe_query_mem_region {
+struct drm_xe_mem_region {
 	/**
 	 * @mem_class: The memory class describing this region.
 	 *
@@ -322,12 +322,12 @@ struct drm_xe_query_engine_cycles {
  * struct drm_xe_query_mem_regions in .data.
  */
 struct drm_xe_query_mem_regions {
-	/** @num_regions: number of memory regions returned in @regions */
-	__u32 num_regions;
+	/** @num_mem_regions: number of memory regions returned in @mem_regions */
+	__u32 num_mem_regions;
 	/** @pad: MBZ */
 	__u32 pad;
-	/** @regions: The returned regions for this device */
-	struct drm_xe_query_mem_region regions[];
+	/** @mem_regions: The returned memory regions for this device */
+	struct drm_xe_mem_region mem_regions[];
 };
 
 /**
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 06/14] drm/xe/uapi: Align on a common way to return arrays (gt)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (4 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions) Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-28 20:51   ` Rodrigo Vivi
  2023-11-29 18:30   ` Matt Roper
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 07/14] drm/xe/uapi: Align on a common way to return arrays (engines) Francois Dugast
                   ` (14 subsequent siblings)
  20 siblings, 2 replies; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast

The uAPI provides queries which return arrays of elements. As of now
the format used in the struct is different depending on which element
is queried. However, aligning on the new common pattern:

    struct drm_xe_query_Xs {
       __u32 num_Xs;
       struct drm_xe_X Xs[];
       ...
    }

... would mean bringing back the name "gts" which is avoided per
commit ("drm/xe/uapi: Rename gts to gt_list") so make an exception
for gt and leave gt_list. Also, this change removes "query" in the
name of struct drm_xe_query_gt as it is not returned from the query
IOCTL. There is no functional change.

v2: Leave gt_list (Matt Roper)

Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 drivers/gpu/drm/xe/xe_query.c | 2 +-
 include/uapi/drm/xe_drm.h     | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index f321ed4d3b0b..28ea6dbf1cf9 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -354,7 +354,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
 {
 	struct xe_gt *gt;
 	size_t size = sizeof(struct drm_xe_query_gt_list) +
-		xe->info.gt_count * sizeof(struct drm_xe_query_gt);
+		xe->info.gt_count * sizeof(struct drm_xe_gt);
 	struct drm_xe_query_gt_list __user *query_ptr =
 		u64_to_user_ptr(query->data);
 	struct drm_xe_query_gt_list *gt_list;
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index a9bbdf141fe2..e38e7b701edf 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -356,14 +356,14 @@ struct drm_xe_query_config {
 };
 
 /**
- * struct drm_xe_query_gt - describe an individual GT.
+ * struct drm_xe_gt - describe an individual GT.
  *
  * To be used with drm_xe_query_gt_list, which will return a list with all the
  * existing GT individual descriptions.
  * Graphics Technology (GT) is a subset of a GPU/tile that is responsible for
  * implementing graphics and/or media operations.
  */
-struct drm_xe_query_gt {
+struct drm_xe_gt {
 #define DRM_XE_QUERY_GT_TYPE_MAIN		0
 #define DRM_XE_QUERY_GT_TYPE_MEDIA		1
 	/** @type: GT type: Main or Media */
@@ -403,7 +403,7 @@ struct drm_xe_query_gt_list {
 	/** @pad: MBZ */
 	__u32 pad;
 	/** @gt_list: The GT list returned for this device */
-	struct drm_xe_query_gt gt_list[];
+	struct drm_xe_gt gt_list[];
 };
 
 /**
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 07/14] drm/xe/uapi: Align on a common way to return arrays (engines)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (5 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 06/14] drm/xe/uapi: Align on a common way to return arrays (gt) Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-28 20:56   ` Rodrigo Vivi
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 08/14] drm/xe/uapi: Split xe_sync types from flags Francois Dugast
                   ` (13 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast

The uAPI provides queries which return arrays of elements. As of now
the format used in the struct is different depending on which element
is queried. Fix this for engines by applying the pattern below:

        struct drm_xe_query_Xs {
           __u32 num_Xs;
           struct drm_xe_X Xs[];
           ...
        }

Instead of directly returning an array of struct
drm_xe_query_engine_info, a new struct drm_xe_query_engines is
introduced. It contains itself an array of struct drm_xe_engine
which holds the information about each engine.

v2: Use plural for struct drm_xe_query_engines as multiple engines
    are returned (José Roberto de Souza)

Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 drivers/gpu/drm/xe/xe_query.c | 31 ++++++++------
 include/uapi/drm/xe_drm.h     | 78 +++++++++++++++++++++--------------
 2 files changed, 65 insertions(+), 44 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index 28ea6dbf1cf9..8bf0fe6b09e0 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -53,7 +53,8 @@ static size_t calc_hw_engine_info_size(struct xe_device *xe)
 			i++;
 		}
 
-	return i * sizeof(struct drm_xe_query_engine_info);
+	return sizeof(struct drm_xe_query_engines) +
+		i * sizeof(struct drm_xe_engine);
 }
 
 typedef u64 (*__ktime_func_t)(void);
@@ -186,9 +187,9 @@ static int query_engines(struct xe_device *xe,
 			 struct drm_xe_device_query *query)
 {
 	size_t size = calc_hw_engine_info_size(xe);
-	struct drm_xe_query_engine_info __user *query_ptr =
+	struct drm_xe_query_engines __user *query_ptr =
 		u64_to_user_ptr(query->data);
-	struct drm_xe_query_engine_info *hw_engine_info;
+	struct drm_xe_query_engines *engines;
 	struct xe_hw_engine *hwe;
 	enum xe_hw_engine_id id;
 	struct xe_gt *gt;
@@ -202,8 +203,8 @@ static int query_engines(struct xe_device *xe,
 		return -EINVAL;
 	}
 
-	hw_engine_info = kmalloc(size, GFP_KERNEL);
-	if (!hw_engine_info)
+	engines = kmalloc(size, GFP_KERNEL);
+	if (!engines)
 		return -ENOMEM;
 
 	for_each_gt(gt, xe, gt_id)
@@ -211,22 +212,26 @@ static int query_engines(struct xe_device *xe,
 			if (xe_hw_engine_is_reserved(hwe))
 				continue;
 
-			hw_engine_info[i].instance.engine_class =
+			engines->engines[i].instance.engine_class =
 				xe_to_user_engine_class[hwe->class];
-			hw_engine_info[i].instance.engine_instance =
+			engines->engines[i].instance.engine_instance =
 				hwe->logical_instance;
-			hw_engine_info[i].instance.gt_id = gt->info.id;
-			hw_engine_info[i].instance.pad = 0;
-			memset(hw_engine_info->reserved, 0, sizeof(hw_engine_info->reserved));
+			engines->engines[i].instance.gt_id = gt->info.id;
+			engines->engines[i].instance.pad = 0;
+			memset(engines->engines[i].reserved, 0,
+			       sizeof(engines->engines[i].reserved));
 
 			i++;
 		}
 
-	if (copy_to_user(query_ptr, hw_engine_info, size)) {
-		kfree(hw_engine_info);
+	engines->pad = 0;
+	engines->num_engines = i;
+
+	if (copy_to_user(query_ptr, engines, size)) {
+		kfree(engines);
 		return -EFAULT;
 	}
-	kfree(hw_engine_info);
+	kfree(engines);
 
 	return 0;
 }
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index e38e7b701edf..fe911728fd97 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -127,9 +127,9 @@ struct xe_user_extension {
 /**
  * struct drm_xe_engine_class_instance - instance of an engine class
  *
- * It is returned as part of the @drm_xe_query_engine_info, but it also is
- * used as the input of engine selection for both @drm_xe_exec_queue_create
- * and @drm_xe_query_engine_cycles
+ * It is returned as part of the @drm_xe_engine, but it also is used as
+ * the input of engine selection for both @drm_xe_exec_queue_create and
+ * @drm_xe_query_engine_cycles
  *
  */
 struct drm_xe_engine_class_instance {
@@ -153,13 +153,9 @@ struct drm_xe_engine_class_instance {
 };
 
 /**
- * struct drm_xe_query_engine_info - describe hardware engine
- *
- * If a query is made with a struct @drm_xe_device_query where .query
- * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
- * struct @drm_xe_query_engine_info in .data.
+ * struct drm_xe_engine - describe hardware engine
  */
-struct drm_xe_query_engine_info {
+struct drm_xe_engine {
 	/** @instance: The @drm_xe_engine_class_instance */
 	struct drm_xe_engine_class_instance instance;
 
@@ -167,6 +163,22 @@ struct drm_xe_query_engine_info {
 	__u64 reserved[5];
 };
 
+/**
+ * struct drm_xe_query_engines - describe engines
+ *
+ * If a query is made with a struct @drm_xe_device_query where .query
+ * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
+ * struct @drm_xe_query_engines in .data.
+ */
+struct drm_xe_query_engines {
+	/** @num_engines: number of engines returned in @engines */
+	__u32 num_engines;
+	/** @pad: MBZ */
+	__u32 pad;
+	/** @engines: The returned engines for this device */
+	struct drm_xe_engine engines[];
+};
+
 /**
  * enum drm_xe_memory_class - Supported memory classes.
  */
@@ -466,28 +478,32 @@ struct drm_xe_query_topology_mask {
  *
  * .. code-block:: C
  *
- *	struct drm_xe_engine_class_instance *hwe;
- *	struct drm_xe_device_query query = {
- *		.extensions = 0,
- *		.query = DRM_XE_DEVICE_QUERY_ENGINES,
- *		.size = 0,
- *		.data = 0,
- *	};
- *	ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query);
- *	hwe = malloc(query.size);
- *	query.data = (uintptr_t)hwe;
- *	ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query);
- *	int num_engines = query.size / sizeof(*hwe);
- *	for (int i = 0; i < num_engines; i++) {
- *		printf("Engine %d: %s\n", i,
- *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_RENDER ? "RENDER":
- *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_COPY ? "COPY":
- *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_VIDEO_DECODE ? "VIDEO_DECODE":
- *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE ? "VIDEO_ENHANCE":
- *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_COMPUTE ? "COMPUTE":
- *			"UNKNOWN");
- *	}
- *	free(hwe);
+ *     struct drm_xe_query_engines *engines;
+ *     struct drm_xe_device_query query = {
+ *         .extensions = 0,
+ *         .query = DRM_XE_DEVICE_QUERY_ENGINES,
+ *         .size = 0,
+ *         .data = 0,
+ *     };
+ *     ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query);
+ *     engines = malloc(query.size);
+ *     query.data = (uintptr_t)engines;
+ *     ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query);
+ *     for (int i = 0; i < engines->num_engines; i++) {
+ *         printf("Engine %d: %s\n", i,
+ *             engines->engines[i].instance.engine_class ==
+ *                 DRM_XE_ENGINE_CLASS_RENDER ? "RENDER":
+ *             engines->engines[i].instance.engine_class ==
+ *                 DRM_XE_ENGINE_CLASS_COPY ? "COPY":
+ *             engines->engines[i].instance.engine_class ==
+ *                 DRM_XE_ENGINE_CLASS_VIDEO_DECODE ? "VIDEO_DECODE":
+ *             engines->engines[i].instance.engine_class ==
+ *                 DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE ? "VIDEO_ENHANCE":
+ *             engines->engines[i].instance.engine_class ==
+ *                 DRM_XE_ENGINE_CLASS_COMPUTE ? "COMPUTE":
+ *             "UNKNOWN");
+ *     }
+ *     free(engines);
  */
 struct drm_xe_device_query {
 	/** @extensions: Pointer to the first extension struct, if any */
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 08/14] drm/xe/uapi: Split xe_sync types from flags
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (6 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 07/14] drm/xe/uapi: Align on a common way to return arrays (engines) Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-28 21:19   ` Matthew Brost
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 09/14] drm/xe/uapi: Kill tile_mask Francois Dugast
                   ` (12 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Rodrigo Vivi

From: Rodrigo Vivi <rodrigo.vivi@intel.com>

Let's continue on the uapi clean-up with more splits
with stuff into their own exclusive fields instead of
reusing stuff.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 drivers/gpu/drm/xe/xe_sync.c       | 23 +++++++----------------
 drivers/gpu/drm/xe/xe_sync_types.h |  1 +
 include/uapi/drm/xe_drm.h          | 16 ++++++++--------
 3 files changed, 16 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c
index eafe53c2f55d..883987b27c4e 100644
--- a/drivers/gpu/drm/xe/xe_sync.c
+++ b/drivers/gpu/drm/xe/xe_sync.c
@@ -17,8 +17,6 @@
 #include "xe_macros.h"
 #include "xe_sched_job_types.h"
 
-#define SYNC_FLAGS_TYPE_MASK 0x3
-
 struct user_fence {
 	struct xe_device *xe;
 	struct kref refcount;
@@ -109,15 +107,13 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
 	if (copy_from_user(&sync_in, sync_user, sizeof(*sync_user)))
 		return -EFAULT;
 
-	if (XE_IOCTL_DBG(xe, sync_in.flags &
-			 ~(SYNC_FLAGS_TYPE_MASK | DRM_XE_SYNC_FLAG_SIGNAL)) ||
-	    XE_IOCTL_DBG(xe, sync_in.pad) ||
+	if (XE_IOCTL_DBG(xe, sync_in.flags & ~DRM_XE_SYNC_FLAG_SIGNAL) ||
 	    XE_IOCTL_DBG(xe, sync_in.reserved[0] || sync_in.reserved[1]))
 		return -EINVAL;
 
 	signal = sync_in.flags & DRM_XE_SYNC_FLAG_SIGNAL;
-	switch (sync_in.flags & SYNC_FLAGS_TYPE_MASK) {
-	case DRM_XE_SYNC_FLAG_SYNCOBJ:
+	switch (sync_in.type) {
+	case DRM_XE_SYNC_TYPE_SYNCOBJ:
 		if (XE_IOCTL_DBG(xe, no_dma_fences && signal))
 			return -EOPNOTSUPP;
 
@@ -135,7 +131,7 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
 		}
 		break;
 
-	case DRM_XE_SYNC_FLAG_TIMELINE_SYNCOBJ:
+	case DRM_XE_SYNC_TYPE_TIMELINE_SYNCOBJ:
 		if (XE_IOCTL_DBG(xe, no_dma_fences && signal))
 			return -EOPNOTSUPP;
 
@@ -165,12 +161,7 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
 		}
 		break;
 
-	case DRM_XE_SYNC_FLAG_DMA_BUF:
-		if (XE_IOCTL_DBG(xe, "TODO"))
-			return -EINVAL;
-		break;
-
-	case DRM_XE_SYNC_FLAG_USER_FENCE:
+	case DRM_XE_SYNC_TYPE_USER_FENCE:
 		if (XE_IOCTL_DBG(xe, !signal))
 			return -EOPNOTSUPP;
 
@@ -192,6 +183,7 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
 		return -EINVAL;
 	}
 
+	sync->type = sync_in.type;
 	sync->flags = sync_in.flags;
 	sync->timeline_value = sync_in.timeline_value;
 
@@ -252,8 +244,7 @@ void xe_sync_entry_signal(struct xe_sync_entry *sync, struct xe_sched_job *job,
 			user_fence_put(sync->ufence);
 			dma_fence_put(fence);
 		}
-	} else if ((sync->flags & SYNC_FLAGS_TYPE_MASK) ==
-		   DRM_XE_SYNC_FLAG_USER_FENCE) {
+	} else if (sync->type == DRM_XE_SYNC_TYPE_USER_FENCE) {
 		job->user_fence.used = true;
 		job->user_fence.addr = sync->addr;
 		job->user_fence.value = sync->timeline_value;
diff --git a/drivers/gpu/drm/xe/xe_sync_types.h b/drivers/gpu/drm/xe/xe_sync_types.h
index 24fccc26cb53..852db5e7884f 100644
--- a/drivers/gpu/drm/xe/xe_sync_types.h
+++ b/drivers/gpu/drm/xe/xe_sync_types.h
@@ -21,6 +21,7 @@ struct xe_sync_entry {
 	struct user_fence *ufence;
 	u64 addr;
 	u64 timeline_value;
+	u32 type;
 	u32 flags;
 };
 
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index fe911728fd97..f2bdc6e323e4 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -880,16 +880,16 @@ struct drm_xe_sync {
 	/** @extensions: Pointer to the first extension struct, if any */
 	__u64 extensions;
 
-#define DRM_XE_SYNC_FLAG_SYNCOBJ		0x0
-#define DRM_XE_SYNC_FLAG_TIMELINE_SYNCOBJ	0x1
-#define DRM_XE_SYNC_FLAG_DMA_BUF		0x2
-#define DRM_XE_SYNC_FLAG_USER_FENCE		0x3
-#define DRM_XE_SYNC_FLAG_SIGNAL		0x10
+#define DRM_XE_SYNC_TYPE_SYNCOBJ		0x0
+#define DRM_XE_SYNC_TYPE_TIMELINE_SYNCOBJ	0x1
+#define DRM_XE_SYNC_TYPE_USER_FENCE		0x2
+	/** @type: Type of the this sync object */
+	__u32 type;
+
+#define DRM_XE_SYNC_FLAG_SIGNAL	(1 << 0)
+	/** @flags: Sync Flags */
 	__u32 flags;
 
-	/** @pad: MBZ */
-	__u32 pad;
-
 	union {
 		__u32 handle;
 
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 09/14] drm/xe/uapi: Kill tile_mask
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (7 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 08/14] drm/xe/uapi: Split xe_sync types from flags Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-29  9:07   ` Matthew Brost
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 10/14] drm/xe/uapi: Crystal Reference Clock updates Francois Dugast
                   ` (11 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Rodrigo Vivi

From: Rodrigo Vivi <rodrigo.vivi@intel.com>

It is currently unused, so by the rules it cannot go upstream.
Also there was the desire to convert that to align with the
engine_class_instance selection, but the consensus on that one
is to remain with the global gt_id. So we are keeping the gt_id
there, not converting to a generic sched_group and also killing
this tile_mask and only using the default behavior of 0 that is
to create a mapping / page_table entry on every tile, similar
to what i915.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 drivers/gpu/drm/xe/xe_vm.c       | 41 ++++++++------------------------
 drivers/gpu/drm/xe/xe_vm_types.h |  2 --
 include/uapi/drm/xe_drm.h        |  8 +------
 3 files changed, 11 insertions(+), 40 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index b39c6f43f01f..ccd2821e61f8 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -863,8 +863,7 @@ static struct xe_vma *xe_vma_create(struct xe_vm *vm,
 				    u64 bo_offset_or_userptr,
 				    u64 start, u64 end,
 				    bool read_only,
-				    bool is_null,
-				    u8 tile_mask)
+				    bool is_null)
 {
 	struct xe_vma *vma;
 	struct xe_tile *tile;
@@ -896,12 +895,8 @@ static struct xe_vma *xe_vma_create(struct xe_vm *vm,
 	if (is_null)
 		vma->gpuva.flags |= DRM_GPUVA_SPARSE;
 
-	if (tile_mask) {
-		vma->tile_mask = tile_mask;
-	} else {
-		for_each_tile(tile, vm->xe, id)
-			vma->tile_mask |= 0x1 << id;
-	}
+	for_each_tile(tile, vm->xe, id)
+		vma->tile_mask |= 0x1 << id;
 
 	if (GRAPHICS_VER(vm->xe) >= 20 || vm->xe->info.platform == XE_PVC)
 		vma->gpuva.flags |= XE_VMA_ATOMIC_PTE_BIT;
@@ -2167,7 +2162,7 @@ static void print_op(struct xe_device *xe, struct drm_gpuva_op *op)
 static struct drm_gpuva_ops *
 vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_bo *bo,
 			 u64 bo_offset_or_userptr, u64 addr, u64 range,
-			 u32 operation, u32 flags, u8 tile_mask,
+			 u32 operation, u32 flags,
 			 u32 prefetch_region)
 {
 	struct drm_gem_object *obj = bo ? &bo->ttm.base : NULL;
@@ -2223,7 +2218,6 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_bo *bo,
 	drm_gpuva_for_each_op(__op, ops) {
 		struct xe_vma_op *op = gpuva_op_to_vma_op(__op);
 
-		op->tile_mask = tile_mask;
 		if (__op->op == DRM_GPUVA_OP_MAP) {
 			op->map.immediate =
 				flags & DRM_XE_VM_BIND_FLAG_IMMEDIATE;
@@ -2241,7 +2235,7 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_bo *bo,
 }
 
 static struct xe_vma *new_vma(struct xe_vm *vm, struct drm_gpuva_op_map *op,
-			      u8 tile_mask, bool read_only, bool is_null)
+			      bool read_only, bool is_null)
 {
 	struct xe_bo *bo = op->gem.obj ? gem_to_xe_bo(op->gem.obj) : NULL;
 	struct xe_vma *vma;
@@ -2256,8 +2250,7 @@ static struct xe_vma *new_vma(struct xe_vm *vm, struct drm_gpuva_op_map *op,
 	}
 	vma = xe_vma_create(vm, bo, op->gem.offset,
 			    op->va.addr, op->va.addr +
-			    op->va.range - 1, read_only, is_null,
-			    tile_mask);
+			    op->va.range - 1, read_only, is_null);
 	if (bo)
 		xe_bo_unlock(bo);
 
@@ -2401,8 +2394,7 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
 		{
 			struct xe_vma *vma;
 
-			vma = new_vma(vm, &op->base.map,
-				      op->tile_mask, op->map.read_only,
+			vma = new_vma(vm, &op->base.map, op->map.read_only,
 				      op->map.is_null);
 			if (IS_ERR(vma))
 				return PTR_ERR(vma);
@@ -2427,8 +2419,7 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
 					op->base.remap.unmap->va->flags &
 					DRM_GPUVA_SPARSE;
 
-				vma = new_vma(vm, op->base.remap.prev,
-					      op->tile_mask, read_only,
+				vma = new_vma(vm, op->base.remap.prev, read_only,
 					      is_null);
 				if (IS_ERR(vma))
 					return PTR_ERR(vma);
@@ -2461,8 +2452,7 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
 					op->base.remap.unmap->va->flags &
 					DRM_GPUVA_SPARSE;
 
-				vma = new_vma(vm, op->base.remap.next,
-					      op->tile_mask, read_only,
+				vma = new_vma(vm, op->base.remap.next, read_only,
 					      is_null);
 				if (IS_ERR(vma))
 					return PTR_ERR(vma);
@@ -2994,16 +2984,6 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 			err = -EINVAL;
 			goto release_vm_lock;
 		}
-
-		if (bind_ops[i].tile_mask) {
-			u64 valid_tiles = BIT(xe->info.tile_count) - 1;
-
-			if (XE_IOCTL_DBG(xe, bind_ops[i].tile_mask &
-					 ~valid_tiles)) {
-				err = -EINVAL;
-				goto release_vm_lock;
-			}
-		}
 	}
 
 	bos = kzalloc(sizeof(*bos) * args->num_binds, GFP_KERNEL);
@@ -3076,12 +3056,11 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 		u32 op = bind_ops[i].op;
 		u32 flags = bind_ops[i].flags;
 		u64 obj_offset = bind_ops[i].obj_offset;
-		u8 tile_mask = bind_ops[i].tile_mask;
 		u32 prefetch_region = bind_ops[i].prefetch_mem_region_instance;
 
 		ops[i] = vm_bind_ioctl_ops_create(vm, bos[i], obj_offset,
 						  addr, range, op, flags,
-						  tile_mask, prefetch_region);
+						  prefetch_region);
 		if (IS_ERR(ops[i])) {
 			err = PTR_ERR(ops[i]);
 			ops[i] = NULL;
diff --git a/drivers/gpu/drm/xe/xe_vm_types.h b/drivers/gpu/drm/xe/xe_vm_types.h
index aaf0c7101019..9a2f2f23dabd 100644
--- a/drivers/gpu/drm/xe/xe_vm_types.h
+++ b/drivers/gpu/drm/xe/xe_vm_types.h
@@ -400,8 +400,6 @@ struct xe_vma_op {
 	u32 num_syncs;
 	/** @link: async operation link */
 	struct list_head link;
-	/** @tile_mask: gt mask for this operation */
-	u8 tile_mask;
 	/** @flags: operation flags */
 	enum xe_vma_op_flags flags;
 
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index f2bdc6e323e4..85b0affc9f89 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -683,12 +683,6 @@ struct drm_xe_vm_bind_op {
 	/** @addr: Address to operate on, MBZ for UNMAP_ALL */
 	__u64 addr;
 
-	/**
-	 * @tile_mask: Mask for which tiles to create binds for, 0 == All tiles,
-	 * only applies to creating new VMAs
-	 */
-	__u64 tile_mask;
-
 #define DRM_XE_VM_BIND_OP_MAP		0x0
 #define DRM_XE_VM_BIND_OP_UNMAP		0x1
 #define DRM_XE_VM_BIND_OP_MAP_USERPTR	0x2
@@ -723,7 +717,7 @@ struct drm_xe_vm_bind_op {
 	__u32 prefetch_mem_region_instance;
 
 	/** @reserved: Reserved */
-	__u64 reserved[2];
+	__u64 reserved[3];
 };
 
 struct drm_xe_vm_bind {
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 10/14] drm/xe/uapi: Crystal Reference Clock updates
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (8 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 09/14] drm/xe/uapi: Kill tile_mask Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-24 18:38   ` Souza, Jose
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 11/14] drm/xe/uapi: Remove bogus engine list from the wait_user_fence IOCTL Francois Dugast
                   ` (10 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Matt Roper, Rodrigo Vivi

From: Rodrigo Vivi <rodrigo.vivi@intel.com>

First of all, let's remove the duplication.
But also, let's rename it to remove the word 'frequency'
out of it. In general, the first thing people think of frequency
is the frequency in which the GTs are operating to execute the
GPU instructions.

While this frequency here is a crystal reference clock frequency
which is the base of everything else, and in this case of this
uAPI it is used to calculate a better and precise timestamp.

v2: (Suggested by Jose) Remove the engine_cs and keep the GT info one
since it might be useful for other SRIOV cases where the engine_cs
will be zeroed. So, grabbing from the GT_LIST should be cleaner.

Cc: Matt Roper <matthew.d.roper@intel.com>
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Cc: Jose Souza <jose.souza@intel.com>

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 drivers/gpu/drm/xe/xe_gt_clock.c |  4 ++--
 drivers/gpu/drm/xe/xe_gt_types.h |  4 ++--
 drivers/gpu/drm/xe/xe_query.c    |  8 +-------
 include/uapi/drm/xe_drm.h        | 11 ++++-------
 4 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_gt_clock.c b/drivers/gpu/drm/xe/xe_gt_clock.c
index 25a18eaad9c4..937054e31d72 100644
--- a/drivers/gpu/drm/xe/xe_gt_clock.c
+++ b/drivers/gpu/drm/xe/xe_gt_clock.c
@@ -75,11 +75,11 @@ int xe_gt_clock_init(struct xe_gt *gt)
 		freq >>= 3 - REG_FIELD_GET(RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK, c0);
 	}
 
-	gt->info.clock_freq = freq;
+	gt->info.reference_clock = freq;
 	return 0;
 }
 
 u64 xe_gt_clock_cycles_to_ns(const struct xe_gt *gt, u64 count)
 {
-	return DIV_ROUND_CLOSEST_ULL(count * NSEC_PER_SEC, gt->info.clock_freq);
+	return DIV_ROUND_CLOSEST_ULL(count * NSEC_PER_SEC, gt->info.reference_clock);
 }
diff --git a/drivers/gpu/drm/xe/xe_gt_types.h b/drivers/gpu/drm/xe/xe_gt_types.h
index d3f2793684e2..56b0f22ee78d 100644
--- a/drivers/gpu/drm/xe/xe_gt_types.h
+++ b/drivers/gpu/drm/xe/xe_gt_types.h
@@ -107,8 +107,8 @@ struct xe_gt {
 		enum xe_gt_type type;
 		/** @id: Unique ID of this GT within the PCI Device */
 		u8 id;
-		/** @clock_freq: clock frequency */
-		u32 clock_freq;
+		/** @reference_clock: clock frequency */
+		u32 reference_clock;
 		/** @engine_mask: mask of engines present on GT */
 		u64 engine_mask;
 		/**
diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index 8bf0fe6b09e0..77cab66d337f 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -147,8 +147,6 @@ query_engine_cycles(struct xe_device *xe,
 	if (!hwe)
 		return -EINVAL;
 
-	resp.engine_frequency = gt->info.clock_freq;
-
 	xe_device_mem_access_get(xe);
 	xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
 
@@ -164,10 +162,6 @@ query_engine_cycles(struct xe_device *xe,
 	xe_device_mem_access_put(xe);
 	resp.width = 36;
 
-	/* Only write to the output fields of user query */
-	if (put_user(resp.engine_frequency, &query_ptr->engine_frequency))
-		return -EFAULT;
-
 	if (put_user(resp.cpu_timestamp, &query_ptr->cpu_timestamp))
 		return -EFAULT;
 
@@ -383,7 +377,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
 		else
 			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MAIN;
 		gt_list->gt_list[id].gt_id = gt->info.id;
-		gt_list->gt_list[id].clock_freq = gt->info.clock_freq;
+		gt_list->gt_list[id].reference_clock = gt->info.reference_clock;
 		if (!IS_DGFX(xe))
 			gt_list->gt_list[id].near_mem_regions = 0x1;
 		else
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 85b0affc9f89..a94c751450d5 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -280,8 +280,8 @@ struct drm_xe_mem_region {
  * in .data. struct drm_xe_query_engine_cycles is allocated by the user and
  * .data points to this allocated structure.
  *
- * The query returns the engine cycles and the frequency that can
- * be used to calculate the engine timestamp. In addition the
+ * The query returns the engine cycles, which along with GT's @reference_clock,
+ * can be used to calculate the engine timestamp. In addition the
  * query returns a set of cpu timestamps that indicate when the command
  * streamer cycle count was captured.
  */
@@ -309,9 +309,6 @@ struct drm_xe_query_engine_cycles {
 	 */
 	__u64 engine_cycles;
 
-	/** @engine_frequency: Frequency of the engine cycles in Hz. */
-	__u64 engine_frequency;
-
 	/**
 	 * @cpu_timestamp: CPU timestamp in ns. The timestamp is captured before
 	 * reading the engine_cycles register using the reference clockid set by the
@@ -382,8 +379,8 @@ struct drm_xe_gt {
 	__u16 type;
 	/** @gt_id: Unique ID of this GT within the PCI Device */
 	__u16 gt_id;
-	/** @clock_freq: A clock frequency for timestamp */
-	__u32 clock_freq;
+	/** @reference_clock: A clock frequency for timestamp */
+	__u32 reference_clock;
 	/**
 	 * @near_mem_regions: Bit mask of instances from
 	 * drm_xe_query_mem_regions that are nearest to the current engines
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 11/14] drm/xe/uapi: Remove bogus engine list from the wait_user_fence IOCTL
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (9 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 10/14] drm/xe/uapi: Crystal Reference Clock updates Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 12/14] drm/xe/uapi: Add Tile ID information to the GT info query Francois Dugast
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Rodrigo Vivi

From: Rodrigo Vivi <rodrigo.vivi@intel.com>

Right now this is only checking if the engine list is sane and nothing
else. In the end every operation with this IOCTL is a soft check.
So, let's formalize that and only use this IOCTL to wait on the fence.

Upon timeout, userspace need then to inspect the engine properties
like BAN, in order to determine the reset status and any other
information that can be (or be added) there.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 drivers/gpu/drm/xe/xe_wait_user_fence.c | 56 +------------------------
 include/uapi/drm/xe_drm.h               | 17 +-------
 2 files changed, 3 insertions(+), 70 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_wait_user_fence.c b/drivers/gpu/drm/xe/xe_wait_user_fence.c
index 4d5c2555ce41..a9d231548498 100644
--- a/drivers/gpu/drm/xe/xe_wait_user_fence.c
+++ b/drivers/gpu/drm/xe/xe_wait_user_fence.c
@@ -58,29 +58,7 @@ static const enum xe_engine_class user_to_xe_engine_class[] = {
 	[DRM_XE_ENGINE_CLASS_COMPUTE] = XE_ENGINE_CLASS_COMPUTE,
 };
 
-static int check_hw_engines(struct xe_device *xe,
-			    struct drm_xe_engine_class_instance *eci,
-			    int num_engines)
-{
-	int i;
-
-	for (i = 0; i < num_engines; ++i) {
-		enum xe_engine_class user_class =
-			user_to_xe_engine_class[eci[i].engine_class];
-
-		if (eci[i].gt_id >= xe->info.tile_count)
-			return -EINVAL;
-
-		if (!xe_gt_hw_engine(xe_device_get_gt(xe, eci[i].gt_id),
-				     user_class, eci[i].engine_instance, true))
-			return -EINVAL;
-	}
-
-	return 0;
-}
-
-#define VALID_FLAGS	(DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP | \
-			 DRM_XE_UFENCE_WAIT_FLAG_ABSTIME)
+#define VALID_FLAGS	(DRM_XE_UFENCE_WAIT_FLAG_ABSTIME)
 #define MAX_OP		DRM_XE_UFENCE_WAIT_OP_LTE
 
 static long to_jiffies_timeout(struct xe_device *xe,
@@ -132,12 +110,8 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *data,
 	struct xe_device *xe = to_xe_device(dev);
 	DEFINE_WAIT_FUNC(w_wait, woken_wake_function);
 	struct drm_xe_wait_user_fence *args = data;
-	struct drm_xe_engine_class_instance eci[XE_HW_ENGINE_MAX_INSTANCE];
-	struct drm_xe_engine_class_instance __user *user_eci =
-		u64_to_user_ptr(args->instances);
 	u64 addr = args->addr;
 	int err;
-	bool no_engines = args->flags & DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP;
 	long timeout;
 	ktime_t start;
 
@@ -151,41 +125,13 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *data,
 	if (XE_IOCTL_DBG(xe, args->op > MAX_OP))
 		return -EINVAL;
 
-	if (XE_IOCTL_DBG(xe, no_engines &&
-			 (args->num_engines || args->instances)))
-		return -EINVAL;
-
-	if (XE_IOCTL_DBG(xe, !no_engines && !args->num_engines))
-		return -EINVAL;
-
 	if (XE_IOCTL_DBG(xe, addr & 0x7))
 		return -EINVAL;
 
-	if (XE_IOCTL_DBG(xe, args->num_engines > XE_HW_ENGINE_MAX_INSTANCE))
-		return -EINVAL;
-
-	if (!no_engines) {
-		err = copy_from_user(eci, user_eci,
-				     sizeof(struct drm_xe_engine_class_instance) *
-			     args->num_engines);
-		if (XE_IOCTL_DBG(xe, err))
-			return -EFAULT;
-
-		if (XE_IOCTL_DBG(xe, check_hw_engines(xe, eci,
-						      args->num_engines)))
-			return -EINVAL;
-	}
-
 	timeout = to_jiffies_timeout(xe, args);
 
 	start = ktime_get();
 
-	/*
-	 * FIXME: Very simple implementation at the moment, single wait queue
-	 * for everything. Could be optimized to have a wait queue for every
-	 * hardware engine. Open coding as 'do_compare' can sleep which doesn't
-	 * work with the wait_event_* macros.
-	 */
 	add_wait_queue(&xe->ufence_wq, &w_wait);
 	for (;;) {
 		err = do_compare(addr, args->value, args->mask, args->op);
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index a94c751450d5..4bad84e7793f 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -961,8 +961,7 @@ struct drm_xe_wait_user_fence {
 	/** @op: wait operation (type of comparison) */
 	__u16 op;
 
-#define DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP	(1 << 0)	/* e.g. Wait on VM bind */
-#define DRM_XE_UFENCE_WAIT_FLAG_ABSTIME	(1 << 1)
+#define DRM_XE_UFENCE_WAIT_FLAG_ABSTIME	(1 << 0)
 	/** @flags: wait flags */
 	__u16 flags;
 
@@ -995,20 +994,8 @@ struct drm_xe_wait_user_fence {
 	 */
 	__s64 timeout;
 
-	/**
-	 * @num_engines: number of engine instances to wait on, must be zero
-	 * when DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP set
-	 */
-	__u64 num_engines;
-
-	/**
-	 * @instances: user pointer to array of drm_xe_engine_class_instance to
-	 * wait on, must be NULL when DRM_XE_UFENCE_WAIT_FLAG_SOFT_OP set
-	 */
-	__u64 instances;
-
 	/** @reserved: Reserved */
-	__u64 reserved[2];
+	__u64 reserved[4];
 };
 
 /**
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 12/14] drm/xe/uapi: Add Tile ID information to the GT info query
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (10 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 11/14] drm/xe/uapi: Remove bogus engine list from the wait_user_fence IOCTL Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-24 18:45   ` Souza, Jose
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 13/14] drm/xe/uapi: Fix various struct padding for 64b alignment Francois Dugast
                   ` (8 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Rodrigo Vivi

From: Rodrigo Vivi <rodrigo.vivi@intel.com>

As an information only. So Userspace can use this information
and be able to correlate different GTs.

Make API symmetric between Engine and GT info.

There's no need right now to include a tile_query entry
since there's no other information that we need from tile
that is not already exposed through different queries.

However, this could be added later if we have different Tile
information that could matter to userspace. But let's keep
the API ready for a direct reference to Tile ID based on
the GT entry.

Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/xe/xe_query.c | 1 +
 include/uapi/drm/xe_drm.h     | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index 77cab66d337f..095f1b8c2290 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -376,6 +376,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
 			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MEDIA;
 		else
 			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MAIN;
+		gt_list->gt_list[id].tile_id = gt_to_tile(gt)->id;
 		gt_list->gt_list[id].gt_id = gt->info.id;
 		gt_list->gt_list[id].reference_clock = gt->info.reference_clock;
 		if (!IS_DGFX(xe))
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 4bad84e7793f..b0ef1f62fd99 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -377,6 +377,8 @@ struct drm_xe_gt {
 #define DRM_XE_QUERY_GT_TYPE_MEDIA		1
 	/** @type: GT type: Main or Media */
 	__u16 type;
+	/** @tile_id: Tile ID where this GT lives (Information only) */
+	__u16 tile_id;
 	/** @gt_id: Unique ID of this GT within the PCI Device */
 	__u16 gt_id;
 	/** @reference_clock: A clock frequency for timestamp */
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 13/14] drm/xe/uapi: Fix various struct padding for 64b alignment
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (11 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 12/14] drm/xe/uapi: Add Tile ID information to the GT info query Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-29 17:02   ` Souza, Jose
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 14/14] drm/xe/uapi: Move xe_exec after xe_exec_queue Francois Dugast
                   ` (7 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Matt Roper, Rodrigo Vivi

From: Rodrigo Vivi <rodrigo.vivi@intel.com>

Let's respect Documentation/process/botching-up-ioctls.rst
and add the proper padding for a 64b alignment with all as
well as all the required checks and settings for the pads
and the reserved entries.

v2: Fix remaining wholes and double check with pahole (Jose)
    Ensure with pahole that both 32b and 64b have exact same
    layout (Thomas)
    Do not set query's pad and reserved bits to zero since it
    is redundant and already done by kzalloc (Matt)

Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Francois Dugast <francois.dugast@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/xe/xe_query.c |  1 +
 drivers/gpu/drm/xe/xe_vm.c    |  8 ++++++++
 include/uapi/drm/xe_drm.h     | 19 +++++++++++--------
 3 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index 095f1b8c2290..d0523dfc488f 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -371,6 +371,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
 		return -ENOMEM;
 
 	gt_list->num_gt = xe->info.gt_count;
+
 	for_each_gt(gt, xe, id) {
 		if (xe_gt_is_media_type(gt))
 			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MEDIA;
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index ccd2821e61f8..1dbd6e948741 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -2817,6 +2817,10 @@ static int vm_bind_ioctl_check_args(struct xe_device *xe,
 	int err;
 	int i;
 
+	if (XE_IOCTL_DBG(xe, args->pad || args->pad2) ||
+	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
+		return -EINVAL;
+
 	if (XE_IOCTL_DBG(xe, args->extensions) ||
 	    XE_IOCTL_DBG(xe, !args->num_binds) ||
 	    XE_IOCTL_DBG(xe, args->num_binds > MAX_BINDS))
@@ -2933,6 +2937,10 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 	if (err)
 		return err;
 
+	if (XE_IOCTL_DBG(xe, args->pad || args->pad2) ||
+	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
+		return -EINVAL;
+
 	if (args->exec_queue_id) {
 		q = xe_exec_queue_lookup(xef, args->exec_queue_id);
 		if (XE_IOCTL_DBG(xe, !q)) {
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index b0ef1f62fd99..4c175946547c 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -211,8 +211,6 @@ struct drm_xe_mem_region {
 	 * a unique pair.
 	 */
 	__u16 instance;
-	/** @pad: MBZ */
-	__u32 pad;
 	/**
 	 * @min_page_size: Min page-size in bytes for this region.
 	 *
@@ -381,6 +379,8 @@ struct drm_xe_gt {
 	__u16 tile_id;
 	/** @gt_id: Unique ID of this GT within the PCI Device */
 	__u16 gt_id;
+	/** @pad: MBZ */
+	__u16 pad[3];
 	/** @reference_clock: A clock frequency for timestamp */
 	__u32 reference_clock;
 	/**
@@ -715,6 +715,9 @@ struct drm_xe_vm_bind_op {
 	 */
 	__u32 prefetch_mem_region_instance;
 
+	/** @pad: MBZ */
+	__u32 pad2;
+
 	/** @reserved: Reserved */
 	__u64 reserved[3];
 };
@@ -733,12 +736,12 @@ struct drm_xe_vm_bind {
 	 */
 	__u32 exec_queue_id;
 
-	/** @num_binds: number of binds in this IOCTL */
-	__u32 num_binds;
-
 	/** @pad: MBZ */
 	__u32 pad;
 
+	/** @num_binds: number of binds in this IOCTL */
+	__u32 num_binds;
+
 	union {
 		/** @bind: used if num_binds == 1 */
 		struct drm_xe_vm_bind_op bind;
@@ -750,12 +753,12 @@ struct drm_xe_vm_bind {
 		__u64 vector_of_binds;
 	};
 
+	/** @pad: MBZ */
+	__u32 pad2;
+
 	/** @num_syncs: amount of syncs to wait on */
 	__u32 num_syncs;
 
-	/** @pad2: MBZ */
-	__u32 pad2;
-
 	/** @syncs: pointer to struct drm_xe_sync array */
 	__u64 syncs;
 
-- 
2.34.1


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

* [Intel-xe] [PATCH v2 14/14] drm/xe/uapi: Move xe_exec after xe_exec_queue
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (12 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 13/14] drm/xe/uapi: Fix various struct padding for 64b alignment Francois Dugast
@ 2023-11-22 14:38 ` Francois Dugast
  2023-11-29 18:34   ` Souza, Jose
  2023-11-23 14:14 ` [Intel-xe] ✓ CI.Patch_applied: success for uAPI Alignment - Cleanup and future proof (rev5) Patchwork
                   ` (6 subsequent siblings)
  20 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-22 14:38 UTC (permalink / raw)
  To: intel-xe; +Cc: Francois Dugast, Rodrigo Vivi

From: Rodrigo Vivi <rodrigo.vivi@intel.com>

Although the exec ioctl is a very important one, it makes no sense
to explain xe_exec before explaining the exec_queue. So, let's
move this down to help bring a better flow on the documentation
and code readability.

It is important to highlight that this patch is changing all
the ioctl numbers in a non-backward compatible way. However, we
are doing this final uapi clean-up before we submit our first
pull-request to be part of the upstream Kernel. Once we get
there, no other change like this will ever happen and all the
backward compatibility will be respected.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
---
 include/uapi/drm/xe_drm.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 4c175946547c..17e86c8310fa 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -103,11 +103,11 @@ struct xe_user_extension {
 #define DRM_XE_VM_CREATE		0x03
 #define DRM_XE_VM_DESTROY		0x04
 #define DRM_XE_VM_BIND			0x05
-#define DRM_XE_EXEC			0x06
-#define DRM_XE_EXEC_QUEUE_CREATE	0x07
-#define DRM_XE_EXEC_QUEUE_DESTROY	0x08
-#define DRM_XE_EXEC_QUEUE_SET_PROPERTY	0x09
-#define DRM_XE_EXEC_QUEUE_GET_PROPERTY	0x0a
+#define DRM_XE_EXEC_QUEUE_CREATE	0x06
+#define DRM_XE_EXEC_QUEUE_DESTROY	0x07
+#define DRM_XE_EXEC_QUEUE_SET_PROPERTY	0x08
+#define DRM_XE_EXEC_QUEUE_GET_PROPERTY	0x09
+#define DRM_XE_EXEC			0x0a
 #define DRM_XE_WAIT_USER_FENCE		0x0b
 /* Must be kept compact -- no holes */
 
@@ -117,11 +117,11 @@ struct xe_user_extension {
 #define DRM_IOCTL_XE_VM_CREATE			DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_VM_CREATE, struct drm_xe_vm_create)
 #define DRM_IOCTL_XE_VM_DESTROY			DRM_IOW(DRM_COMMAND_BASE + DRM_XE_VM_DESTROY, struct drm_xe_vm_destroy)
 #define DRM_IOCTL_XE_VM_BIND			DRM_IOW(DRM_COMMAND_BASE + DRM_XE_VM_BIND, struct drm_xe_vm_bind)
-#define DRM_IOCTL_XE_EXEC			DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC, struct drm_xe_exec)
 #define DRM_IOCTL_XE_EXEC_QUEUE_CREATE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_CREATE, struct drm_xe_exec_queue_create)
 #define DRM_IOCTL_XE_EXEC_QUEUE_DESTROY		DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_DESTROY, struct drm_xe_exec_queue_destroy)
 #define DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY	DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_SET_PROPERTY, struct drm_xe_exec_queue_set_property)
 #define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY	DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property)
+#define DRM_IOCTL_XE_EXEC			DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC, struct drm_xe_exec)
 #define DRM_IOCTL_XE_WAIT_USER_FENCE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
 
 /**
-- 
2.34.1


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

* [Intel-xe] ✓ CI.Patch_applied: success for uAPI Alignment - Cleanup and future proof (rev5)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (13 preceding siblings ...)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 14/14] drm/xe/uapi: Move xe_exec after xe_exec_queue Francois Dugast
@ 2023-11-23 14:14 ` Patchwork
  2023-11-23 14:14 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 49+ messages in thread
From: Patchwork @ 2023-11-23 14:14 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-xe

== Series Details ==

Series: uAPI Alignment - Cleanup and future proof (rev5)
URL   : https://patchwork.freedesktop.org/series/126535/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-xe-next' with base: ===
Base commit: 501feae7a drm/xe/xe2: Add workaround 14019449301
=== git am output follows ===
Applying: drm/xe: Extend drm_xe_vm_bind_op
Applying: drm/xe/uapi: Separate bo_create placement from flags
Applying: drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
Applying: drm/xe/uapi: Reject bo creation of unaligned size
Applying: drm/xe/uapi: Align on a common way to return arrays (memory regions)
Applying: drm/xe/uapi: Align on a common way to return arrays (gt)
Applying: drm/xe/uapi: Align on a common way to return arrays (engines)
Applying: drm/xe/uapi: Split xe_sync types from flags
Applying: drm/xe/uapi: Kill tile_mask
Applying: drm/xe/uapi: Crystal Reference Clock updates
Applying: drm/xe/uapi: Remove bogus engine list from the wait_user_fence IOCTL
Applying: drm/xe/uapi: Add Tile ID information to the GT info query
Applying: drm/xe/uapi: Fix various struct padding for 64b alignment
Applying: drm/xe/uapi: Move xe_exec after xe_exec_queue



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

* [Intel-xe] ✗ CI.checkpatch: warning for uAPI Alignment - Cleanup and future proof (rev5)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (14 preceding siblings ...)
  2023-11-23 14:14 ` [Intel-xe] ✓ CI.Patch_applied: success for uAPI Alignment - Cleanup and future proof (rev5) Patchwork
@ 2023-11-23 14:14 ` Patchwork
  2023-11-23 14:15 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 49+ messages in thread
From: Patchwork @ 2023-11-23 14:14 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-xe

== Series Details ==

Series: uAPI Alignment - Cleanup and future proof (rev5)
URL   : https://patchwork.freedesktop.org/series/126535/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
63c2b6b160bca2df6efc7bc4cea6f442097d7854
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit df3b0178c4df3298cb57349789447f7a4d3b9187
Author: Rodrigo Vivi <rodrigo.vivi@intel.com>
Date:   Wed Nov 22 14:38:33 2023 +0000

    drm/xe/uapi: Move xe_exec after xe_exec_queue
    
    Although the exec ioctl is a very important one, it makes no sense
    to explain xe_exec before explaining the exec_queue. So, let's
    move this down to help bring a better flow on the documentation
    and code readability.
    
    It is important to highlight that this patch is changing all
    the ioctl numbers in a non-backward compatible way. However, we
    are doing this final uapi clean-up before we submit our first
    pull-request to be part of the upstream Kernel. Once we get
    there, no other change like this will ever happen and all the
    backward compatibility will be respected.
    
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Francois Dugast <francois.dugast@intel.com>
+ /mt/dim checkpatch 501feae7afed8e9b21700d1185532c18d62ca33a drm-intel
8b3c05e18 drm/xe: Extend drm_xe_vm_bind_op
d718d7901 drm/xe/uapi: Separate bo_create placement from flags
72a9355cc drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
20cc3ae40 drm/xe/uapi: Reject bo creation of unaligned size
c986f5d1c drm/xe/uapi: Align on a common way to return arrays (memory regions)
d4278dfab drm/xe/uapi: Align on a common way to return arrays (gt)
de75a6cf1 drm/xe/uapi: Align on a common way to return arrays (engines)
f9bd0b4ea drm/xe/uapi: Split xe_sync types from flags
05169e680 drm/xe/uapi: Kill tile_mask
74f0bb078 drm/xe/uapi: Crystal Reference Clock updates
24cb39fda drm/xe/uapi: Remove bogus engine list from the wait_user_fence IOCTL
f13a968b0 drm/xe/uapi: Add Tile ID information to the GT info query
a41b6b9f1 drm/xe/uapi: Fix various struct padding for 64b alignment
df3b0178c drm/xe/uapi: Move xe_exec after xe_exec_queue
-:51: WARNING:LONG_LINE: line length of 107 exceeds 100 columns
#51: FILE: include/uapi/drm/xe_drm.h:124:
+#define DRM_IOCTL_XE_EXEC			DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC, struct drm_xe_exec)

total: 0 errors, 1 warnings, 0 checks, 28 lines checked



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

* [Intel-xe] ✓ CI.KUnit: success for uAPI Alignment - Cleanup and future proof (rev5)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (15 preceding siblings ...)
  2023-11-23 14:14 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
@ 2023-11-23 14:15 ` Patchwork
  2023-11-23 14:23 ` [Intel-xe] ✓ CI.Build: " Patchwork
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 49+ messages in thread
From: Patchwork @ 2023-11-23 14:15 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-xe

== Series Details ==

Series: uAPI Alignment - Cleanup and future proof (rev5)
URL   : https://patchwork.freedesktop.org/series/126535/
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
[14:14:47] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[14:14:51] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[14:15:11] Starting KUnit Kernel (1/1)...
[14:15:11] ============================================================
[14:15:11] ========================== xe_bo  ==========================
[14:15:11] [SKIPPED] xe_ccs_migrate_kunit
[14:15:11] [SKIPPED] xe_bo_evict_kunit
[14:15:11] ===================== [SKIPPED] xe_bo ======================
[14:15:11] ======================= xe_dma_buf  ========================
[14:15:11] [SKIPPED] xe_dma_buf_kunit
[14:15:11] =================== [SKIPPED] xe_dma_buf ===================
[14:15:11] ======================= xe_migrate  ========================
[14:15:11] [SKIPPED] xe_migrate_sanity_kunit
[14:15:11] =================== [SKIPPED] xe_migrate ===================
[14:15:11] ========================= xe_mocs  =========================
[14:15:11] [SKIPPED] xe_live_mocs_kernel_kunit
[14:15:11] ==================== [SKIPPED] xe_mocs =====================
[14:15:11] ========================= xe_pci  ==========================
[14:15:11] [PASSED] xe_gmdid_graphics_ip
[14:15:11] [PASSED] xe_gmdid_media_ip
[14:15:11] ===================== [PASSED] xe_pci ======================
[14:15:11] ========================= xe_rtp  ==========================
[14:15:11] ================== xe_rtp_process_tests  ===================
[14:15:11] [PASSED] coalesce-same-reg
[14:15:11] [PASSED] no-match-no-add
[14:15:11] [PASSED] no-match-no-add-multiple-rules
[14:15:11] [PASSED] two-regs-two-entries
[14:15:11] [PASSED] clr-one-set-other
[14:15:11] [PASSED] set-field
[14:15:11] [PASSED] conflict-duplicate
[14:15:11] [PASSED] conflict-not-disjoint
[14:15:11] [PASSED] conflict-reg-type
[14:15:11] ============== [PASSED] xe_rtp_process_tests ===============
[14:15:11] ===================== [PASSED] xe_rtp ======================
[14:15:11] ========================== xe_wa  ==========================
[14:15:11] ======================== xe_wa_gt  =========================
[14:15:11] [PASSED] TIGERLAKE (B0)
[14:15:11] [PASSED] DG1 (A0)
[14:15:11] [PASSED] DG1 (B0)
[14:15:11] [PASSED] ALDERLAKE_S (A0)
[14:15:11] [PASSED] ALDERLAKE_S (B0)
[14:15:11] [PASSED] ALDERLAKE_S (C0)
[14:15:11] [PASSED] ALDERLAKE_S (D0)
[14:15:11] [PASSED] ALDERLAKE_P (A0)
[14:15:11] [PASSED] ALDERLAKE_P (B0)
[14:15:11] [PASSED] ALDERLAKE_P (C0)
[14:15:11] [PASSED] ALDERLAKE_S_RPLS (D0)
[14:15:11] [PASSED] ALDERLAKE_P_RPLU (E0)
[14:15:11] [PASSED] DG2_G10 (A0)
[14:15:11] [PASSED] DG2_G10 (A1)
[14:15:11] [PASSED] DG2_G10 (B0)
[14:15:11] [PASSED] DG2_G10 (C0)
[14:15:11] [PASSED] DG2_G11 (A0)
[14:15:11] [PASSED] DG2_G11 (B0)
[14:15:11] [PASSED] DG2_G11 (B1)
[14:15:11] [PASSED] DG2_G12 (A0)
[14:15:11] [PASSED] DG2_G12 (A1)
[14:15:11] [PASSED] PVC (B0)
[14:15:11] [PASSED] PVC (B1)
[14:15:11] [PASSED] PVC (C0)
[14:15:11] ==================== [PASSED] xe_wa_gt =====================
[14:15:11] ====================== [PASSED] xe_wa ======================
[14:15:11] ============================================================
[14:15:11] Testing complete. Ran 40 tests: passed: 35, skipped: 5
[14:15:11] Elapsed time: 24.594s total, 4.198s configuring, 20.226s building, 0.136s running

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

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



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

* [Intel-xe] ✓ CI.Build: success for uAPI Alignment - Cleanup and future proof (rev5)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (16 preceding siblings ...)
  2023-11-23 14:15 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
@ 2023-11-23 14:23 ` Patchwork
  2023-11-23 14:23 ` [Intel-xe] ✗ CI.Hooks: failure " Patchwork
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 49+ messages in thread
From: Patchwork @ 2023-11-23 14:23 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-xe

== Series Details ==

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



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

* [Intel-xe] ✗ CI.Hooks: failure for uAPI Alignment - Cleanup and future proof (rev5)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (17 preceding siblings ...)
  2023-11-23 14:23 ` [Intel-xe] ✓ CI.Build: " Patchwork
@ 2023-11-23 14:23 ` Patchwork
  2023-11-23 14:24 ` [Intel-xe] ✓ CI.checksparse: success " Patchwork
  2023-11-23 15:01 ` [Intel-xe] ✗ CI.BAT: failure " Patchwork
  20 siblings, 0 replies; 49+ messages in thread
From: Patchwork @ 2023-11-23 14:23 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-xe

== Series Details ==

Series: uAPI Alignment - Cleanup and future proof (rev5)
URL   : https://patchwork.freedesktop.org/series/126535/
State : failure

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ pwd
+ ls -la
/workspace
total 952
drwxrwxr-x 12 1003 1003   4096 Nov 23 14:23 .
drwxr-xr-x  1 root root   4096 Nov 23 14:23 ..
-rw-rw-r--  1 1003 1003 799284 Nov 23 14:23 build.log
-rw-rw-r--  1 1003 1003   2460 Nov 23 14:14 checkpatch.log
drwxrwxr-x  5 1003 1003   4096 Nov 23 14:12 ci
drwxrwxr-x  9 1003 1003   4096 Nov 23 14:12 docker
drwxrwxr-x  8 1003 1003   4096 Nov 23 14:12 .git
-rw-rw-r--  1 1003 1003   1025 Nov 23 14:14 git_apply.log
drwxrwxr-x  4 1003 1003   4096 Nov 23 14:12 .github
-rw-rw-r--  1 1003 1003    233 Nov 23 14:12 .groovylintrc.json
-rw-rw-r--  1 1003 1003     78 Nov 23 14:23 hooks.log
drwxrwxr-x 31 1003 1003   4096 Nov 23 14:23 kernel
-rw-rw-r--  1 1003 1003  63839 Nov 23 14:14 kernel.mbox
-rw-rw-r--  1 1003 1003  28940 Nov 23 14:15 kunit.log
-rw-rw-r--  1 1003 1003     48 Nov 23 14:14 parent.tag
drwxrwxr-x 44 1003 1003   4096 Nov 23 14:12 pipelines
-rw-rw-r--  1 1003 1003    793 Nov 23 14:12 README.adoc
drwxrwxr-x  3 1003 1003   4096 Nov 23 14:12 scripts
drwxrwxr-x  3 1003 1003   4096 Nov 23 14:12 src
drwxrwxr-x  2 1003 1003   4096 Nov 23 14:12 vars
drwxrwxr-x  2 1003 1003   4096 Nov 23 14:12 .vscode
+ uname -a
Linux fac547b45705 5.4.0-164-generic #181-Ubuntu SMP Fri Sep 1 13:41:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
+ '[' -n /workspace ']'
+ git_args='-C /workspace/kernel'
+ git_log_args=
+ git --no-pager -C /workspace/kernel log --format=oneline --abbrev-commit
df3b0178c drm/xe/uapi: Move xe_exec after xe_exec_queue
a41b6b9f1 drm/xe/uapi: Fix various struct padding for 64b alignment
f13a968b0 drm/xe/uapi: Add Tile ID information to the GT info query
24cb39fda drm/xe/uapi: Remove bogus engine list from the wait_user_fence IOCTL
74f0bb078 drm/xe/uapi: Crystal Reference Clock updates
05169e680 drm/xe/uapi: Kill tile_mask
f9bd0b4ea drm/xe/uapi: Split xe_sync types from flags
de75a6cf1 drm/xe/uapi: Align on a common way to return arrays (engines)
d4278dfab drm/xe/uapi: Align on a common way to return arrays (gt)
c986f5d1c drm/xe/uapi: Align on a common way to return arrays (memory regions)
20cc3ae40 drm/xe/uapi: Reject bo creation of unaligned size
72a9355cc drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
d718d7901 drm/xe/uapi: Separate bo_create placement from flags
8b3c05e18 drm/xe: Extend drm_xe_vm_bind_op
501feae7a drm/xe/xe2: Add workaround 14019449301
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
  GEN     Makefile
  UPD     include/config/kernel.release
  UPD     include/generated/compile.h
  UPD     include/generated/utsrelease.h
  DESCEND objtool
  CALL    ../scripts/checksyscalls.sh
  HOSTCC  /workspace/kernel/build64-default/tools/objtool/fixdep.o
  HOSTLD  /workspace/kernel/build64-default/tools/objtool/fixdep-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/fixdep
  INSTALL libsubcmd_headers
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
  LD      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
  AR      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
  CC      /workspace/kernel/build64-default/tools/objtool/weak.o
  CC      /workspace/kernel/build64-default/tools/objtool/check.o
  CC      /workspace/kernel/build64-default/tools/objtool/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/builtin-check.o
  CC      /workspace/kernel/build64-default/tools/objtool/elf.o
  CC      /workspace/kernel/build64-default/tools/objtool/objtool.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64-default/tools/objtool/libstring.o
  CC      /workspace/kernel/build64-default/tools/objtool/libctype.o
  CC      /workspace/kernel/build64-default/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64-default/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
  LD      /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
  LD      /workspace/kernel/build64-default/tools/objtool/objtool-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-default'
++ nproc
+ make -j48 O=/workspace/kernel/build64-default M=drivers/gpu/drm/xe W=1
make[1]: Entering directory '/workspace/kernel/build64-default'
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC [M]  drivers/gpu/drm/xe/xe_display.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev_fb.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_utils.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_dram.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_pch.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_audio.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_color.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
../drivers/gpu/drm/xe/xe_wait_user_fence.c:53:35: error: ‘user_to_xe_engine_class’ defined but not used [-Werror=unused-const-variable=]
   53 | static const enum xe_engine_class user_to_xe_engine_class[] = {
      |                                   ^~~~~~~~~~~~~~~~~~~~~~~
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
cc1: all warnings being treated as errors
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
make[3]: *** [../scripts/Makefile.build:243: drivers/gpu/drm/xe/xe_wait_user_fence.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [/workspace/kernel/Makefile:1913: drivers/gpu/drm/xe] Error 2
make[1]: *** [/workspace/kernel/Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/workspace/kernel/build64-default'
make: *** [Makefile:234: __sub-make] Error 2
run-parts: /workspace/ci/hooks/10-build-W1 exited with return code 2



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

* [Intel-xe] ✓ CI.checksparse: success for uAPI Alignment - Cleanup and future proof (rev5)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (18 preceding siblings ...)
  2023-11-23 14:23 ` [Intel-xe] ✗ CI.Hooks: failure " Patchwork
@ 2023-11-23 14:24 ` Patchwork
  2023-11-23 15:01 ` [Intel-xe] ✗ CI.BAT: failure " Patchwork
  20 siblings, 0 replies; 49+ messages in thread
From: Patchwork @ 2023-11-23 14:24 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-xe

== Series Details ==

Series: uAPI Alignment - Cleanup and future proof (rev5)
URL   : https://patchwork.freedesktop.org/series/126535/
State : success

== Summary ==

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

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



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

* [Intel-xe] ✗ CI.BAT: failure for uAPI Alignment - Cleanup and future proof (rev5)
  2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
                   ` (19 preceding siblings ...)
  2023-11-23 14:24 ` [Intel-xe] ✓ CI.checksparse: success " Patchwork
@ 2023-11-23 15:01 ` Patchwork
  20 siblings, 0 replies; 49+ messages in thread
From: Patchwork @ 2023-11-23 15:01 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-xe

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

== Series Details ==

Series: uAPI Alignment - Cleanup and future proof (rev5)
URL   : https://patchwork.freedesktop.org/series/126535/
State : failure

== Summary ==

CI Bug Log - changes from xe-517-501feae7afed8e9b21700d1185532c18d62ca33a_BAT -> xe-pw-126535v5_BAT
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-126535v5_BAT absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-126535v5_BAT, please notify your bug team (lgci.bug.filing@intel.com) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

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

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-126535v5_BAT:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_addfb_basic@addfb25-yf-tiled-legacy:
    - bat-adlp-7:         [PASS][1] -> [WARN][2] +8 other tests warn
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-adlp-7/igt@kms_addfb_basic@addfb25-yf-tiled-legacy.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-adlp-7/igt@kms_addfb_basic@addfb25-yf-tiled-legacy.html

  * igt@kms_addfb_basic@too-wide:
    - bat-dg2-oem2:       [PASS][3] -> [WARN][4] +8 other tests warn
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@kms_addfb_basic@too-wide.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@kms_addfb_basic@too-wide.html

  * igt@xe_evict@evict-beng-small-external:
    - bat-dg2-oem2:       [PASS][5] -> [SKIP][6] +18 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@xe_evict@evict-beng-small-external.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@xe_evict@evict-beng-small-external.html

  * igt@xe_evict@evict-beng-small-multi-vm:
    - bat-atsm-2:         [PASS][7] -> [SKIP][8] +18 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-atsm-2/igt@xe_evict@evict-beng-small-multi-vm.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-atsm-2/igt@xe_evict@evict-beng-small-multi-vm.html

  * igt@xe_evict@evict-mixed-threads-small-multi-vm:
    - bat-pvc-2:          [PASS][9] -> [SKIP][10] +10 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_evict@evict-mixed-threads-small-multi-vm.html
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_evict@evict-mixed-threads-small-multi-vm.html

  * igt@xe_intel_bb@create-in-region:
    - bat-dg2-oem2:       [PASS][11] -> [CRASH][12]
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@xe_intel_bb@create-in-region.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@xe_intel_bb@create-in-region.html
    - bat-adlp-7:         [PASS][13] -> [CRASH][14]
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-adlp-7/igt@xe_intel_bb@create-in-region.html
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-adlp-7/igt@xe_intel_bb@create-in-region.html
    - bat-atsm-2:         [PASS][15] -> [CRASH][16]
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-atsm-2/igt@xe_intel_bb@create-in-region.html
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-atsm-2/igt@xe_intel_bb@create-in-region.html
    - bat-pvc-2:          [PASS][17] -> [CRASH][18]
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_intel_bb@create-in-region.html
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_intel_bb@create-in-region.html

  * igt@xe_intel_bb@intel-bb-blit-y:
    - bat-pvc-2:          [PASS][19] -> [FAIL][20] +63 other tests fail
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_intel_bb@intel-bb-blit-y.html
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_intel_bb@intel-bb-blit-y.html

  * igt@xe_intel_bb@offset-control:
    - bat-dg2-oem2:       [PASS][21] -> [FAIL][22] +63 other tests fail
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@xe_intel_bb@offset-control.html
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@xe_intel_bb@offset-control.html
    - bat-adlp-7:         [PASS][23] -> [FAIL][24] +63 other tests fail
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-adlp-7/igt@xe_intel_bb@offset-control.html
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-adlp-7/igt@xe_intel_bb@offset-control.html

  * igt@xe_intel_bb@render@render-y-1024:
    - bat-pvc-2:          NOTRUN -> [FAIL][25] +5 other tests fail
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_intel_bb@render@render-y-1024.html

  * igt@xe_prime_self_import@basic-with_one_bo:
    - bat-atsm-2:         [PASS][26] -> [FAIL][27] +62 other tests fail
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-atsm-2/igt@xe_prime_self_import@basic-with_one_bo.html
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-atsm-2/igt@xe_prime_self_import@basic-with_one_bo.html

  * igt@xe_query@query-engines:
    - bat-pvc-2:          [PASS][28] -> [WARN][29]
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_query@query-engines.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_query@query-engines.html
    - bat-atsm-2:         [PASS][30] -> [WARN][31]
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-atsm-2/igt@xe_query@query-engines.html
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-atsm-2/igt@xe_query@query-engines.html

  
#### Warnings ####

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg2-oem2:       [SKIP][32] ([Intel XE#624]) -> [FAIL][33]
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@kms_addfb_basic@basic-y-tiled-legacy.html
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@kms_addfb_basic@basic-y-tiled-legacy.html
    - bat-adlp-7:         [FAIL][34] ([Intel XE#609]) -> [FAIL][35] +1 other test fail
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-adlp-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-adlp-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@tile-pitch-mismatch:
    - bat-dg2-oem2:       [FAIL][36] ([Intel XE#609]) -> [FAIL][37]
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@kms_addfb_basic@tile-pitch-mismatch.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@kms_addfb_basic@tile-pitch-mismatch.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-dg2-oem2:       [FAIL][38] ([Intel XE#608]) -> [FAIL][39]
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@kms_frontbuffer_tracking@basic.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@kms_frontbuffer_tracking@basic.html
    - bat-adlp-7:         [FAIL][40] ([Intel XE#616] / [Intel XE#750]) -> [FAIL][41]
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html

  * igt@xe_evict@evict-beng-small-external:
    - bat-pvc-2:          [FAIL][42] ([Intel XE#936]) -> [SKIP][43] +3 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_evict@evict-beng-small-external.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_evict@evict-beng-small-external.html

  * igt@xe_evict@evict-small-cm:
    - bat-pvc-2:          [DMESG-FAIL][44] ([Intel XE#482]) -> [SKIP][45] +3 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_evict@evict-small-cm.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_evict@evict-small-cm.html

  * igt@xe_intel_bb@render:
    - bat-pvc-2:          [SKIP][46] ([Intel XE#532]) -> [FAIL][47]
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_intel_bb@render.html
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_intel_bb@render.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@xe_evict_ccs@evict-overcommit-parallel-nofree-samefd}:
    - bat-atsm-2:         [PASS][48] -> [SKIP][49] +1 other test skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-atsm-2/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-samefd.html
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-atsm-2/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-samefd.html
    - bat-pvc-2:          [INCOMPLETE][50] ([Intel XE#392]) -> [SKIP][51]
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-samefd.html
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-samefd.html

  * {igt@xe_evict_ccs@evict-overcommit-simple}:
    - bat-pvc-2:          [PASS][52] -> [SKIP][53]
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_evict_ccs@evict-overcommit-simple.html
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_evict_ccs@evict-overcommit-simple.html
    - bat-dg2-oem2:       [PASS][54] -> [SKIP][55] +1 other test skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@xe_evict_ccs@evict-overcommit-simple.html
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@xe_evict_ccs@evict-overcommit-simple.html

  * {igt@xe_exec_basic@no-exec-bindexecqueue}:
    - bat-dg2-oem2:       [PASS][56] -> [FAIL][57] +5 other tests fail
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@xe_exec_basic@no-exec-bindexecqueue.html
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@xe_exec_basic@no-exec-bindexecqueue.html

  * {igt@xe_exec_compute_mode@twice-bindexecqueue}:
    - bat-atsm-2:         [PASS][58] -> [FAIL][59] +5 other tests fail
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-atsm-2/igt@xe_exec_compute_mode@twice-bindexecqueue.html
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-atsm-2/igt@xe_exec_compute_mode@twice-bindexecqueue.html

  * {igt@xe_exec_fault_mode@twice-bindexecqueue-rebind}:
    - bat-pvc-2:          [PASS][60] -> [FAIL][61] +11 other tests fail
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_exec_fault_mode@twice-bindexecqueue-rebind.html
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_exec_fault_mode@twice-bindexecqueue-rebind.html

  * {igt@xe_vm@bind-execqueues-independent}:
    - bat-adlp-7:         [PASS][62] -> [FAIL][63] +5 other tests fail
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-adlp-7/igt@xe_vm@bind-execqueues-independent.html
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-adlp-7/igt@xe_vm@bind-execqueues-independent.html

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

  Here are the changes found in xe-pw-126535v5_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-edp-1:
    - bat-adlp-7:         [PASS][64] -> [FAIL][65] ([Intel XE#934]) +91 other tests fail
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-adlp-7/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-edp-1.html
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-adlp-7/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12@pipe-c-edp-1.html

  * igt@xe_exec_balancer@twice-virtual-userptr-invalidate:
    - bat-dg2-oem2:       [PASS][66] -> [FAIL][67] ([Intel XE#934]) +85 other tests fail
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@xe_exec_balancer@twice-virtual-userptr-invalidate.html
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@xe_exec_balancer@twice-virtual-userptr-invalidate.html

  * igt@xe_exec_compute_mode@twice-userptr-invalidate:
    - bat-atsm-2:         [PASS][68] -> [FAIL][69] ([Intel XE#934]) +27 other tests fail
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-atsm-2/igt@xe_exec_compute_mode@twice-userptr-invalidate.html
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-atsm-2/igt@xe_exec_compute_mode@twice-userptr-invalidate.html

  * igt@xe_exec_fault_mode@twice-userptr-invalidate-prefetch:
    - bat-pvc-2:          [PASS][70] -> [FAIL][71] ([Intel XE#934]) +38 other tests fail
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-pvc-2/igt@xe_exec_fault_mode@twice-userptr-invalidate-prefetch.html
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-pvc-2/igt@xe_exec_fault_mode@twice-userptr-invalidate-prefetch.html

  
#### Warnings ####

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12:
    - bat-dg2-oem2:       [FAIL][72] ([Intel XE#400] / [Intel XE#616]) -> [FAIL][73] ([Intel XE#934]) +2 other tests fail
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-517-501feae7afed8e9b21700d1185532c18d62ca33a/bat-dg2-oem2/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12.html
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-126535v5/bat-dg2-oem2/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-nv12.html

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

  [Intel XE#392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/392
  [Intel XE#400]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/400
  [Intel XE#482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/482
  [Intel XE#524]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/524
  [Intel XE#532]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/532
  [Intel XE#608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/608
  [Intel XE#609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/609
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#624]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/624
  [Intel XE#750]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/750
  [Intel XE#934]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/934
  [Intel XE#936]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/936
  [Intel XE#937]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/937


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

  * Linux: xe-517-501feae7afed8e9b21700d1185532c18d62ca33a -> xe-pw-126535v5

  IGT_7598: 6be4fb999857e135d54a6643a57dfe394e9c6f2e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-517-501feae7afed8e9b21700d1185532c18d62ca33a: 501feae7afed8e9b21700d1185532c18d62ca33a
  xe-pw-126535v5: 126535v5

== Logs ==

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

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

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

* Re: [Intel-xe] [PATCH v2 04/14] drm/xe/uapi: Reject bo creation of unaligned size
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 04/14] drm/xe/uapi: Reject bo creation of unaligned size Francois Dugast
@ 2023-11-24 18:15   ` Souza, Jose
  0 siblings, 0 replies; 49+ messages in thread
From: Souza, Jose @ 2023-11-24 18:15 UTC (permalink / raw)
  To: intel-xe, Dugast, Francois

On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> From: Mauro Carvalho Chehab <mauro.chehab@linux.intel.com>
> 
> For xe bo creation we request passing size which matches system or
> vram minimum page alignment. This way we want to ensure userspace
> is aware of region constraints and not aligned allocations will be
> rejected returning EINVAL.
> 
> v2:
> - Rebase, Update uAPI documentation. (Thomas)
> v3:
> - Adjust the dma-buf kunit test accordingly. (Thomas)
> v4:
> - Fixed rebase conflicts and updated commit message. (Francois)
> 
> Signed-off-by: Mauro Carvalho Chehab <mauro.chehab@linux.intel.com>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
>  drivers/gpu/drm/xe/tests/xe_dma_buf.c |  8 +++++++-
>  drivers/gpu/drm/xe/xe_bo.c            | 24 ++++++++++++++++--------
>  include/uapi/drm/xe_drm.h             | 17 +++++++++--------
>  3 files changed, 32 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/tests/xe_dma_buf.c b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
> index 18c00bc03024..a6756b554069 100644
> --- a/drivers/gpu/drm/xe/tests/xe_dma_buf.c
> +++ b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
> @@ -109,14 +109,20 @@ static void xe_test_dmabuf_import_same_driver(struct xe_device *xe)
>  	struct drm_gem_object *import;
>  	struct dma_buf *dmabuf;
>  	struct xe_bo *bo;
> +	size_t size;
>  
>  	/* No VRAM on this device? */
>  	if (!ttm_manager_type(&xe->ttm, XE_PL_VRAM0) &&
>  	    (params->mem_mask & XE_BO_CREATE_VRAM0_BIT))
>  		return;
>  
> +	size = PAGE_SIZE;
> +	if ((params->mem_mask & XE_BO_CREATE_VRAM0_BIT) &&
> +	    xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K)
> +		size = SZ_64K;
> +
>  	kunit_info(test, "running %s\n", __func__);
> -	bo = xe_bo_create(xe, NULL, NULL, PAGE_SIZE, ttm_bo_type_device,
> +	bo = xe_bo_create(xe, NULL, NULL, size, ttm_bo_type_device,
>  			  XE_BO_CREATE_USER_BIT | params->mem_mask);
>  	if (IS_ERR(bo)) {
>  		KUNIT_FAIL(test, "xe_bo_create() failed with err=%ld\n",
> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> index bbce4cd80f7e..4c7c37ca8c50 100644
> --- a/drivers/gpu/drm/xe/xe_bo.c
> +++ b/drivers/gpu/drm/xe/xe_bo.c
> @@ -1202,6 +1202,7 @@ struct xe_bo *__xe_bo_create_locked(struct xe_device *xe, struct xe_bo *bo,
>  	};
>  	struct ttm_placement *placement;
>  	uint32_t alignment;
> +	size_t aligned_size;
>  	int err;
>  
>  	/* Only kernel objects should set GT */
> @@ -1212,23 +1213,30 @@ struct xe_bo *__xe_bo_create_locked(struct xe_device *xe, struct xe_bo *bo,
>  		return ERR_PTR(-EINVAL);
>  	}
>  
> -	if (!bo) {
> -		bo = xe_bo_alloc();
> -		if (IS_ERR(bo))
> -			return bo;
> -	}
> -
>  	if (flags & (XE_BO_CREATE_VRAM_MASK | XE_BO_CREATE_STOLEN_BIT) &&
>  	    !(flags & XE_BO_CREATE_IGNORE_MIN_PAGE_SIZE_BIT) &&
>  	    xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K) {
> -		size = ALIGN(size, SZ_64K);
> +		aligned_size = ALIGN(size, SZ_64K);
> +		if (type != ttm_bo_type_device)
> +			size = ALIGN(size, SZ_64K);

nit: s/size = ALIGN(size, SZ_64K);/size = aligned_size;

>  		flags |= XE_BO_INTERNAL_64K;
>  		alignment = SZ_64K >> PAGE_SHIFT;
> +
>  	} else {
> -		size = ALIGN(size, PAGE_SIZE);
> +		aligned_size = ALIGN(size, SZ_4K);
> +		flags &= ~XE_BO_INTERNAL_64K;
>  		alignment = SZ_4K >> PAGE_SHIFT;
>  	}
>  
> +	if (type == ttm_bo_type_device && aligned_size != size)
> +		return ERR_PTR(-EINVAL);
> +
> +	if (!bo) {
> +		bo = xe_bo_alloc();
> +		if (IS_ERR(bo))
> +			return bo;
> +	}
> +
>  	bo->tile = tile;
>  	bo->size = size;
>  	bo->flags = flags;
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index c80e03b61489..da10d946930b 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -206,11 +206,13 @@ struct drm_xe_query_mem_region {
>  	 *
>  	 * When the kernel allocates memory for this region, the
>  	 * underlying pages will be at least @min_page_size in size.
> -	 *
> -	 * Important note: When userspace allocates a GTT address which
> -	 * can point to memory allocated from this region, it must also
> -	 * respect this minimum alignment. This is enforced by the
> -	 * kernel.
> +	 * Buffer objects with an allowable placement in this region must be
> +	 * created with a size aligned to this value.
> +	 * GPU virtual address mappings of (parts of) buffer objects that
> +	 * may be placed in this region must also have their GPU virtual
> +	 * address and range aligned to this value.
> +	 * Affected IOCTLS will return %-EINVAL if alignment restrictions are
> +	 * not met.
>  	 */
>  	__u32 min_page_size;
>  	/**
> @@ -516,9 +518,8 @@ struct drm_xe_gem_create {
>  	__u64 extensions;
>  
>  	/**
> -	 * @size: Requested size for the object
> -	 *
> -	 * The (page-aligned) allocated size for the object will be returned.
> +	 * @size: Size of the object to be created, must match region
> +	 * (system or vram) minimum alignment (&min_page_size).
>  	 */
>  	__u64 size;
>  


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

* Re: [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions) Francois Dugast
@ 2023-11-24 18:19   ` Souza, Jose
  2023-11-28 20:51     ` Rodrigo Vivi
  2023-11-30 20:53   ` Dixit, Ashutosh
  1 sibling, 1 reply; 49+ messages in thread
From: Souza, Jose @ 2023-11-24 18:19 UTC (permalink / raw)
  To: intel-xe, Dugast, Francois

On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> The uAPI provides queries which return arrays of elements. As of now
> the format used in the struct is different depending on which element
> is queried. Fix this for memory regions by applying the pattern below:
> 
>     struct drm_xe_query_Xs {
>        __u32 num_Xs;
>        struct drm_xe_X Xs[];
>        ...
>     }
> 
> This removes "query" in the name of struct drm_xe_query_mem_region
> as it is not returned from the query IOCTL. There is no functional
> change.
> 
> v2: Only rename drm_xe_query_mem_region to drm_xe_mem_region
>     (José Roberto de Souza)
> 
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_query.c | 36 ++++++++++++++++++-----------------
>  include/uapi/drm/xe_drm.h     | 12 ++++++------
>  2 files changed, 25 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index 0cbfeaeb1330..f321ed4d3b0b 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -240,11 +240,11 @@ static size_t calc_mem_regions_size(struct xe_device *xe)
>  		if (ttm_manager_type(&xe->ttm, i))
>  			num_managers++;
>  
> -	return offsetof(struct drm_xe_query_mem_regions, regions[num_managers]);
> +	return offsetof(struct drm_xe_query_mem_regions, mem_regions[num_managers]);
>  }
>  
>  static int query_mem_regions(struct xe_device *xe,
> -			     struct drm_xe_device_query *query)
> +			    struct drm_xe_device_query *query)
>  {
>  	size_t size = calc_mem_regions_size(xe);
>  	struct drm_xe_query_mem_regions *usage;
> @@ -265,36 +265,38 @@ static int query_mem_regions(struct xe_device *xe,
>  		return -ENOMEM;
>  
>  	man = ttm_manager_type(&xe->ttm, XE_PL_TT);
> -	usage->regions[0].mem_class = DRM_XE_MEM_REGION_CLASS_SYSMEM;
> -	usage->regions[0].instance = 0;
> -	usage->regions[0].min_page_size = PAGE_SIZE;
> -	usage->regions[0].total_size = man->size << PAGE_SHIFT;
> +	usage->mem_regions[0].mem_class = DRM_XE_MEM_REGION_CLASS_SYSMEM;

nit: can you also rename 'usage' to something else, it was named 'usage' because of the old query name.


> +	usage->mem_regions[0].instance = 0;
> +	usage->mem_regions[0].min_page_size = PAGE_SIZE;
> +	usage->mem_regions[0].total_size = man->size << PAGE_SHIFT;
>  	if (perfmon_capable())
> -		usage->regions[0].used = ttm_resource_manager_usage(man);
> -	usage->num_regions = 1;
> +		usage->mem_regions[0].used = ttm_resource_manager_usage(man);
> +	usage->num_mem_regions = 1;
>  
>  	for (i = XE_PL_VRAM0; i <= XE_PL_VRAM1; ++i) {
>  		man = ttm_manager_type(&xe->ttm, i);
>  		if (man) {
> -			usage->regions[usage->num_regions].mem_class =
> +			usage->mem_regions[usage->num_mem_regions].mem_class =
>  				DRM_XE_MEM_REGION_CLASS_VRAM;
> -			usage->regions[usage->num_regions].instance =
> -				usage->num_regions;
> -			usage->regions[usage->num_regions].min_page_size =
> +			usage->mem_regions[usage->num_mem_regions].instance =
> +				usage->num_mem_regions;
> +			usage->mem_regions[usage->num_mem_regions].min_page_size =
>  				xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K ?
>  				SZ_64K : PAGE_SIZE;
> -			usage->regions[usage->num_regions].total_size =
> +			usage->mem_regions[usage->num_mem_regions].total_size =
>  				man->size;
>  
>  			if (perfmon_capable()) {
>  				xe_ttm_vram_get_used(man,
> -						     &usage->regions[usage->num_regions].used,
> -						     &usage->regions[usage->num_regions].cpu_visible_used);
> +						     &usage->mem_regions
> +						     [usage->num_mem_regions].used,
> +						     &usage->mem_regions
> +						     [usage->num_mem_regions].cpu_visible_used);
>  			}
>  
> -			usage->regions[usage->num_regions].cpu_visible_size =
> +			usage->mem_regions[usage->num_mem_regions].cpu_visible_size =
>  				xe_ttm_vram_get_cpu_visible_size(man);
> -			usage->num_regions++;
> +			usage->num_mem_regions++;
>  		}
>  	}
>  
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index da10d946930b..a9bbdf141fe2 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -182,10 +182,10 @@ enum drm_xe_memory_class {
>  };
>  
>  /**
> - * struct drm_xe_query_mem_region - Describes some region as known to
> + * struct drm_xe_mem_region - Describes some region as known to
>   * the driver.
>   */
> -struct drm_xe_query_mem_region {
> +struct drm_xe_mem_region {
>  	/**
>  	 * @mem_class: The memory class describing this region.
>  	 *
> @@ -322,12 +322,12 @@ struct drm_xe_query_engine_cycles {
>   * struct drm_xe_query_mem_regions in .data.
>   */
>  struct drm_xe_query_mem_regions {
> -	/** @num_regions: number of memory regions returned in @regions */
> -	__u32 num_regions;
> +	/** @num_mem_regions: number of memory regions returned in @mem_regions */
> +	__u32 num_mem_regions;
>  	/** @pad: MBZ */
>  	__u32 pad;
> -	/** @regions: The returned regions for this device */
> -	struct drm_xe_query_mem_region regions[];
> +	/** @mem_regions: The returned memory regions for this device */
> +	struct drm_xe_mem_region mem_regions[];
>  };
>  
>  /**


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

* Re: [Intel-xe] [PATCH v2 10/14] drm/xe/uapi: Crystal Reference Clock updates
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 10/14] drm/xe/uapi: Crystal Reference Clock updates Francois Dugast
@ 2023-11-24 18:38   ` Souza, Jose
  2023-11-29 14:08     ` Francois Dugast
  0 siblings, 1 reply; 49+ messages in thread
From: Souza, Jose @ 2023-11-24 18:38 UTC (permalink / raw)
  To: intel-xe, Dugast, Francois; +Cc: Roper, Matthew D, Vivi, Rodrigo

On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> First of all, let's remove the duplication.
> But also, let's rename it to remove the word 'frequency'
> out of it. In general, the first thing people think of frequency
> is the frequency in which the GTs are operating to execute the
> GPU instructions.
> 
> While this frequency here is a crystal reference clock frequency
> which is the base of everything else, and in this case of this
> uAPI it is used to calculate a better and precise timestamp.
> 
> v2: (Suggested by Jose) Remove the engine_cs and keep the GT info one
> since it might be useful for other SRIOV cases where the engine_cs
> will be zeroed. So, grabbing from the GT_LIST should be cleaner.
> 
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> Cc: Jose Souza <jose.souza@intel.com>
> 
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_gt_clock.c |  4 ++--
>  drivers/gpu/drm/xe/xe_gt_types.h |  4 ++--
>  drivers/gpu/drm/xe/xe_query.c    |  8 +-------
>  include/uapi/drm/xe_drm.h        | 11 ++++-------
>  4 files changed, 9 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gt_clock.c b/drivers/gpu/drm/xe/xe_gt_clock.c
> index 25a18eaad9c4..937054e31d72 100644
> --- a/drivers/gpu/drm/xe/xe_gt_clock.c
> +++ b/drivers/gpu/drm/xe/xe_gt_clock.c
> @@ -75,11 +75,11 @@ int xe_gt_clock_init(struct xe_gt *gt)
>  		freq >>= 3 - REG_FIELD_GET(RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK, c0);
>  	}
>  
> -	gt->info.clock_freq = freq;
> +	gt->info.reference_clock = freq;
>  	return 0;
>  }
>  
>  u64 xe_gt_clock_cycles_to_ns(const struct xe_gt *gt, u64 count)
>  {
> -	return DIV_ROUND_CLOSEST_ULL(count * NSEC_PER_SEC, gt->info.clock_freq);
> +	return DIV_ROUND_CLOSEST_ULL(count * NSEC_PER_SEC, gt->info.reference_clock);
>  }
> diff --git a/drivers/gpu/drm/xe/xe_gt_types.h b/drivers/gpu/drm/xe/xe_gt_types.h
> index d3f2793684e2..56b0f22ee78d 100644
> --- a/drivers/gpu/drm/xe/xe_gt_types.h
> +++ b/drivers/gpu/drm/xe/xe_gt_types.h
> @@ -107,8 +107,8 @@ struct xe_gt {
>  		enum xe_gt_type type;
>  		/** @id: Unique ID of this GT within the PCI Device */
>  		u8 id;
> -		/** @clock_freq: clock frequency */
> -		u32 clock_freq;
> +		/** @reference_clock: clock frequency */
> +		u32 reference_clock;
>  		/** @engine_mask: mask of engines present on GT */
>  		u64 engine_mask;
>  		/**
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index 8bf0fe6b09e0..77cab66d337f 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -147,8 +147,6 @@ query_engine_cycles(struct xe_device *xe,
>  	if (!hwe)
>  		return -EINVAL;
>  
> -	resp.engine_frequency = gt->info.clock_freq;
> -
>  	xe_device_mem_access_get(xe);
>  	xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
>  
> @@ -164,10 +162,6 @@ query_engine_cycles(struct xe_device *xe,
>  	xe_device_mem_access_put(xe);
>  	resp.width = 36;
>  
> -	/* Only write to the output fields of user query */

the comment is relevant to to other put_user() calls.

> -	if (put_user(resp.engine_frequency, &query_ptr->engine_frequency))
> -		return -EFAULT;
> -
>  	if (put_user(resp.cpu_timestamp, &query_ptr->cpu_timestamp))
>  		return -EFAULT;
>  
> @@ -383,7 +377,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
>  		else
>  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MAIN;
>  		gt_list->gt_list[id].gt_id = gt->info.id;
> -		gt_list->gt_list[id].clock_freq = gt->info.clock_freq;
> +		gt_list->gt_list[id].reference_clock = gt->info.reference_clock;
>  		if (!IS_DGFX(xe))
>  			gt_list->gt_list[id].near_mem_regions = 0x1;
>  		else
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 85b0affc9f89..a94c751450d5 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -280,8 +280,8 @@ struct drm_xe_mem_region {
>   * in .data. struct drm_xe_query_engine_cycles is allocated by the user and
>   * .data points to this allocated structure.
>   *
> - * The query returns the engine cycles and the frequency that can
> - * be used to calculate the engine timestamp. In addition the
> + * The query returns the engine cycles, which along with GT's @reference_clock,
> + * can be used to calculate the engine timestamp. In addition the
>   * query returns a set of cpu timestamps that indicate when the command
>   * streamer cycle count was captured.
>   */
> @@ -309,9 +309,6 @@ struct drm_xe_query_engine_cycles {
>  	 */
>  	__u64 engine_cycles;
>  
> -	/** @engine_frequency: Frequency of the engine cycles in Hz. */
> -	__u64 engine_frequency;
> -
>  	/**
>  	 * @cpu_timestamp: CPU timestamp in ns. The timestamp is captured before
>  	 * reading the engine_cycles register using the reference clockid set by the
> @@ -382,8 +379,8 @@ struct drm_xe_gt {
>  	__u16 type;
>  	/** @gt_id: Unique ID of this GT within the PCI Device */
>  	__u16 gt_id;
> -	/** @clock_freq: A clock frequency for timestamp */
> -	__u32 clock_freq;
> +	/** @reference_clock: A clock frequency for timestamp */
> +	__u32 reference_clock;
>  	/**
>  	 * @near_mem_regions: Bit mask of instances from
>  	 * drm_xe_query_mem_regions that are nearest to the current engines


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

* Re: [Intel-xe] [PATCH v2 12/14] drm/xe/uapi: Add Tile ID information to the GT info query
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 12/14] drm/xe/uapi: Add Tile ID information to the GT info query Francois Dugast
@ 2023-11-24 18:45   ` Souza, Jose
  2023-11-27 14:08     ` Francois Dugast
  0 siblings, 1 reply; 49+ messages in thread
From: Souza, Jose @ 2023-11-24 18:45 UTC (permalink / raw)
  To: intel-xe, Dugast, Francois; +Cc: Vivi, Rodrigo

On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> As an information only. So Userspace can use this information
> and be able to correlate different GTs.
> 
> Make API symmetric between Engine and GT info.
> 
> There's no need right now to include a tile_query entry
> since there's no other information that we need from tile
> that is not already exposed through different queries.
> 
> However, this could be added later if we have different Tile
> information that could matter to userspace. But let's keep
> the API ready for a direct reference to Tile ID based on
> the GT entry.
> 
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_query.c | 1 +
>  include/uapi/drm/xe_drm.h     | 2 ++
>  2 files changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index 77cab66d337f..095f1b8c2290 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -376,6 +376,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
>  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MEDIA;
>  		else
>  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MAIN;
> +		gt_list->gt_list[id].tile_id = gt_to_tile(gt)->id;
>  		gt_list->gt_list[id].gt_id = gt->info.id;
>  		gt_list->gt_list[id].reference_clock = gt->info.reference_clock;
>  		if (!IS_DGFX(xe))
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 4bad84e7793f..b0ef1f62fd99 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -377,6 +377,8 @@ struct drm_xe_gt {
>  #define DRM_XE_QUERY_GT_TYPE_MEDIA		1
>  	/** @type: GT type: Main or Media */
>  	__u16 type;
> +	/** @tile_id: Tile ID where this GT lives (Information only) */
> +	__u16 tile_id;
>  	/** @gt_id: Unique ID of this GT within the PCI Device */
>  	__u16 gt_id;
>  	/** @reference_clock: A clock frequency for timestamp */

change is good but it broke the alignment of a struct that was aligned 

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

* Re: [Intel-xe] [PATCH v2 12/14] drm/xe/uapi: Add Tile ID information to the GT info query
  2023-11-24 18:45   ` Souza, Jose
@ 2023-11-27 14:08     ` Francois Dugast
  2023-11-27 14:20       ` Souza, Jose
  0 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-27 14:08 UTC (permalink / raw)
  To: Souza, Jose; +Cc: intel-xe, Vivi,  Rodrigo

On Fri, Nov 24, 2023 at 07:45:04PM +0100, Souza, Jose wrote:
> On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > 
> > As an information only. So Userspace can use this information
> > and be able to correlate different GTs.
> > 
> > Make API symmetric between Engine and GT info.
> > 
> > There's no need right now to include a tile_query entry
> > since there's no other information that we need from tile
> > that is not already exposed through different queries.
> > 
> > However, this could be added later if we have different Tile
> > information that could matter to userspace. But let's keep
> > the API ready for a direct reference to Tile ID based on
> > the GT entry.
> > 
> > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > ---
> >  drivers/gpu/drm/xe/xe_query.c | 1 +
> >  include/uapi/drm/xe_drm.h     | 2 ++
> >  2 files changed, 3 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > index 77cab66d337f..095f1b8c2290 100644
> > --- a/drivers/gpu/drm/xe/xe_query.c
> > +++ b/drivers/gpu/drm/xe/xe_query.c
> > @@ -376,6 +376,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
> >  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MEDIA;
> >  		else
> >  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MAIN;
> > +		gt_list->gt_list[id].tile_id = gt_to_tile(gt)->id;
> >  		gt_list->gt_list[id].gt_id = gt->info.id;
> >  		gt_list->gt_list[id].reference_clock = gt->info.reference_clock;
> >  		if (!IS_DGFX(xe))
> > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > index 4bad84e7793f..b0ef1f62fd99 100644
> > --- a/include/uapi/drm/xe_drm.h
> > +++ b/include/uapi/drm/xe_drm.h
> > @@ -377,6 +377,8 @@ struct drm_xe_gt {
> >  #define DRM_XE_QUERY_GT_TYPE_MEDIA		1
> >  	/** @type: GT type: Main or Media */
> >  	__u16 type;
> > +	/** @tile_id: Tile ID where this GT lives (Information only) */
> > +	__u16 tile_id;
> >  	/** @gt_id: Unique ID of this GT within the PCI Device */
> >  	__u16 gt_id;
> >  	/** @reference_clock: A clock frequency for timestamp */
> 
> change is good but it broke the alignment of a struct that was aligned 

True but this and other misalignments are fix in the next patch of this
series "drm/xe/uapi: Fix various struct padding for 64b alignment".

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

* Re: [Intel-xe] [PATCH v2 12/14] drm/xe/uapi: Add Tile ID information to the GT info query
  2023-11-27 14:08     ` Francois Dugast
@ 2023-11-27 14:20       ` Souza, Jose
  2023-11-29 18:33         ` Souza, Jose
  0 siblings, 1 reply; 49+ messages in thread
From: Souza, Jose @ 2023-11-27 14:20 UTC (permalink / raw)
  To: Dugast, Francois; +Cc: intel-xe, Vivi,  Rodrigo

On Mon, 2023-11-27 at 15:08 +0100, Francois Dugast wrote:
> On Fri, Nov 24, 2023 at 07:45:04PM +0100, Souza, Jose wrote:
> > On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> > > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > 
> > > As an information only. So Userspace can use this information
> > > and be able to correlate different GTs.
> > > 
> > > Make API symmetric between Engine and GT info.
> > > 
> > > There's no need right now to include a tile_query entry
> > > since there's no other information that we need from tile
> > > that is not already exposed through different queries.
> > > 
> > > However, this could be added later if we have different Tile
> > > information that could matter to userspace. But let's keep
> > > the API ready for a direct reference to Tile ID based on
> > > the GT entry.
> > > 
> > > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > ---
> > >  drivers/gpu/drm/xe/xe_query.c | 1 +
> > >  include/uapi/drm/xe_drm.h     | 2 ++
> > >  2 files changed, 3 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > > index 77cab66d337f..095f1b8c2290 100644
> > > --- a/drivers/gpu/drm/xe/xe_query.c
> > > +++ b/drivers/gpu/drm/xe/xe_query.c
> > > @@ -376,6 +376,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
> > >  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MEDIA;
> > >  		else
> > >  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MAIN;
> > > +		gt_list->gt_list[id].tile_id = gt_to_tile(gt)->id;
> > >  		gt_list->gt_list[id].gt_id = gt->info.id;
> > >  		gt_list->gt_list[id].reference_clock = gt->info.reference_clock;
> > >  		if (!IS_DGFX(xe))
> > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > index 4bad84e7793f..b0ef1f62fd99 100644
> > > --- a/include/uapi/drm/xe_drm.h
> > > +++ b/include/uapi/drm/xe_drm.h
> > > @@ -377,6 +377,8 @@ struct drm_xe_gt {
> > >  #define DRM_XE_QUERY_GT_TYPE_MEDIA		1
> > >  	/** @type: GT type: Main or Media */
> > >  	__u16 type;
> > > +	/** @tile_id: Tile ID where this GT lives (Information only) */
> > > +	__u16 tile_id;
> > >  	/** @gt_id: Unique ID of this GT within the PCI Device */
> > >  	__u16 gt_id;
> > >  	/** @reference_clock: A clock frequency for timestamp */
> > 
> > change is good but it broke the alignment of a struct that was aligned 
> 
> True but this and other misalignments are fix in the next patch of this
> series "drm/xe/uapi: Fix various struct padding for 64b alignment".

Okay

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

* Re: [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions)
  2023-11-24 18:19   ` Souza, Jose
@ 2023-11-28 20:51     ` Rodrigo Vivi
  2023-11-29 12:33       ` Francois Dugast
  0 siblings, 1 reply; 49+ messages in thread
From: Rodrigo Vivi @ 2023-11-28 20:51 UTC (permalink / raw)
  To: Souza, Jose; +Cc: Dugast, Francois, intel-xe

On Fri, Nov 24, 2023 at 06:19:47PM +0000, Souza, Jose wrote:
> On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> > The uAPI provides queries which return arrays of elements. As of now
> > the format used in the struct is different depending on which element
> > is queried. Fix this for memory regions by applying the pattern below:
> > 
> >     struct drm_xe_query_Xs {
> >        __u32 num_Xs;
> >        struct drm_xe_X Xs[];
> >        ...
> >     }
> > 
> > This removes "query" in the name of struct drm_xe_query_mem_region
> > as it is not returned from the query IOCTL. There is no functional
> > change.
> > 
> > v2: Only rename drm_xe_query_mem_region to drm_xe_mem_region
> >     (José Roberto de Souza)
> > 
> > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > ---
> >  drivers/gpu/drm/xe/xe_query.c | 36 ++++++++++++++++++-----------------
> >  include/uapi/drm/xe_drm.h     | 12 ++++++------
> >  2 files changed, 25 insertions(+), 23 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > index 0cbfeaeb1330..f321ed4d3b0b 100644
> > --- a/drivers/gpu/drm/xe/xe_query.c
> > +++ b/drivers/gpu/drm/xe/xe_query.c
> > @@ -240,11 +240,11 @@ static size_t calc_mem_regions_size(struct xe_device *xe)
> >  		if (ttm_manager_type(&xe->ttm, i))
> >  			num_managers++;
> >  
> > -	return offsetof(struct drm_xe_query_mem_regions, regions[num_managers]);
> > +	return offsetof(struct drm_xe_query_mem_regions, mem_regions[num_managers]);
> >  }
> >  
> >  static int query_mem_regions(struct xe_device *xe,
> > -			     struct drm_xe_device_query *query)
> > +			    struct drm_xe_device_query *query)
> >  {
> >  	size_t size = calc_mem_regions_size(xe);
> >  	struct drm_xe_query_mem_regions *usage;
> > @@ -265,36 +265,38 @@ static int query_mem_regions(struct xe_device *xe,
> >  		return -ENOMEM;
> >  
> >  	man = ttm_manager_type(&xe->ttm, XE_PL_TT);
> > -	usage->regions[0].mem_class = DRM_XE_MEM_REGION_CLASS_SYSMEM;
> > -	usage->regions[0].instance = 0;
> > -	usage->regions[0].min_page_size = PAGE_SIZE;
> > -	usage->regions[0].total_size = man->size << PAGE_SHIFT;
> > +	usage->mem_regions[0].mem_class = DRM_XE_MEM_REGION_CLASS_SYSMEM;
> 
> nit: can you also rename 'usage' to something else, it was named 'usage' because of the old query name.

my bad for having forgotten this 'usage' in here. Let's fix that in a follow-up after this series is merged.

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

> 
> 
> > +	usage->mem_regions[0].instance = 0;
> > +	usage->mem_regions[0].min_page_size = PAGE_SIZE;
> > +	usage->mem_regions[0].total_size = man->size << PAGE_SHIFT;
> >  	if (perfmon_capable())
> > -		usage->regions[0].used = ttm_resource_manager_usage(man);
> > -	usage->num_regions = 1;
> > +		usage->mem_regions[0].used = ttm_resource_manager_usage(man);
> > +	usage->num_mem_regions = 1;
> >  
> >  	for (i = XE_PL_VRAM0; i <= XE_PL_VRAM1; ++i) {
> >  		man = ttm_manager_type(&xe->ttm, i);
> >  		if (man) {
> > -			usage->regions[usage->num_regions].mem_class =
> > +			usage->mem_regions[usage->num_mem_regions].mem_class =
> >  				DRM_XE_MEM_REGION_CLASS_VRAM;
> > -			usage->regions[usage->num_regions].instance =
> > -				usage->num_regions;
> > -			usage->regions[usage->num_regions].min_page_size =
> > +			usage->mem_regions[usage->num_mem_regions].instance =
> > +				usage->num_mem_regions;
> > +			usage->mem_regions[usage->num_mem_regions].min_page_size =
> >  				xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K ?
> >  				SZ_64K : PAGE_SIZE;
> > -			usage->regions[usage->num_regions].total_size =
> > +			usage->mem_regions[usage->num_mem_regions].total_size =
> >  				man->size;
> >  
> >  			if (perfmon_capable()) {
> >  				xe_ttm_vram_get_used(man,
> > -						     &usage->regions[usage->num_regions].used,
> > -						     &usage->regions[usage->num_regions].cpu_visible_used);
> > +						     &usage->mem_regions
> > +						     [usage->num_mem_regions].used,
> > +						     &usage->mem_regions
> > +						     [usage->num_mem_regions].cpu_visible_used);
> >  			}
> >  
> > -			usage->regions[usage->num_regions].cpu_visible_size =
> > +			usage->mem_regions[usage->num_mem_regions].cpu_visible_size =
> >  				xe_ttm_vram_get_cpu_visible_size(man);
> > -			usage->num_regions++;
> > +			usage->num_mem_regions++;
> >  		}
> >  	}
> >  
> > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > index da10d946930b..a9bbdf141fe2 100644
> > --- a/include/uapi/drm/xe_drm.h
> > +++ b/include/uapi/drm/xe_drm.h
> > @@ -182,10 +182,10 @@ enum drm_xe_memory_class {
> >  };
> >  
> >  /**
> > - * struct drm_xe_query_mem_region - Describes some region as known to
> > + * struct drm_xe_mem_region - Describes some region as known to
> >   * the driver.
> >   */
> > -struct drm_xe_query_mem_region {
> > +struct drm_xe_mem_region {
> >  	/**
> >  	 * @mem_class: The memory class describing this region.
> >  	 *
> > @@ -322,12 +322,12 @@ struct drm_xe_query_engine_cycles {
> >   * struct drm_xe_query_mem_regions in .data.
> >   */
> >  struct drm_xe_query_mem_regions {
> > -	/** @num_regions: number of memory regions returned in @regions */
> > -	__u32 num_regions;
> > +	/** @num_mem_regions: number of memory regions returned in @mem_regions */
> > +	__u32 num_mem_regions;
> >  	/** @pad: MBZ */
> >  	__u32 pad;
> > -	/** @regions: The returned regions for this device */
> > -	struct drm_xe_query_mem_region regions[];
> > +	/** @mem_regions: The returned memory regions for this device */
> > +	struct drm_xe_mem_region mem_regions[];
> >  };
> >  
> >  /**
> 

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

* Re: [Intel-xe] [PATCH v2 06/14] drm/xe/uapi: Align on a common way to return arrays (gt)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 06/14] drm/xe/uapi: Align on a common way to return arrays (gt) Francois Dugast
@ 2023-11-28 20:51   ` Rodrigo Vivi
  2023-11-29 18:30   ` Matt Roper
  1 sibling, 0 replies; 49+ messages in thread
From: Rodrigo Vivi @ 2023-11-28 20:51 UTC (permalink / raw)
  To: Francois Dugast; +Cc: intel-xe

On Wed, Nov 22, 2023 at 02:38:25PM +0000, Francois Dugast wrote:
> The uAPI provides queries which return arrays of elements. As of now
> the format used in the struct is different depending on which element
> is queried. However, aligning on the new common pattern:
> 
>     struct drm_xe_query_Xs {
>        __u32 num_Xs;
>        struct drm_xe_X Xs[];
>        ...
>     }
> 
> ... would mean bringing back the name "gts" which is avoided per
> commit ("drm/xe/uapi: Rename gts to gt_list") so make an exception
> for gt and leave gt_list. Also, this change removes "query" in the
> name of struct drm_xe_query_gt as it is not returned from the query
> IOCTL. There is no functional change.
> 
> v2: Leave gt_list (Matt Roper)
> 
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>


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

> ---
>  drivers/gpu/drm/xe/xe_query.c | 2 +-
>  include/uapi/drm/xe_drm.h     | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index f321ed4d3b0b..28ea6dbf1cf9 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -354,7 +354,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
>  {
>  	struct xe_gt *gt;
>  	size_t size = sizeof(struct drm_xe_query_gt_list) +
> -		xe->info.gt_count * sizeof(struct drm_xe_query_gt);
> +		xe->info.gt_count * sizeof(struct drm_xe_gt);
>  	struct drm_xe_query_gt_list __user *query_ptr =
>  		u64_to_user_ptr(query->data);
>  	struct drm_xe_query_gt_list *gt_list;
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index a9bbdf141fe2..e38e7b701edf 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -356,14 +356,14 @@ struct drm_xe_query_config {
>  };
>  
>  /**
> - * struct drm_xe_query_gt - describe an individual GT.
> + * struct drm_xe_gt - describe an individual GT.
>   *
>   * To be used with drm_xe_query_gt_list, which will return a list with all the
>   * existing GT individual descriptions.
>   * Graphics Technology (GT) is a subset of a GPU/tile that is responsible for
>   * implementing graphics and/or media operations.
>   */
> -struct drm_xe_query_gt {
> +struct drm_xe_gt {
>  #define DRM_XE_QUERY_GT_TYPE_MAIN		0
>  #define DRM_XE_QUERY_GT_TYPE_MEDIA		1
>  	/** @type: GT type: Main or Media */
> @@ -403,7 +403,7 @@ struct drm_xe_query_gt_list {
>  	/** @pad: MBZ */
>  	__u32 pad;
>  	/** @gt_list: The GT list returned for this device */
> -	struct drm_xe_query_gt gt_list[];
> +	struct drm_xe_gt gt_list[];
>  };
>  
>  /**
> -- 
> 2.34.1
> 

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

* Re: [Intel-xe] [PATCH v2 07/14] drm/xe/uapi: Align on a common way to return arrays (engines)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 07/14] drm/xe/uapi: Align on a common way to return arrays (engines) Francois Dugast
@ 2023-11-28 20:56   ` Rodrigo Vivi
  0 siblings, 0 replies; 49+ messages in thread
From: Rodrigo Vivi @ 2023-11-28 20:56 UTC (permalink / raw)
  To: Francois Dugast; +Cc: intel-xe

On Wed, Nov 22, 2023 at 02:38:26PM +0000, Francois Dugast wrote:
> The uAPI provides queries which return arrays of elements. As of now
> the format used in the struct is different depending on which element
> is queried. Fix this for engines by applying the pattern below:
> 
>         struct drm_xe_query_Xs {
>            __u32 num_Xs;
>            struct drm_xe_X Xs[];
>            ...
>         }
> 
> Instead of directly returning an array of struct
> drm_xe_query_engine_info, a new struct drm_xe_query_engines is
> introduced. It contains itself an array of struct drm_xe_engine
> which holds the information about each engine.
> 
> v2: Use plural for struct drm_xe_query_engines as multiple engines
>     are returned (José Roberto de Souza)
> 
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_query.c | 31 ++++++++------
>  include/uapi/drm/xe_drm.h     | 78 +++++++++++++++++++++--------------
>  2 files changed, 65 insertions(+), 44 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index 28ea6dbf1cf9..8bf0fe6b09e0 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -53,7 +53,8 @@ static size_t calc_hw_engine_info_size(struct xe_device *xe)
>  			i++;
>  		}
>  
> -	return i * sizeof(struct drm_xe_query_engine_info);
> +	return sizeof(struct drm_xe_query_engines) +
> +		i * sizeof(struct drm_xe_engine);
>  }
>  
>  typedef u64 (*__ktime_func_t)(void);
> @@ -186,9 +187,9 @@ static int query_engines(struct xe_device *xe,
>  			 struct drm_xe_device_query *query)
>  {
>  	size_t size = calc_hw_engine_info_size(xe);
> -	struct drm_xe_query_engine_info __user *query_ptr =
> +	struct drm_xe_query_engines __user *query_ptr =
>  		u64_to_user_ptr(query->data);
> -	struct drm_xe_query_engine_info *hw_engine_info;
> +	struct drm_xe_query_engines *engines;
>  	struct xe_hw_engine *hwe;
>  	enum xe_hw_engine_id id;
>  	struct xe_gt *gt;
> @@ -202,8 +203,8 @@ static int query_engines(struct xe_device *xe,
>  		return -EINVAL;
>  	}
>  
> -	hw_engine_info = kmalloc(size, GFP_KERNEL);
> -	if (!hw_engine_info)
> +	engines = kmalloc(size, GFP_KERNEL);
> +	if (!engines)
>  		return -ENOMEM;
>  
>  	for_each_gt(gt, xe, gt_id)
> @@ -211,22 +212,26 @@ static int query_engines(struct xe_device *xe,
>  			if (xe_hw_engine_is_reserved(hwe))
>  				continue;
>  
> -			hw_engine_info[i].instance.engine_class =
> +			engines->engines[i].instance.engine_class =
>  				xe_to_user_engine_class[hwe->class];
> -			hw_engine_info[i].instance.engine_instance =
> +			engines->engines[i].instance.engine_instance =
>  				hwe->logical_instance;
> -			hw_engine_info[i].instance.gt_id = gt->info.id;
> -			hw_engine_info[i].instance.pad = 0;
> -			memset(hw_engine_info->reserved, 0, sizeof(hw_engine_info->reserved));
> +			engines->engines[i].instance.gt_id = gt->info.id;
> +			engines->engines[i].instance.pad = 0;
> +			memset(engines->engines[i].reserved, 0,
> +			       sizeof(engines->engines[i].reserved));
>  
>  			i++;
>  		}
>  
> -	if (copy_to_user(query_ptr, hw_engine_info, size)) {
> -		kfree(hw_engine_info);
> +	engines->pad = 0;

we don't need to initialize the pad. kzalloc already takes care of that.
But also I see that the one in region above was already initialized and
I don't see a big problem.

this at least is consistent with the above, but we could also remove the
one above or not touching this... anyway you decide to go:

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

> +	engines->num_engines = i;
> +
> +	if (copy_to_user(query_ptr, engines, size)) {
> +		kfree(engines);
>  		return -EFAULT;
>  	}
> -	kfree(hw_engine_info);
> +	kfree(engines);
>  
>  	return 0;
>  }
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index e38e7b701edf..fe911728fd97 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -127,9 +127,9 @@ struct xe_user_extension {
>  /**
>   * struct drm_xe_engine_class_instance - instance of an engine class
>   *
> - * It is returned as part of the @drm_xe_query_engine_info, but it also is
> - * used as the input of engine selection for both @drm_xe_exec_queue_create
> - * and @drm_xe_query_engine_cycles
> + * It is returned as part of the @drm_xe_engine, but it also is used as
> + * the input of engine selection for both @drm_xe_exec_queue_create and
> + * @drm_xe_query_engine_cycles
>   *
>   */
>  struct drm_xe_engine_class_instance {
> @@ -153,13 +153,9 @@ struct drm_xe_engine_class_instance {
>  };
>  
>  /**
> - * struct drm_xe_query_engine_info - describe hardware engine
> - *
> - * If a query is made with a struct @drm_xe_device_query where .query
> - * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
> - * struct @drm_xe_query_engine_info in .data.
> + * struct drm_xe_engine - describe hardware engine
>   */
> -struct drm_xe_query_engine_info {
> +struct drm_xe_engine {
>  	/** @instance: The @drm_xe_engine_class_instance */
>  	struct drm_xe_engine_class_instance instance;
>  
> @@ -167,6 +163,22 @@ struct drm_xe_query_engine_info {
>  	__u64 reserved[5];
>  };
>  
> +/**
> + * struct drm_xe_query_engines - describe engines
> + *
> + * If a query is made with a struct @drm_xe_device_query where .query
> + * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
> + * struct @drm_xe_query_engines in .data.
> + */
> +struct drm_xe_query_engines {
> +	/** @num_engines: number of engines returned in @engines */
> +	__u32 num_engines;
> +	/** @pad: MBZ */
> +	__u32 pad;
> +	/** @engines: The returned engines for this device */
> +	struct drm_xe_engine engines[];
> +};
> +
>  /**
>   * enum drm_xe_memory_class - Supported memory classes.
>   */
> @@ -466,28 +478,32 @@ struct drm_xe_query_topology_mask {
>   *
>   * .. code-block:: C
>   *
> - *	struct drm_xe_engine_class_instance *hwe;
> - *	struct drm_xe_device_query query = {
> - *		.extensions = 0,
> - *		.query = DRM_XE_DEVICE_QUERY_ENGINES,
> - *		.size = 0,
> - *		.data = 0,
> - *	};
> - *	ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query);
> - *	hwe = malloc(query.size);
> - *	query.data = (uintptr_t)hwe;
> - *	ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query);
> - *	int num_engines = query.size / sizeof(*hwe);
> - *	for (int i = 0; i < num_engines; i++) {
> - *		printf("Engine %d: %s\n", i,
> - *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_RENDER ? "RENDER":
> - *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_COPY ? "COPY":
> - *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_VIDEO_DECODE ? "VIDEO_DECODE":
> - *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE ? "VIDEO_ENHANCE":
> - *			hwe[i].engine_class == DRM_XE_ENGINE_CLASS_COMPUTE ? "COMPUTE":
> - *			"UNKNOWN");
> - *	}
> - *	free(hwe);
> + *     struct drm_xe_query_engines *engines;
> + *     struct drm_xe_device_query query = {
> + *         .extensions = 0,
> + *         .query = DRM_XE_DEVICE_QUERY_ENGINES,
> + *         .size = 0,
> + *         .data = 0,
> + *     };
> + *     ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query);
> + *     engines = malloc(query.size);
> + *     query.data = (uintptr_t)engines;
> + *     ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query);
> + *     for (int i = 0; i < engines->num_engines; i++) {
> + *         printf("Engine %d: %s\n", i,
> + *             engines->engines[i].instance.engine_class ==
> + *                 DRM_XE_ENGINE_CLASS_RENDER ? "RENDER":
> + *             engines->engines[i].instance.engine_class ==
> + *                 DRM_XE_ENGINE_CLASS_COPY ? "COPY":
> + *             engines->engines[i].instance.engine_class ==
> + *                 DRM_XE_ENGINE_CLASS_VIDEO_DECODE ? "VIDEO_DECODE":
> + *             engines->engines[i].instance.engine_class ==
> + *                 DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE ? "VIDEO_ENHANCE":
> + *             engines->engines[i].instance.engine_class ==
> + *                 DRM_XE_ENGINE_CLASS_COMPUTE ? "COMPUTE":
> + *             "UNKNOWN");
> + *     }
> + *     free(engines);
>   */
>  struct drm_xe_device_query {
>  	/** @extensions: Pointer to the first extension struct, if any */
> -- 
> 2.34.1
> 

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

* Re: [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof Francois Dugast
@ 2023-11-28 21:17   ` Matthew Brost
  2023-11-29 16:54     ` Rodrigo Vivi
  0 siblings, 1 reply; 49+ messages in thread
From: Matthew Brost @ 2023-11-28 21:17 UTC (permalink / raw)
  To: Francois Dugast; +Cc: intel-xe, Rodrigo Vivi

On Wed, Nov 22, 2023 at 02:38:22PM +0000, Francois Dugast wrote:
> From: José Roberto de Souza <jose.souza@intel.com>
> 
> We have at least 2 future features(OA and future media engines
> capabilities) that will require Xe to provide more information about
> engines to UMDs.
> 
> But this information should not just be added to
> drm_xe_engine_class_instance for a couple of reasons:
> - drm_xe_engine_class_instance is used as input to other structs/uAPIs
> and those uAPIs don't care about any of these future new engine fields
> - those new fields are useless information after initialization for
> some UMDs, so it should not need to carry that around
> 
> So here my proposal is to make DRM_XE_DEVICE_QUERY_ENGINES return an
> array of drm_xe_query_engine_info that contain
> drm_xe_engine_class_instance and 3 u64s to be used for future features.

There is 5 u64 in this patch.

Anyways agree this better but what if we improve this a bit more making
each __drm_xe_query_engine_info a dynamic size.

e.g.
struct __drm_xe_query_engine_info {	/* Bad name, just for example */
     /** @instance: The @drm_xe_engine_class_instance */
     struct drm_xe_engine_class_instance instance;

     /** @reserved: Reserved, dynamic size */
     __u64 reserved[0];
};

struct drm_xe_query_engine_info {
     /** @num_engines: Number engines */
     __u64 num_engines;
     /** @engine_info: Array of engine info */
     struct __drm_xe_query_engine_info engine_info[0];
};

The size of __drm_xe_query_engine_info then change and can be calculated
to be:

(returned size of query - sizoeof(__u64)) / drm_xe_query_engine_info.num_engines

We then should be able to add additional fields to
__drm_xe_query_engine_info indefinitely.

What does everyone think? We likely can apply this idea to other
queries too as it makes sense.

Matt

> 
> Reference OA:
> https://patchwork.freedesktop.org/patch/558362/?series=121084&rev=6
> 
> Cc: Francois Dugast <francois.dugast@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> [Rodrigo Rebased]
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_query.c | 15 ++++++++-------
>  include/uapi/drm/xe_drm.h     | 24 +++++++++++++++++++++++-
>  2 files changed, 31 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index 61a7d92b7e88..0cbfeaeb1330 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -53,7 +53,7 @@ static size_t calc_hw_engine_info_size(struct xe_device *xe)
>  			i++;
>  		}
>  
> -	return i * sizeof(struct drm_xe_engine_class_instance);
> +	return i * sizeof(struct drm_xe_query_engine_info);
>  }
>  
>  typedef u64 (*__ktime_func_t)(void);
> @@ -186,9 +186,9 @@ static int query_engines(struct xe_device *xe,
>  			 struct drm_xe_device_query *query)
>  {
>  	size_t size = calc_hw_engine_info_size(xe);
> -	struct drm_xe_engine_class_instance __user *query_ptr =
> +	struct drm_xe_query_engine_info __user *query_ptr =
>  		u64_to_user_ptr(query->data);
> -	struct drm_xe_engine_class_instance *hw_engine_info;
> +	struct drm_xe_query_engine_info *hw_engine_info;
>  	struct xe_hw_engine *hwe;
>  	enum xe_hw_engine_id id;
>  	struct xe_gt *gt;
> @@ -211,12 +211,13 @@ static int query_engines(struct xe_device *xe,
>  			if (xe_hw_engine_is_reserved(hwe))
>  				continue;
>  
> -			hw_engine_info[i].engine_class =
> +			hw_engine_info[i].instance.engine_class =
>  				xe_to_user_engine_class[hwe->class];
> -			hw_engine_info[i].engine_instance =
> +			hw_engine_info[i].instance.engine_instance =
>  				hwe->logical_instance;
> -			hw_engine_info[i].gt_id = gt->info.id;
> -			hw_engine_info[i].pad = 0;
> +			hw_engine_info[i].instance.gt_id = gt->info.id;
> +			hw_engine_info[i].instance.pad = 0;
> +			memset(hw_engine_info->reserved, 0, sizeof(hw_engine_info->reserved));
>  
>  			i++;
>  		}
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 1bdd20d3c4a8..c80e03b61489 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -124,7 +124,14 @@ struct xe_user_extension {
>  #define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY	DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property)
>  #define DRM_IOCTL_XE_WAIT_USER_FENCE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
>  
> -/** struct drm_xe_engine_class_instance - instance of an engine class */
> +/**
> + * struct drm_xe_engine_class_instance - instance of an engine class
> + *
> + * It is returned as part of the @drm_xe_query_engine_info, but it also is
> + * used as the input of engine selection for both @drm_xe_exec_queue_create
> + * and @drm_xe_query_engine_cycles
> + *
> + */
>  struct drm_xe_engine_class_instance {
>  #define DRM_XE_ENGINE_CLASS_RENDER		0
>  #define DRM_XE_ENGINE_CLASS_COPY		1
> @@ -145,6 +152,21 @@ struct drm_xe_engine_class_instance {
>  	__u16 pad;
>  };
>  
> +/**
> + * struct drm_xe_query_engine_info - describe hardware engine
> + *
> + * If a query is made with a struct @drm_xe_device_query where .query
> + * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
> + * struct @drm_xe_query_engine_info in .data.
> + */
> +struct drm_xe_query_engine_info {
> +	/** @instance: The @drm_xe_engine_class_instance */
> +	struct drm_xe_engine_class_instance instance;
> +
> +	/** @reserved: Reserved */
> +	__u64 reserved[5];
> +};
> +
>  /**
>   * enum drm_xe_memory_class - Supported memory classes.
>   */
> -- 
> 2.34.1
> 

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

* Re: [Intel-xe] [PATCH v2 08/14] drm/xe/uapi: Split xe_sync types from flags
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 08/14] drm/xe/uapi: Split xe_sync types from flags Francois Dugast
@ 2023-11-28 21:19   ` Matthew Brost
  0 siblings, 0 replies; 49+ messages in thread
From: Matthew Brost @ 2023-11-28 21:19 UTC (permalink / raw)
  To: Francois Dugast; +Cc: intel-xe, Rodrigo Vivi

On Wed, Nov 22, 2023 at 02:38:27PM +0000, Francois Dugast wrote:
> From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> Let's continue on the uapi clean-up with more splits
> with stuff into their own exclusive fields instead of
> reusing stuff.
> 
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>

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

> ---
>  drivers/gpu/drm/xe/xe_sync.c       | 23 +++++++----------------
>  drivers/gpu/drm/xe/xe_sync_types.h |  1 +
>  include/uapi/drm/xe_drm.h          | 16 ++++++++--------
>  3 files changed, 16 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c
> index eafe53c2f55d..883987b27c4e 100644
> --- a/drivers/gpu/drm/xe/xe_sync.c
> +++ b/drivers/gpu/drm/xe/xe_sync.c
> @@ -17,8 +17,6 @@
>  #include "xe_macros.h"
>  #include "xe_sched_job_types.h"
>  
> -#define SYNC_FLAGS_TYPE_MASK 0x3
> -
>  struct user_fence {
>  	struct xe_device *xe;
>  	struct kref refcount;
> @@ -109,15 +107,13 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
>  	if (copy_from_user(&sync_in, sync_user, sizeof(*sync_user)))
>  		return -EFAULT;
>  
> -	if (XE_IOCTL_DBG(xe, sync_in.flags &
> -			 ~(SYNC_FLAGS_TYPE_MASK | DRM_XE_SYNC_FLAG_SIGNAL)) ||
> -	    XE_IOCTL_DBG(xe, sync_in.pad) ||
> +	if (XE_IOCTL_DBG(xe, sync_in.flags & ~DRM_XE_SYNC_FLAG_SIGNAL) ||
>  	    XE_IOCTL_DBG(xe, sync_in.reserved[0] || sync_in.reserved[1]))
>  		return -EINVAL;
>  
>  	signal = sync_in.flags & DRM_XE_SYNC_FLAG_SIGNAL;
> -	switch (sync_in.flags & SYNC_FLAGS_TYPE_MASK) {
> -	case DRM_XE_SYNC_FLAG_SYNCOBJ:
> +	switch (sync_in.type) {
> +	case DRM_XE_SYNC_TYPE_SYNCOBJ:
>  		if (XE_IOCTL_DBG(xe, no_dma_fences && signal))
>  			return -EOPNOTSUPP;
>  
> @@ -135,7 +131,7 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
>  		}
>  		break;
>  
> -	case DRM_XE_SYNC_FLAG_TIMELINE_SYNCOBJ:
> +	case DRM_XE_SYNC_TYPE_TIMELINE_SYNCOBJ:
>  		if (XE_IOCTL_DBG(xe, no_dma_fences && signal))
>  			return -EOPNOTSUPP;
>  
> @@ -165,12 +161,7 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
>  		}
>  		break;
>  
> -	case DRM_XE_SYNC_FLAG_DMA_BUF:
> -		if (XE_IOCTL_DBG(xe, "TODO"))
> -			return -EINVAL;
> -		break;
> -
> -	case DRM_XE_SYNC_FLAG_USER_FENCE:
> +	case DRM_XE_SYNC_TYPE_USER_FENCE:
>  		if (XE_IOCTL_DBG(xe, !signal))
>  			return -EOPNOTSUPP;
>  
> @@ -192,6 +183,7 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
>  		return -EINVAL;
>  	}
>  
> +	sync->type = sync_in.type;
>  	sync->flags = sync_in.flags;
>  	sync->timeline_value = sync_in.timeline_value;
>  
> @@ -252,8 +244,7 @@ void xe_sync_entry_signal(struct xe_sync_entry *sync, struct xe_sched_job *job,
>  			user_fence_put(sync->ufence);
>  			dma_fence_put(fence);
>  		}
> -	} else if ((sync->flags & SYNC_FLAGS_TYPE_MASK) ==
> -		   DRM_XE_SYNC_FLAG_USER_FENCE) {
> +	} else if (sync->type == DRM_XE_SYNC_TYPE_USER_FENCE) {
>  		job->user_fence.used = true;
>  		job->user_fence.addr = sync->addr;
>  		job->user_fence.value = sync->timeline_value;
> diff --git a/drivers/gpu/drm/xe/xe_sync_types.h b/drivers/gpu/drm/xe/xe_sync_types.h
> index 24fccc26cb53..852db5e7884f 100644
> --- a/drivers/gpu/drm/xe/xe_sync_types.h
> +++ b/drivers/gpu/drm/xe/xe_sync_types.h
> @@ -21,6 +21,7 @@ struct xe_sync_entry {
>  	struct user_fence *ufence;
>  	u64 addr;
>  	u64 timeline_value;
> +	u32 type;
>  	u32 flags;
>  };
>  
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index fe911728fd97..f2bdc6e323e4 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -880,16 +880,16 @@ struct drm_xe_sync {
>  	/** @extensions: Pointer to the first extension struct, if any */
>  	__u64 extensions;
>  
> -#define DRM_XE_SYNC_FLAG_SYNCOBJ		0x0
> -#define DRM_XE_SYNC_FLAG_TIMELINE_SYNCOBJ	0x1
> -#define DRM_XE_SYNC_FLAG_DMA_BUF		0x2
> -#define DRM_XE_SYNC_FLAG_USER_FENCE		0x3
> -#define DRM_XE_SYNC_FLAG_SIGNAL		0x10
> +#define DRM_XE_SYNC_TYPE_SYNCOBJ		0x0
> +#define DRM_XE_SYNC_TYPE_TIMELINE_SYNCOBJ	0x1
> +#define DRM_XE_SYNC_TYPE_USER_FENCE		0x2
> +	/** @type: Type of the this sync object */
> +	__u32 type;
> +
> +#define DRM_XE_SYNC_FLAG_SIGNAL	(1 << 0)
> +	/** @flags: Sync Flags */
>  	__u32 flags;
>  
> -	/** @pad: MBZ */
> -	__u32 pad;
> -
>  	union {
>  		__u32 handle;
>  
> -- 
> 2.34.1
> 

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

* Re: [Intel-xe] [PATCH v2 09/14] drm/xe/uapi: Kill tile_mask
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 09/14] drm/xe/uapi: Kill tile_mask Francois Dugast
@ 2023-11-29  9:07   ` Matthew Brost
  0 siblings, 0 replies; 49+ messages in thread
From: Matthew Brost @ 2023-11-29  9:07 UTC (permalink / raw)
  To: Francois Dugast; +Cc: intel-xe, Rodrigo Vivi

On Wed, Nov 22, 2023 at 02:38:28PM +0000, Francois Dugast wrote:
> From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> It is currently unused, so by the rules it cannot go upstream.
> Also there was the desire to convert that to align with the
> engine_class_instance selection, but the consensus on that one
> is to remain with the global gt_id. So we are keeping the gt_id
> there, not converting to a generic sched_group and also killing
> this tile_mask and only using the default behavior of 0 that is
> to create a mapping / page_table entry on every tile, similar
> to what i915.
> 
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>

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

> ---
>  drivers/gpu/drm/xe/xe_vm.c       | 41 ++++++++------------------------
>  drivers/gpu/drm/xe/xe_vm_types.h |  2 --
>  include/uapi/drm/xe_drm.h        |  8 +------
>  3 files changed, 11 insertions(+), 40 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index b39c6f43f01f..ccd2821e61f8 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -863,8 +863,7 @@ static struct xe_vma *xe_vma_create(struct xe_vm *vm,
>  				    u64 bo_offset_or_userptr,
>  				    u64 start, u64 end,
>  				    bool read_only,
> -				    bool is_null,
> -				    u8 tile_mask)
> +				    bool is_null)
>  {
>  	struct xe_vma *vma;
>  	struct xe_tile *tile;
> @@ -896,12 +895,8 @@ static struct xe_vma *xe_vma_create(struct xe_vm *vm,
>  	if (is_null)
>  		vma->gpuva.flags |= DRM_GPUVA_SPARSE;
>  
> -	if (tile_mask) {
> -		vma->tile_mask = tile_mask;
> -	} else {
> -		for_each_tile(tile, vm->xe, id)
> -			vma->tile_mask |= 0x1 << id;
> -	}
> +	for_each_tile(tile, vm->xe, id)
> +		vma->tile_mask |= 0x1 << id;
>  
>  	if (GRAPHICS_VER(vm->xe) >= 20 || vm->xe->info.platform == XE_PVC)
>  		vma->gpuva.flags |= XE_VMA_ATOMIC_PTE_BIT;
> @@ -2167,7 +2162,7 @@ static void print_op(struct xe_device *xe, struct drm_gpuva_op *op)
>  static struct drm_gpuva_ops *
>  vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_bo *bo,
>  			 u64 bo_offset_or_userptr, u64 addr, u64 range,
> -			 u32 operation, u32 flags, u8 tile_mask,
> +			 u32 operation, u32 flags,
>  			 u32 prefetch_region)
>  {
>  	struct drm_gem_object *obj = bo ? &bo->ttm.base : NULL;
> @@ -2223,7 +2218,6 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_bo *bo,
>  	drm_gpuva_for_each_op(__op, ops) {
>  		struct xe_vma_op *op = gpuva_op_to_vma_op(__op);
>  
> -		op->tile_mask = tile_mask;
>  		if (__op->op == DRM_GPUVA_OP_MAP) {
>  			op->map.immediate =
>  				flags & DRM_XE_VM_BIND_FLAG_IMMEDIATE;
> @@ -2241,7 +2235,7 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_bo *bo,
>  }
>  
>  static struct xe_vma *new_vma(struct xe_vm *vm, struct drm_gpuva_op_map *op,
> -			      u8 tile_mask, bool read_only, bool is_null)
> +			      bool read_only, bool is_null)
>  {
>  	struct xe_bo *bo = op->gem.obj ? gem_to_xe_bo(op->gem.obj) : NULL;
>  	struct xe_vma *vma;
> @@ -2256,8 +2250,7 @@ static struct xe_vma *new_vma(struct xe_vm *vm, struct drm_gpuva_op_map *op,
>  	}
>  	vma = xe_vma_create(vm, bo, op->gem.offset,
>  			    op->va.addr, op->va.addr +
> -			    op->va.range - 1, read_only, is_null,
> -			    tile_mask);
> +			    op->va.range - 1, read_only, is_null);
>  	if (bo)
>  		xe_bo_unlock(bo);
>  
> @@ -2401,8 +2394,7 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
>  		{
>  			struct xe_vma *vma;
>  
> -			vma = new_vma(vm, &op->base.map,
> -				      op->tile_mask, op->map.read_only,
> +			vma = new_vma(vm, &op->base.map, op->map.read_only,
>  				      op->map.is_null);
>  			if (IS_ERR(vma))
>  				return PTR_ERR(vma);
> @@ -2427,8 +2419,7 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
>  					op->base.remap.unmap->va->flags &
>  					DRM_GPUVA_SPARSE;
>  
> -				vma = new_vma(vm, op->base.remap.prev,
> -					      op->tile_mask, read_only,
> +				vma = new_vma(vm, op->base.remap.prev, read_only,
>  					      is_null);
>  				if (IS_ERR(vma))
>  					return PTR_ERR(vma);
> @@ -2461,8 +2452,7 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
>  					op->base.remap.unmap->va->flags &
>  					DRM_GPUVA_SPARSE;
>  
> -				vma = new_vma(vm, op->base.remap.next,
> -					      op->tile_mask, read_only,
> +				vma = new_vma(vm, op->base.remap.next, read_only,
>  					      is_null);
>  				if (IS_ERR(vma))
>  					return PTR_ERR(vma);
> @@ -2994,16 +2984,6 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
>  			err = -EINVAL;
>  			goto release_vm_lock;
>  		}
> -
> -		if (bind_ops[i].tile_mask) {
> -			u64 valid_tiles = BIT(xe->info.tile_count) - 1;
> -
> -			if (XE_IOCTL_DBG(xe, bind_ops[i].tile_mask &
> -					 ~valid_tiles)) {
> -				err = -EINVAL;
> -				goto release_vm_lock;
> -			}
> -		}
>  	}
>  
>  	bos = kzalloc(sizeof(*bos) * args->num_binds, GFP_KERNEL);
> @@ -3076,12 +3056,11 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
>  		u32 op = bind_ops[i].op;
>  		u32 flags = bind_ops[i].flags;
>  		u64 obj_offset = bind_ops[i].obj_offset;
> -		u8 tile_mask = bind_ops[i].tile_mask;
>  		u32 prefetch_region = bind_ops[i].prefetch_mem_region_instance;
>  
>  		ops[i] = vm_bind_ioctl_ops_create(vm, bos[i], obj_offset,
>  						  addr, range, op, flags,
> -						  tile_mask, prefetch_region);
> +						  prefetch_region);
>  		if (IS_ERR(ops[i])) {
>  			err = PTR_ERR(ops[i]);
>  			ops[i] = NULL;
> diff --git a/drivers/gpu/drm/xe/xe_vm_types.h b/drivers/gpu/drm/xe/xe_vm_types.h
> index aaf0c7101019..9a2f2f23dabd 100644
> --- a/drivers/gpu/drm/xe/xe_vm_types.h
> +++ b/drivers/gpu/drm/xe/xe_vm_types.h
> @@ -400,8 +400,6 @@ struct xe_vma_op {
>  	u32 num_syncs;
>  	/** @link: async operation link */
>  	struct list_head link;
> -	/** @tile_mask: gt mask for this operation */
> -	u8 tile_mask;
>  	/** @flags: operation flags */
>  	enum xe_vma_op_flags flags;
>  
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index f2bdc6e323e4..85b0affc9f89 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -683,12 +683,6 @@ struct drm_xe_vm_bind_op {
>  	/** @addr: Address to operate on, MBZ for UNMAP_ALL */
>  	__u64 addr;
>  
> -	/**
> -	 * @tile_mask: Mask for which tiles to create binds for, 0 == All tiles,
> -	 * only applies to creating new VMAs
> -	 */
> -	__u64 tile_mask;
> -
>  #define DRM_XE_VM_BIND_OP_MAP		0x0
>  #define DRM_XE_VM_BIND_OP_UNMAP		0x1
>  #define DRM_XE_VM_BIND_OP_MAP_USERPTR	0x2
> @@ -723,7 +717,7 @@ struct drm_xe_vm_bind_op {
>  	__u32 prefetch_mem_region_instance;
>  
>  	/** @reserved: Reserved */
> -	__u64 reserved[2];
> +	__u64 reserved[3];
>  };
>  
>  struct drm_xe_vm_bind {
> -- 
> 2.34.1
> 

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

* Re: [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions)
  2023-11-28 20:51     ` Rodrigo Vivi
@ 2023-11-29 12:33       ` Francois Dugast
  0 siblings, 0 replies; 49+ messages in thread
From: Francois Dugast @ 2023-11-29 12:33 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-xe

On Tue, Nov 28, 2023 at 03:51:13PM -0500, Rodrigo Vivi wrote:
> On Fri, Nov 24, 2023 at 06:19:47PM +0000, Souza, Jose wrote:
> > On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> > > The uAPI provides queries which return arrays of elements. As of now
> > > the format used in the struct is different depending on which element
> > > is queried. Fix this for memory regions by applying the pattern below:
> > > 
> > >     struct drm_xe_query_Xs {
> > >        __u32 num_Xs;
> > >        struct drm_xe_X Xs[];
> > >        ...
> > >     }
> > > 
> > > This removes "query" in the name of struct drm_xe_query_mem_region
> > > as it is not returned from the query IOCTL. There is no functional
> > > change.
> > > 
> > > v2: Only rename drm_xe_query_mem_region to drm_xe_mem_region
> > >     (José Roberto de Souza)
> > > 
> > > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > > ---
> > >  drivers/gpu/drm/xe/xe_query.c | 36 ++++++++++++++++++-----------------
> > >  include/uapi/drm/xe_drm.h     | 12 ++++++------
> > >  2 files changed, 25 insertions(+), 23 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > > index 0cbfeaeb1330..f321ed4d3b0b 100644
> > > --- a/drivers/gpu/drm/xe/xe_query.c
> > > +++ b/drivers/gpu/drm/xe/xe_query.c
> > > @@ -240,11 +240,11 @@ static size_t calc_mem_regions_size(struct xe_device *xe)
> > >  		if (ttm_manager_type(&xe->ttm, i))
> > >  			num_managers++;
> > >  
> > > -	return offsetof(struct drm_xe_query_mem_regions, regions[num_managers]);
> > > +	return offsetof(struct drm_xe_query_mem_regions, mem_regions[num_managers]);
> > >  }
> > >  
> > >  static int query_mem_regions(struct xe_device *xe,
> > > -			     struct drm_xe_device_query *query)
> > > +			    struct drm_xe_device_query *query)
> > >  {
> > >  	size_t size = calc_mem_regions_size(xe);
> > >  	struct drm_xe_query_mem_regions *usage;
> > > @@ -265,36 +265,38 @@ static int query_mem_regions(struct xe_device *xe,
> > >  		return -ENOMEM;
> > >  
> > >  	man = ttm_manager_type(&xe->ttm, XE_PL_TT);
> > > -	usage->regions[0].mem_class = DRM_XE_MEM_REGION_CLASS_SYSMEM;
> > > -	usage->regions[0].instance = 0;
> > > -	usage->regions[0].min_page_size = PAGE_SIZE;
> > > -	usage->regions[0].total_size = man->size << PAGE_SHIFT;
> > > +	usage->mem_regions[0].mem_class = DRM_XE_MEM_REGION_CLASS_SYSMEM;
> > 
> > nit: can you also rename 'usage' to something else, it was named 'usage' because of the old query name.
> 
> my bad for having forgotten this 'usage' in here. Let's fix that in a follow-up after this series is merged.
> 
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

Thanks, it is already fixed in the next revision.

Francois

> 
> > 
> > 
> > > +	usage->mem_regions[0].instance = 0;
> > > +	usage->mem_regions[0].min_page_size = PAGE_SIZE;
> > > +	usage->mem_regions[0].total_size = man->size << PAGE_SHIFT;
> > >  	if (perfmon_capable())
> > > -		usage->regions[0].used = ttm_resource_manager_usage(man);
> > > -	usage->num_regions = 1;
> > > +		usage->mem_regions[0].used = ttm_resource_manager_usage(man);
> > > +	usage->num_mem_regions = 1;
> > >  
> > >  	for (i = XE_PL_VRAM0; i <= XE_PL_VRAM1; ++i) {
> > >  		man = ttm_manager_type(&xe->ttm, i);
> > >  		if (man) {
> > > -			usage->regions[usage->num_regions].mem_class =
> > > +			usage->mem_regions[usage->num_mem_regions].mem_class =
> > >  				DRM_XE_MEM_REGION_CLASS_VRAM;
> > > -			usage->regions[usage->num_regions].instance =
> > > -				usage->num_regions;
> > > -			usage->regions[usage->num_regions].min_page_size =
> > > +			usage->mem_regions[usage->num_mem_regions].instance =
> > > +				usage->num_mem_regions;
> > > +			usage->mem_regions[usage->num_mem_regions].min_page_size =
> > >  				xe->info.vram_flags & XE_VRAM_FLAGS_NEED64K ?
> > >  				SZ_64K : PAGE_SIZE;
> > > -			usage->regions[usage->num_regions].total_size =
> > > +			usage->mem_regions[usage->num_mem_regions].total_size =
> > >  				man->size;
> > >  
> > >  			if (perfmon_capable()) {
> > >  				xe_ttm_vram_get_used(man,
> > > -						     &usage->regions[usage->num_regions].used,
> > > -						     &usage->regions[usage->num_regions].cpu_visible_used);
> > > +						     &usage->mem_regions
> > > +						     [usage->num_mem_regions].used,
> > > +						     &usage->mem_regions
> > > +						     [usage->num_mem_regions].cpu_visible_used);
> > >  			}
> > >  
> > > -			usage->regions[usage->num_regions].cpu_visible_size =
> > > +			usage->mem_regions[usage->num_mem_regions].cpu_visible_size =
> > >  				xe_ttm_vram_get_cpu_visible_size(man);
> > > -			usage->num_regions++;
> > > +			usage->num_mem_regions++;
> > >  		}
> > >  	}
> > >  
> > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > index da10d946930b..a9bbdf141fe2 100644
> > > --- a/include/uapi/drm/xe_drm.h
> > > +++ b/include/uapi/drm/xe_drm.h
> > > @@ -182,10 +182,10 @@ enum drm_xe_memory_class {
> > >  };
> > >  
> > >  /**
> > > - * struct drm_xe_query_mem_region - Describes some region as known to
> > > + * struct drm_xe_mem_region - Describes some region as known to
> > >   * the driver.
> > >   */
> > > -struct drm_xe_query_mem_region {
> > > +struct drm_xe_mem_region {
> > >  	/**
> > >  	 * @mem_class: The memory class describing this region.
> > >  	 *
> > > @@ -322,12 +322,12 @@ struct drm_xe_query_engine_cycles {
> > >   * struct drm_xe_query_mem_regions in .data.
> > >   */
> > >  struct drm_xe_query_mem_regions {
> > > -	/** @num_regions: number of memory regions returned in @regions */
> > > -	__u32 num_regions;
> > > +	/** @num_mem_regions: number of memory regions returned in @mem_regions */
> > > +	__u32 num_mem_regions;
> > >  	/** @pad: MBZ */
> > >  	__u32 pad;
> > > -	/** @regions: The returned regions for this device */
> > > -	struct drm_xe_query_mem_region regions[];
> > > +	/** @mem_regions: The returned memory regions for this device */
> > > +	struct drm_xe_mem_region mem_regions[];
> > >  };
> > >  
> > >  /**
> > 

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

* Re: [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
  2023-11-29 16:54     ` Rodrigo Vivi
@ 2023-11-29 12:35       ` Matthew Brost
  2023-11-29 20:04         ` Souza, Jose
  0 siblings, 1 reply; 49+ messages in thread
From: Matthew Brost @ 2023-11-29 12:35 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: Francois Dugast, intel-xe

On Wed, Nov 29, 2023 at 11:54:51AM -0500, Rodrigo Vivi wrote:
> On Tue, Nov 28, 2023 at 09:17:51PM +0000, Matthew Brost wrote:
> > On Wed, Nov 22, 2023 at 02:38:22PM +0000, Francois Dugast wrote:
> > > From: José Roberto de Souza <jose.souza@intel.com>
> > > 
> > > We have at least 2 future features(OA and future media engines
> > > capabilities) that will require Xe to provide more information about
> > > engines to UMDs.
> > > 
> > > But this information should not just be added to
> > > drm_xe_engine_class_instance for a couple of reasons:
> > > - drm_xe_engine_class_instance is used as input to other structs/uAPIs
> > > and those uAPIs don't care about any of these future new engine fields
> > > - those new fields are useless information after initialization for
> > > some UMDs, so it should not need to carry that around
> > > 
> > > So here my proposal is to make DRM_XE_DEVICE_QUERY_ENGINES return an
> > > array of drm_xe_query_engine_info that contain
> > > drm_xe_engine_class_instance and 3 u64s to be used for future features.
> > 
> > There is 5 u64 in this patch.
> 
> my bad, sorry. just trying to prepare for the many capabilities and other
> stuff we will likely need. But likely 3 would be enough.
> 
> > 
> > Anyways agree this better but what if we improve this a bit more making
> > each __drm_xe_query_engine_info a dynamic size.
> 
> hmmm... I think I like this idea. pahole seems to have a good output
> with our other existent dynamic array.
>

Cool, looking forward to what we come up with.

> > 
> > e.g.
> > struct __drm_xe_query_engine_info {	/* Bad name, just for example */
> >      /** @instance: The @drm_xe_engine_class_instance */
> >      struct drm_xe_engine_class_instance instance;
> > 
> >      /** @reserved: Reserved, dynamic size */
> >      __u64 reserved[0];
> 
> I believe [] instead of [0] is the preferred way nowadays.
> 

Yep.

Matt

> > };
> > 
> > struct drm_xe_query_engine_info {
> >      /** @num_engines: Number engines */
> >      __u64 num_engines;
> >      /** @engine_info: Array of engine info */
> >      struct __drm_xe_query_engine_info engine_info[0];
> > };
> > 
> > The size of __drm_xe_query_engine_info then change and can be calculated
> > to be:
> > 
> > (returned size of query - sizoeof(__u64)) / drm_xe_query_engine_info.num_engines
> > 
> > We then should be able to add additional fields to
> > __drm_xe_query_engine_info indefinitely.
> > 
> > What does everyone think? We likely can apply this idea to other
> > queries too as it makes sense.
> > 
> > Matt
> > 
> > > 
> > > Reference OA:
> > > https://patchwork.freedesktop.org/patch/558362/?series=121084&rev=6
> > > 
> > > Cc: Francois Dugast <francois.dugast@intel.com>
> > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > [Rodrigo Rebased]
> > > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > > ---
> > >  drivers/gpu/drm/xe/xe_query.c | 15 ++++++++-------
> > >  include/uapi/drm/xe_drm.h     | 24 +++++++++++++++++++++++-
> > >  2 files changed, 31 insertions(+), 8 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > > index 61a7d92b7e88..0cbfeaeb1330 100644
> > > --- a/drivers/gpu/drm/xe/xe_query.c
> > > +++ b/drivers/gpu/drm/xe/xe_query.c
> > > @@ -53,7 +53,7 @@ static size_t calc_hw_engine_info_size(struct xe_device *xe)
> > >  			i++;
> > >  		}
> > >  
> > > -	return i * sizeof(struct drm_xe_engine_class_instance);
> > > +	return i * sizeof(struct drm_xe_query_engine_info);
> > >  }
> > >  
> > >  typedef u64 (*__ktime_func_t)(void);
> > > @@ -186,9 +186,9 @@ static int query_engines(struct xe_device *xe,
> > >  			 struct drm_xe_device_query *query)
> > >  {
> > >  	size_t size = calc_hw_engine_info_size(xe);
> > > -	struct drm_xe_engine_class_instance __user *query_ptr =
> > > +	struct drm_xe_query_engine_info __user *query_ptr =
> > >  		u64_to_user_ptr(query->data);
> > > -	struct drm_xe_engine_class_instance *hw_engine_info;
> > > +	struct drm_xe_query_engine_info *hw_engine_info;
> > >  	struct xe_hw_engine *hwe;
> > >  	enum xe_hw_engine_id id;
> > >  	struct xe_gt *gt;
> > > @@ -211,12 +211,13 @@ static int query_engines(struct xe_device *xe,
> > >  			if (xe_hw_engine_is_reserved(hwe))
> > >  				continue;
> > >  
> > > -			hw_engine_info[i].engine_class =
> > > +			hw_engine_info[i].instance.engine_class =
> > >  				xe_to_user_engine_class[hwe->class];
> > > -			hw_engine_info[i].engine_instance =
> > > +			hw_engine_info[i].instance.engine_instance =
> > >  				hwe->logical_instance;
> > > -			hw_engine_info[i].gt_id = gt->info.id;
> > > -			hw_engine_info[i].pad = 0;
> > > +			hw_engine_info[i].instance.gt_id = gt->info.id;
> > > +			hw_engine_info[i].instance.pad = 0;
> > > +			memset(hw_engine_info->reserved, 0, sizeof(hw_engine_info->reserved));
> > >  
> > >  			i++;
> > >  		}
> > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > index 1bdd20d3c4a8..c80e03b61489 100644
> > > --- a/include/uapi/drm/xe_drm.h
> > > +++ b/include/uapi/drm/xe_drm.h
> > > @@ -124,7 +124,14 @@ struct xe_user_extension {
> > >  #define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY	DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property)
> > >  #define DRM_IOCTL_XE_WAIT_USER_FENCE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
> > >  
> > > -/** struct drm_xe_engine_class_instance - instance of an engine class */
> > > +/**
> > > + * struct drm_xe_engine_class_instance - instance of an engine class
> > > + *
> > > + * It is returned as part of the @drm_xe_query_engine_info, but it also is
> > > + * used as the input of engine selection for both @drm_xe_exec_queue_create
> > > + * and @drm_xe_query_engine_cycles
> > > + *
> > > + */
> > >  struct drm_xe_engine_class_instance {
> > >  #define DRM_XE_ENGINE_CLASS_RENDER		0
> > >  #define DRM_XE_ENGINE_CLASS_COPY		1
> > > @@ -145,6 +152,21 @@ struct drm_xe_engine_class_instance {
> > >  	__u16 pad;
> > >  };
> > >  
> > > +/**
> > > + * struct drm_xe_query_engine_info - describe hardware engine
> > > + *
> > > + * If a query is made with a struct @drm_xe_device_query where .query
> > > + * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
> > > + * struct @drm_xe_query_engine_info in .data.
> > > + */
> > > +struct drm_xe_query_engine_info {
> > > +	/** @instance: The @drm_xe_engine_class_instance */
> > > +	struct drm_xe_engine_class_instance instance;
> 
> > > +
> > > +	/** @reserved: Reserved */
> > > +	__u64 reserved[5];
> > > +};
> > > +
> > >  /**
> > >   * enum drm_xe_memory_class - Supported memory classes.
> > >   */
> > > -- 
> > > 2.34.1
> > > 

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

* Re: [Intel-xe] [PATCH v2 10/14] drm/xe/uapi: Crystal Reference Clock updates
  2023-11-24 18:38   ` Souza, Jose
@ 2023-11-29 14:08     ` Francois Dugast
  2023-11-29 18:33       ` Souza, Jose
  0 siblings, 1 reply; 49+ messages in thread
From: Francois Dugast @ 2023-11-29 14:08 UTC (permalink / raw)
  To: Souza, Jose; +Cc: Roper, Matthew D, intel-xe, Vivi,  Rodrigo

On Fri, Nov 24, 2023 at 07:38:04PM +0100, Souza, Jose wrote:
> On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > 
> > First of all, let's remove the duplication.
> > But also, let's rename it to remove the word 'frequency'
> > out of it. In general, the first thing people think of frequency
> > is the frequency in which the GTs are operating to execute the
> > GPU instructions.
> > 
> > While this frequency here is a crystal reference clock frequency
> > which is the base of everything else, and in this case of this
> > uAPI it is used to calculate a better and precise timestamp.
> > 
> > v2: (Suggested by Jose) Remove the engine_cs and keep the GT info one
> > since it might be useful for other SRIOV cases where the engine_cs
> > will be zeroed. So, grabbing from the GT_LIST should be cleaner.
> > 
> > Cc: Matt Roper <matthew.d.roper@intel.com>
> > Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> > Cc: Jose Souza <jose.souza@intel.com>
> > 
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > ---
> >  drivers/gpu/drm/xe/xe_gt_clock.c |  4 ++--
> >  drivers/gpu/drm/xe/xe_gt_types.h |  4 ++--
> >  drivers/gpu/drm/xe/xe_query.c    |  8 +-------
> >  include/uapi/drm/xe_drm.h        | 11 ++++-------
> >  4 files changed, 9 insertions(+), 18 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_gt_clock.c b/drivers/gpu/drm/xe/xe_gt_clock.c
> > index 25a18eaad9c4..937054e31d72 100644
> > --- a/drivers/gpu/drm/xe/xe_gt_clock.c
> > +++ b/drivers/gpu/drm/xe/xe_gt_clock.c
> > @@ -75,11 +75,11 @@ int xe_gt_clock_init(struct xe_gt *gt)
> >  		freq >>= 3 - REG_FIELD_GET(RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK, c0);
> >  	}
> >  
> > -	gt->info.clock_freq = freq;
> > +	gt->info.reference_clock = freq;
> >  	return 0;
> >  }
> >  
> >  u64 xe_gt_clock_cycles_to_ns(const struct xe_gt *gt, u64 count)
> >  {
> > -	return DIV_ROUND_CLOSEST_ULL(count * NSEC_PER_SEC, gt->info.clock_freq);
> > +	return DIV_ROUND_CLOSEST_ULL(count * NSEC_PER_SEC, gt->info.reference_clock);
> >  }
> > diff --git a/drivers/gpu/drm/xe/xe_gt_types.h b/drivers/gpu/drm/xe/xe_gt_types.h
> > index d3f2793684e2..56b0f22ee78d 100644
> > --- a/drivers/gpu/drm/xe/xe_gt_types.h
> > +++ b/drivers/gpu/drm/xe/xe_gt_types.h
> > @@ -107,8 +107,8 @@ struct xe_gt {
> >  		enum xe_gt_type type;
> >  		/** @id: Unique ID of this GT within the PCI Device */
> >  		u8 id;
> > -		/** @clock_freq: clock frequency */
> > -		u32 clock_freq;
> > +		/** @reference_clock: clock frequency */
> > +		u32 reference_clock;
> >  		/** @engine_mask: mask of engines present on GT */
> >  		u64 engine_mask;
> >  		/**
> > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > index 8bf0fe6b09e0..77cab66d337f 100644
> > --- a/drivers/gpu/drm/xe/xe_query.c
> > +++ b/drivers/gpu/drm/xe/xe_query.c
> > @@ -147,8 +147,6 @@ query_engine_cycles(struct xe_device *xe,
> >  	if (!hwe)
> >  		return -EINVAL;
> >  
> > -	resp.engine_frequency = gt->info.clock_freq;
> > -
> >  	xe_device_mem_access_get(xe);
> >  	xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
> >  
> > @@ -164,10 +162,6 @@ query_engine_cycles(struct xe_device *xe,
> >  	xe_device_mem_access_put(xe);
> >  	resp.width = 36;
> >  
> > -	/* Only write to the output fields of user query */
> 
> the comment is relevant to to other put_user() calls.

Indeed, it will be back in the next revision.

Francois

> 
> > -	if (put_user(resp.engine_frequency, &query_ptr->engine_frequency))
> > -		return -EFAULT;
> > -
> >  	if (put_user(resp.cpu_timestamp, &query_ptr->cpu_timestamp))
> >  		return -EFAULT;
> >  
> > @@ -383,7 +377,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
> >  		else
> >  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MAIN;
> >  		gt_list->gt_list[id].gt_id = gt->info.id;
> > -		gt_list->gt_list[id].clock_freq = gt->info.clock_freq;
> > +		gt_list->gt_list[id].reference_clock = gt->info.reference_clock;
> >  		if (!IS_DGFX(xe))
> >  			gt_list->gt_list[id].near_mem_regions = 0x1;
> >  		else
> > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > index 85b0affc9f89..a94c751450d5 100644
> > --- a/include/uapi/drm/xe_drm.h
> > +++ b/include/uapi/drm/xe_drm.h
> > @@ -280,8 +280,8 @@ struct drm_xe_mem_region {
> >   * in .data. struct drm_xe_query_engine_cycles is allocated by the user and
> >   * .data points to this allocated structure.
> >   *
> > - * The query returns the engine cycles and the frequency that can
> > - * be used to calculate the engine timestamp. In addition the
> > + * The query returns the engine cycles, which along with GT's @reference_clock,
> > + * can be used to calculate the engine timestamp. In addition the
> >   * query returns a set of cpu timestamps that indicate when the command
> >   * streamer cycle count was captured.
> >   */
> > @@ -309,9 +309,6 @@ struct drm_xe_query_engine_cycles {
> >  	 */
> >  	__u64 engine_cycles;
> >  
> > -	/** @engine_frequency: Frequency of the engine cycles in Hz. */
> > -	__u64 engine_frequency;
> > -
> >  	/**
> >  	 * @cpu_timestamp: CPU timestamp in ns. The timestamp is captured before
> >  	 * reading the engine_cycles register using the reference clockid set by the
> > @@ -382,8 +379,8 @@ struct drm_xe_gt {
> >  	__u16 type;
> >  	/** @gt_id: Unique ID of this GT within the PCI Device */
> >  	__u16 gt_id;
> > -	/** @clock_freq: A clock frequency for timestamp */
> > -	__u32 clock_freq;
> > +	/** @reference_clock: A clock frequency for timestamp */
> > +	__u32 reference_clock;
> >  	/**
> >  	 * @near_mem_regions: Bit mask of instances from
> >  	 * drm_xe_query_mem_regions that are nearest to the current engines
> 

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

* Re: [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
  2023-11-28 21:17   ` Matthew Brost
@ 2023-11-29 16:54     ` Rodrigo Vivi
  2023-11-29 12:35       ` Matthew Brost
  0 siblings, 1 reply; 49+ messages in thread
From: Rodrigo Vivi @ 2023-11-29 16:54 UTC (permalink / raw)
  To: Matthew Brost, José Roberto de Souza, Francois Dugast
  Cc: Francois Dugast, intel-xe

On Tue, Nov 28, 2023 at 09:17:51PM +0000, Matthew Brost wrote:
> On Wed, Nov 22, 2023 at 02:38:22PM +0000, Francois Dugast wrote:
> > From: José Roberto de Souza <jose.souza@intel.com>
> > 
> > We have at least 2 future features(OA and future media engines
> > capabilities) that will require Xe to provide more information about
> > engines to UMDs.
> > 
> > But this information should not just be added to
> > drm_xe_engine_class_instance for a couple of reasons:
> > - drm_xe_engine_class_instance is used as input to other structs/uAPIs
> > and those uAPIs don't care about any of these future new engine fields
> > - those new fields are useless information after initialization for
> > some UMDs, so it should not need to carry that around
> > 
> > So here my proposal is to make DRM_XE_DEVICE_QUERY_ENGINES return an
> > array of drm_xe_query_engine_info that contain
> > drm_xe_engine_class_instance and 3 u64s to be used for future features.
> 
> There is 5 u64 in this patch.

my bad, sorry. just trying to prepare for the many capabilities and other
stuff we will likely need. But likely 3 would be enough.

> 
> Anyways agree this better but what if we improve this a bit more making
> each __drm_xe_query_engine_info a dynamic size.

hmmm... I think I like this idea. pahole seems to have a good output
with our other existent dynamic array.

> 
> e.g.
> struct __drm_xe_query_engine_info {	/* Bad name, just for example */
>      /** @instance: The @drm_xe_engine_class_instance */
>      struct drm_xe_engine_class_instance instance;
> 
>      /** @reserved: Reserved, dynamic size */
>      __u64 reserved[0];

I believe [] instead of [0] is the preferred way nowadays.

> };
> 
> struct drm_xe_query_engine_info {
>      /** @num_engines: Number engines */
>      __u64 num_engines;
>      /** @engine_info: Array of engine info */
>      struct __drm_xe_query_engine_info engine_info[0];
> };
> 
> The size of __drm_xe_query_engine_info then change and can be calculated
> to be:
> 
> (returned size of query - sizoeof(__u64)) / drm_xe_query_engine_info.num_engines
> 
> We then should be able to add additional fields to
> __drm_xe_query_engine_info indefinitely.
> 
> What does everyone think? We likely can apply this idea to other
> queries too as it makes sense.
> 
> Matt
> 
> > 
> > Reference OA:
> > https://patchwork.freedesktop.org/patch/558362/?series=121084&rev=6
> > 
> > Cc: Francois Dugast <francois.dugast@intel.com>
> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > [Rodrigo Rebased]
> > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > ---
> >  drivers/gpu/drm/xe/xe_query.c | 15 ++++++++-------
> >  include/uapi/drm/xe_drm.h     | 24 +++++++++++++++++++++++-
> >  2 files changed, 31 insertions(+), 8 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > index 61a7d92b7e88..0cbfeaeb1330 100644
> > --- a/drivers/gpu/drm/xe/xe_query.c
> > +++ b/drivers/gpu/drm/xe/xe_query.c
> > @@ -53,7 +53,7 @@ static size_t calc_hw_engine_info_size(struct xe_device *xe)
> >  			i++;
> >  		}
> >  
> > -	return i * sizeof(struct drm_xe_engine_class_instance);
> > +	return i * sizeof(struct drm_xe_query_engine_info);
> >  }
> >  
> >  typedef u64 (*__ktime_func_t)(void);
> > @@ -186,9 +186,9 @@ static int query_engines(struct xe_device *xe,
> >  			 struct drm_xe_device_query *query)
> >  {
> >  	size_t size = calc_hw_engine_info_size(xe);
> > -	struct drm_xe_engine_class_instance __user *query_ptr =
> > +	struct drm_xe_query_engine_info __user *query_ptr =
> >  		u64_to_user_ptr(query->data);
> > -	struct drm_xe_engine_class_instance *hw_engine_info;
> > +	struct drm_xe_query_engine_info *hw_engine_info;
> >  	struct xe_hw_engine *hwe;
> >  	enum xe_hw_engine_id id;
> >  	struct xe_gt *gt;
> > @@ -211,12 +211,13 @@ static int query_engines(struct xe_device *xe,
> >  			if (xe_hw_engine_is_reserved(hwe))
> >  				continue;
> >  
> > -			hw_engine_info[i].engine_class =
> > +			hw_engine_info[i].instance.engine_class =
> >  				xe_to_user_engine_class[hwe->class];
> > -			hw_engine_info[i].engine_instance =
> > +			hw_engine_info[i].instance.engine_instance =
> >  				hwe->logical_instance;
> > -			hw_engine_info[i].gt_id = gt->info.id;
> > -			hw_engine_info[i].pad = 0;
> > +			hw_engine_info[i].instance.gt_id = gt->info.id;
> > +			hw_engine_info[i].instance.pad = 0;
> > +			memset(hw_engine_info->reserved, 0, sizeof(hw_engine_info->reserved));
> >  
> >  			i++;
> >  		}
> > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > index 1bdd20d3c4a8..c80e03b61489 100644
> > --- a/include/uapi/drm/xe_drm.h
> > +++ b/include/uapi/drm/xe_drm.h
> > @@ -124,7 +124,14 @@ struct xe_user_extension {
> >  #define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY	DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property)
> >  #define DRM_IOCTL_XE_WAIT_USER_FENCE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
> >  
> > -/** struct drm_xe_engine_class_instance - instance of an engine class */
> > +/**
> > + * struct drm_xe_engine_class_instance - instance of an engine class
> > + *
> > + * It is returned as part of the @drm_xe_query_engine_info, but it also is
> > + * used as the input of engine selection for both @drm_xe_exec_queue_create
> > + * and @drm_xe_query_engine_cycles
> > + *
> > + */
> >  struct drm_xe_engine_class_instance {
> >  #define DRM_XE_ENGINE_CLASS_RENDER		0
> >  #define DRM_XE_ENGINE_CLASS_COPY		1
> > @@ -145,6 +152,21 @@ struct drm_xe_engine_class_instance {
> >  	__u16 pad;
> >  };
> >  
> > +/**
> > + * struct drm_xe_query_engine_info - describe hardware engine
> > + *
> > + * If a query is made with a struct @drm_xe_device_query where .query
> > + * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
> > + * struct @drm_xe_query_engine_info in .data.
> > + */
> > +struct drm_xe_query_engine_info {
> > +	/** @instance: The @drm_xe_engine_class_instance */
> > +	struct drm_xe_engine_class_instance instance;

> > +
> > +	/** @reserved: Reserved */
> > +	__u64 reserved[5];
> > +};
> > +
> >  /**
> >   * enum drm_xe_memory_class - Supported memory classes.
> >   */
> > -- 
> > 2.34.1
> > 

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

* Re: [Intel-xe] [PATCH v2 13/14] drm/xe/uapi: Fix various struct padding for 64b alignment
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 13/14] drm/xe/uapi: Fix various struct padding for 64b alignment Francois Dugast
@ 2023-11-29 17:02   ` Souza, Jose
  2023-11-29 17:39     ` Francois Dugast
  0 siblings, 1 reply; 49+ messages in thread
From: Souza, Jose @ 2023-11-29 17:02 UTC (permalink / raw)
  To: intel-xe, Dugast, Francois; +Cc: Vivi, Rodrigo

On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> Let's respect Documentation/process/botching-up-ioctls.rst
> and add the proper padding for a 64b alignment with all as
> well as all the required checks and settings for the pads
> and the reserved entries.

Now that the PAT uAPI landed this patch needs alignment fixes in drm_xe_gem_create.

> 
> v2: Fix remaining wholes and double check with pahole (Jose)
>     Ensure with pahole that both 32b and 64b have exact same
>     layout (Thomas)
>     Do not set query's pad and reserved bits to zero since it
>     is redundant and already done by kzalloc (Matt)
> 
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Cc: Francois Dugast <francois.dugast@intel.com>
> Cc: José Roberto de Souza <jose.souza@intel.com>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_query.c |  1 +
>  drivers/gpu/drm/xe/xe_vm.c    |  8 ++++++++
>  include/uapi/drm/xe_drm.h     | 19 +++++++++++--------
>  3 files changed, 20 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index 095f1b8c2290..d0523dfc488f 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -371,6 +371,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
>  		return -ENOMEM;
>  
>  	gt_list->num_gt = xe->info.gt_count;
> +
>  	for_each_gt(gt, xe, id) {
>  		if (xe_gt_is_media_type(gt))
>  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MEDIA;
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index ccd2821e61f8..1dbd6e948741 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -2817,6 +2817,10 @@ static int vm_bind_ioctl_check_args(struct xe_device *xe,
>  	int err;
>  	int i;
>  
> +	if (XE_IOCTL_DBG(xe, args->pad || args->pad2) ||
> +	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
> +		return -EINVAL;
> +
>  	if (XE_IOCTL_DBG(xe, args->extensions) ||
>  	    XE_IOCTL_DBG(xe, !args->num_binds) ||
>  	    XE_IOCTL_DBG(xe, args->num_binds > MAX_BINDS))
> @@ -2933,6 +2937,10 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
>  	if (err)
>  		return err;
>  
> +	if (XE_IOCTL_DBG(xe, args->pad || args->pad2) ||
> +	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
> +		return -EINVAL;
> +
>  	if (args->exec_queue_id) {
>  		q = xe_exec_queue_lookup(xef, args->exec_queue_id);
>  		if (XE_IOCTL_DBG(xe, !q)) {
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index b0ef1f62fd99..4c175946547c 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -211,8 +211,6 @@ struct drm_xe_mem_region {
>  	 * a unique pair.
>  	 */
>  	__u16 instance;
> -	/** @pad: MBZ */
> -	__u32 pad;
>  	/**
>  	 * @min_page_size: Min page-size in bytes for this region.
>  	 *
> @@ -381,6 +379,8 @@ struct drm_xe_gt {
>  	__u16 tile_id;
>  	/** @gt_id: Unique ID of this GT within the PCI Device */
>  	__u16 gt_id;
> +	/** @pad: MBZ */
> +	__u16 pad[3];
>  	/** @reference_clock: A clock frequency for timestamp */
>  	__u32 reference_clock;
>  	/**
> @@ -715,6 +715,9 @@ struct drm_xe_vm_bind_op {
>  	 */
>  	__u32 prefetch_mem_region_instance;
>  
> +	/** @pad: MBZ */
> +	__u32 pad2;
> +
>  	/** @reserved: Reserved */
>  	__u64 reserved[3];
>  };
> @@ -733,12 +736,12 @@ struct drm_xe_vm_bind {
>  	 */
>  	__u32 exec_queue_id;
>  
> -	/** @num_binds: number of binds in this IOCTL */
> -	__u32 num_binds;
> -
>  	/** @pad: MBZ */
>  	__u32 pad;
>  
> +	/** @num_binds: number of binds in this IOCTL */
> +	__u32 num_binds;
> +
>  	union {
>  		/** @bind: used if num_binds == 1 */
>  		struct drm_xe_vm_bind_op bind;
> @@ -750,12 +753,12 @@ struct drm_xe_vm_bind {
>  		__u64 vector_of_binds;
>  	};
>  
> +	/** @pad: MBZ */
> +	__u32 pad2;
> +
>  	/** @num_syncs: amount of syncs to wait on */
>  	__u32 num_syncs;
>  
> -	/** @pad2: MBZ */
> -	__u32 pad2;
> -
>  	/** @syncs: pointer to struct drm_xe_sync array */
>  	__u64 syncs;
>  


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

* Re: [Intel-xe] [PATCH v2 13/14] drm/xe/uapi: Fix various struct padding for 64b alignment
  2023-11-29 17:02   ` Souza, Jose
@ 2023-11-29 17:39     ` Francois Dugast
  0 siblings, 0 replies; 49+ messages in thread
From: Francois Dugast @ 2023-11-29 17:39 UTC (permalink / raw)
  To: Souza, Jose; +Cc: intel-xe, Vivi,  Rodrigo

On Wed, Nov 29, 2023 at 06:02:54PM +0100, Souza, Jose wrote:
> On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > 
> > Let's respect Documentation/process/botching-up-ioctls.rst
> > and add the proper padding for a 64b alignment with all as
> > well as all the required checks and settings for the pads
> > and the reserved entries.
> 
> Now that the PAT uAPI landed this patch needs alignment fixes in drm_xe_gem_create.

I will fix it during rebase, thanks.

Francois

> 
> > 
> > v2: Fix remaining wholes and double check with pahole (Jose)
> >     Ensure with pahole that both 32b and 64b have exact same
> >     layout (Thomas)
> >     Do not set query's pad and reserved bits to zero since it
> >     is redundant and already done by kzalloc (Matt)
> > 
> > Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > Cc: Francois Dugast <francois.dugast@intel.com>
> > Cc: José Roberto de Souza <jose.souza@intel.com>
> > Cc: Matt Roper <matthew.d.roper@intel.com>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
> > ---
> >  drivers/gpu/drm/xe/xe_query.c |  1 +
> >  drivers/gpu/drm/xe/xe_vm.c    |  8 ++++++++
> >  include/uapi/drm/xe_drm.h     | 19 +++++++++++--------
> >  3 files changed, 20 insertions(+), 8 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > index 095f1b8c2290..d0523dfc488f 100644
> > --- a/drivers/gpu/drm/xe/xe_query.c
> > +++ b/drivers/gpu/drm/xe/xe_query.c
> > @@ -371,6 +371,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
> >  		return -ENOMEM;
> >  
> >  	gt_list->num_gt = xe->info.gt_count;
> > +
> >  	for_each_gt(gt, xe, id) {
> >  		if (xe_gt_is_media_type(gt))
> >  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MEDIA;
> > diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> > index ccd2821e61f8..1dbd6e948741 100644
> > --- a/drivers/gpu/drm/xe/xe_vm.c
> > +++ b/drivers/gpu/drm/xe/xe_vm.c
> > @@ -2817,6 +2817,10 @@ static int vm_bind_ioctl_check_args(struct xe_device *xe,
> >  	int err;
> >  	int i;
> >  
> > +	if (XE_IOCTL_DBG(xe, args->pad || args->pad2) ||
> > +	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
> > +		return -EINVAL;
> > +
> >  	if (XE_IOCTL_DBG(xe, args->extensions) ||
> >  	    XE_IOCTL_DBG(xe, !args->num_binds) ||
> >  	    XE_IOCTL_DBG(xe, args->num_binds > MAX_BINDS))
> > @@ -2933,6 +2937,10 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
> >  	if (err)
> >  		return err;
> >  
> > +	if (XE_IOCTL_DBG(xe, args->pad || args->pad2) ||
> > +	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
> > +		return -EINVAL;
> > +
> >  	if (args->exec_queue_id) {
> >  		q = xe_exec_queue_lookup(xef, args->exec_queue_id);
> >  		if (XE_IOCTL_DBG(xe, !q)) {
> > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > index b0ef1f62fd99..4c175946547c 100644
> > --- a/include/uapi/drm/xe_drm.h
> > +++ b/include/uapi/drm/xe_drm.h
> > @@ -211,8 +211,6 @@ struct drm_xe_mem_region {
> >  	 * a unique pair.
> >  	 */
> >  	__u16 instance;
> > -	/** @pad: MBZ */
> > -	__u32 pad;
> >  	/**
> >  	 * @min_page_size: Min page-size in bytes for this region.
> >  	 *
> > @@ -381,6 +379,8 @@ struct drm_xe_gt {
> >  	__u16 tile_id;
> >  	/** @gt_id: Unique ID of this GT within the PCI Device */
> >  	__u16 gt_id;
> > +	/** @pad: MBZ */
> > +	__u16 pad[3];
> >  	/** @reference_clock: A clock frequency for timestamp */
> >  	__u32 reference_clock;
> >  	/**
> > @@ -715,6 +715,9 @@ struct drm_xe_vm_bind_op {
> >  	 */
> >  	__u32 prefetch_mem_region_instance;
> >  
> > +	/** @pad: MBZ */
> > +	__u32 pad2;
> > +
> >  	/** @reserved: Reserved */
> >  	__u64 reserved[3];
> >  };
> > @@ -733,12 +736,12 @@ struct drm_xe_vm_bind {
> >  	 */
> >  	__u32 exec_queue_id;
> >  
> > -	/** @num_binds: number of binds in this IOCTL */
> > -	__u32 num_binds;
> > -
> >  	/** @pad: MBZ */
> >  	__u32 pad;
> >  
> > +	/** @num_binds: number of binds in this IOCTL */
> > +	__u32 num_binds;
> > +
> >  	union {
> >  		/** @bind: used if num_binds == 1 */
> >  		struct drm_xe_vm_bind_op bind;
> > @@ -750,12 +753,12 @@ struct drm_xe_vm_bind {
> >  		__u64 vector_of_binds;
> >  	};
> >  
> > +	/** @pad: MBZ */
> > +	__u32 pad2;
> > +
> >  	/** @num_syncs: amount of syncs to wait on */
> >  	__u32 num_syncs;
> >  
> > -	/** @pad2: MBZ */
> > -	__u32 pad2;
> > -
> >  	/** @syncs: pointer to struct drm_xe_sync array */
> >  	__u64 syncs;
> >  
> 

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

* Re: [Intel-xe] [PATCH v2 06/14] drm/xe/uapi: Align on a common way to return arrays (gt)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 06/14] drm/xe/uapi: Align on a common way to return arrays (gt) Francois Dugast
  2023-11-28 20:51   ` Rodrigo Vivi
@ 2023-11-29 18:30   ` Matt Roper
  1 sibling, 0 replies; 49+ messages in thread
From: Matt Roper @ 2023-11-29 18:30 UTC (permalink / raw)
  To: Francois Dugast; +Cc: intel-xe

On Wed, Nov 22, 2023 at 02:38:25PM +0000, Francois Dugast wrote:
> The uAPI provides queries which return arrays of elements. As of now
> the format used in the struct is different depending on which element
> is queried. However, aligning on the new common pattern:
> 
>     struct drm_xe_query_Xs {
>        __u32 num_Xs;
>        struct drm_xe_X Xs[];
>        ...
>     }
> 
> ... would mean bringing back the name "gts" which is avoided per
> commit ("drm/xe/uapi: Rename gts to gt_list") so make an exception
> for gt and leave gt_list. Also, this change removes "query" in the
> name of struct drm_xe_query_gt as it is not returned from the query
> IOCTL. There is no functional change.
> 
> v2: Leave gt_list (Matt Roper)
> 
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>

> ---
>  drivers/gpu/drm/xe/xe_query.c | 2 +-
>  include/uapi/drm/xe_drm.h     | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> index f321ed4d3b0b..28ea6dbf1cf9 100644
> --- a/drivers/gpu/drm/xe/xe_query.c
> +++ b/drivers/gpu/drm/xe/xe_query.c
> @@ -354,7 +354,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
>  {
>  	struct xe_gt *gt;
>  	size_t size = sizeof(struct drm_xe_query_gt_list) +
> -		xe->info.gt_count * sizeof(struct drm_xe_query_gt);
> +		xe->info.gt_count * sizeof(struct drm_xe_gt);
>  	struct drm_xe_query_gt_list __user *query_ptr =
>  		u64_to_user_ptr(query->data);
>  	struct drm_xe_query_gt_list *gt_list;
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index a9bbdf141fe2..e38e7b701edf 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -356,14 +356,14 @@ struct drm_xe_query_config {
>  };
>  
>  /**
> - * struct drm_xe_query_gt - describe an individual GT.
> + * struct drm_xe_gt - describe an individual GT.
>   *
>   * To be used with drm_xe_query_gt_list, which will return a list with all the
>   * existing GT individual descriptions.
>   * Graphics Technology (GT) is a subset of a GPU/tile that is responsible for
>   * implementing graphics and/or media operations.
>   */
> -struct drm_xe_query_gt {
> +struct drm_xe_gt {
>  #define DRM_XE_QUERY_GT_TYPE_MAIN		0
>  #define DRM_XE_QUERY_GT_TYPE_MEDIA		1
>  	/** @type: GT type: Main or Media */
> @@ -403,7 +403,7 @@ struct drm_xe_query_gt_list {
>  	/** @pad: MBZ */
>  	__u32 pad;
>  	/** @gt_list: The GT list returned for this device */
> -	struct drm_xe_query_gt gt_list[];
> +	struct drm_xe_gt gt_list[];
>  };
>  
>  /**
> -- 
> 2.34.1
> 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation

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

* Re: [Intel-xe] [PATCH v2 10/14] drm/xe/uapi: Crystal Reference Clock updates
  2023-11-29 14:08     ` Francois Dugast
@ 2023-11-29 18:33       ` Souza, Jose
  0 siblings, 0 replies; 49+ messages in thread
From: Souza, Jose @ 2023-11-29 18:33 UTC (permalink / raw)
  To: Dugast, Francois; +Cc: intel-xe

On Wed, 2023-11-29 at 15:08 +0100, Francois Dugast wrote:
> On Fri, Nov 24, 2023 at 07:38:04PM +0100, Souza, Jose wrote:
> > On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> > > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > 
> > > First of all, let's remove the duplication.
> > > But also, let's rename it to remove the word 'frequency'
> > > out of it. In general, the first thing people think of frequency
> > > is the frequency in which the GTs are operating to execute the
> > > GPU instructions.
> > > 
> > > While this frequency here is a crystal reference clock frequency
> > > which is the base of everything else, and in this case of this
> > > uAPI it is used to calculate a better and precise timestamp.
> > > 
> > > v2: (Suggested by Jose) Remove the engine_cs and keep the GT info one
> > > since it might be useful for other SRIOV cases where the engine_cs
> > > will be zeroed. So, grabbing from the GT_LIST should be cleaner.
> > > 
> > > Cc: Matt Roper <matthew.d.roper@intel.com>
> > > Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> > > Cc: Jose Souza <jose.souza@intel.com>
> > > 
> > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > > ---
> > >  drivers/gpu/drm/xe/xe_gt_clock.c |  4 ++--
> > >  drivers/gpu/drm/xe/xe_gt_types.h |  4 ++--
> > >  drivers/gpu/drm/xe/xe_query.c    |  8 +-------
> > >  include/uapi/drm/xe_drm.h        | 11 ++++-------
> > >  4 files changed, 9 insertions(+), 18 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/xe/xe_gt_clock.c b/drivers/gpu/drm/xe/xe_gt_clock.c
> > > index 25a18eaad9c4..937054e31d72 100644
> > > --- a/drivers/gpu/drm/xe/xe_gt_clock.c
> > > +++ b/drivers/gpu/drm/xe/xe_gt_clock.c
> > > @@ -75,11 +75,11 @@ int xe_gt_clock_init(struct xe_gt *gt)
> > >  		freq >>= 3 - REG_FIELD_GET(RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK, c0);
> > >  	}
> > >  
> > > -	gt->info.clock_freq = freq;
> > > +	gt->info.reference_clock = freq;
> > >  	return 0;
> > >  }
> > >  
> > >  u64 xe_gt_clock_cycles_to_ns(const struct xe_gt *gt, u64 count)
> > >  {
> > > -	return DIV_ROUND_CLOSEST_ULL(count * NSEC_PER_SEC, gt->info.clock_freq);
> > > +	return DIV_ROUND_CLOSEST_ULL(count * NSEC_PER_SEC, gt->info.reference_clock);
> > >  }
> > > diff --git a/drivers/gpu/drm/xe/xe_gt_types.h b/drivers/gpu/drm/xe/xe_gt_types.h
> > > index d3f2793684e2..56b0f22ee78d 100644
> > > --- a/drivers/gpu/drm/xe/xe_gt_types.h
> > > +++ b/drivers/gpu/drm/xe/xe_gt_types.h
> > > @@ -107,8 +107,8 @@ struct xe_gt {
> > >  		enum xe_gt_type type;
> > >  		/** @id: Unique ID of this GT within the PCI Device */
> > >  		u8 id;
> > > -		/** @clock_freq: clock frequency */
> > > -		u32 clock_freq;
> > > +		/** @reference_clock: clock frequency */
> > > +		u32 reference_clock;
> > >  		/** @engine_mask: mask of engines present on GT */
> > >  		u64 engine_mask;
> > >  		/**
> > > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > > index 8bf0fe6b09e0..77cab66d337f 100644
> > > --- a/drivers/gpu/drm/xe/xe_query.c
> > > +++ b/drivers/gpu/drm/xe/xe_query.c
> > > @@ -147,8 +147,6 @@ query_engine_cycles(struct xe_device *xe,
> > >  	if (!hwe)
> > >  		return -EINVAL;
> > >  
> > > -	resp.engine_frequency = gt->info.clock_freq;
> > > -
> > >  	xe_device_mem_access_get(xe);
> > >  	xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
> > >  
> > > @@ -164,10 +162,6 @@ query_engine_cycles(struct xe_device *xe,
> > >  	xe_device_mem_access_put(xe);
> > >  	resp.width = 36;
> > >  
> > > -	/* Only write to the output fields of user query */
> > 
> > the comment is relevant to to other put_user() calls.
> 
> Indeed, it will be back in the next revision.

With that:

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> 
> Francois
> 
> > 
> > > -	if (put_user(resp.engine_frequency, &query_ptr->engine_frequency))
> > > -		return -EFAULT;
> > > -
> > >  	if (put_user(resp.cpu_timestamp, &query_ptr->cpu_timestamp))
> > >  		return -EFAULT;
> > >  
> > > @@ -383,7 +377,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
> > >  		else
> > >  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MAIN;
> > >  		gt_list->gt_list[id].gt_id = gt->info.id;
> > > -		gt_list->gt_list[id].clock_freq = gt->info.clock_freq;
> > > +		gt_list->gt_list[id].reference_clock = gt->info.reference_clock;
> > >  		if (!IS_DGFX(xe))
> > >  			gt_list->gt_list[id].near_mem_regions = 0x1;
> > >  		else
> > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > index 85b0affc9f89..a94c751450d5 100644
> > > --- a/include/uapi/drm/xe_drm.h
> > > +++ b/include/uapi/drm/xe_drm.h
> > > @@ -280,8 +280,8 @@ struct drm_xe_mem_region {
> > >   * in .data. struct drm_xe_query_engine_cycles is allocated by the user and
> > >   * .data points to this allocated structure.
> > >   *
> > > - * The query returns the engine cycles and the frequency that can
> > > - * be used to calculate the engine timestamp. In addition the
> > > + * The query returns the engine cycles, which along with GT's @reference_clock,
> > > + * can be used to calculate the engine timestamp. In addition the
> > >   * query returns a set of cpu timestamps that indicate when the command
> > >   * streamer cycle count was captured.
> > >   */
> > > @@ -309,9 +309,6 @@ struct drm_xe_query_engine_cycles {
> > >  	 */
> > >  	__u64 engine_cycles;
> > >  
> > > -	/** @engine_frequency: Frequency of the engine cycles in Hz. */
> > > -	__u64 engine_frequency;
> > > -
> > >  	/**
> > >  	 * @cpu_timestamp: CPU timestamp in ns. The timestamp is captured before
> > >  	 * reading the engine_cycles register using the reference clockid set by the
> > > @@ -382,8 +379,8 @@ struct drm_xe_gt {
> > >  	__u16 type;
> > >  	/** @gt_id: Unique ID of this GT within the PCI Device */
> > >  	__u16 gt_id;
> > > -	/** @clock_freq: A clock frequency for timestamp */
> > > -	__u32 clock_freq;
> > > +	/** @reference_clock: A clock frequency for timestamp */
> > > +	__u32 reference_clock;
> > >  	/**
> > >  	 * @near_mem_regions: Bit mask of instances from
> > >  	 * drm_xe_query_mem_regions that are nearest to the current engines
> > 


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

* Re: [Intel-xe] [PATCH v2 12/14] drm/xe/uapi: Add Tile ID information to the GT info query
  2023-11-27 14:20       ` Souza, Jose
@ 2023-11-29 18:33         ` Souza, Jose
  0 siblings, 0 replies; 49+ messages in thread
From: Souza, Jose @ 2023-11-29 18:33 UTC (permalink / raw)
  To: Dugast, Francois; +Cc: intel-xe

On Mon, 2023-11-27 at 14:20 +0000, Souza, Jose wrote:
> On Mon, 2023-11-27 at 15:08 +0100, Francois Dugast wrote:
> > On Fri, Nov 24, 2023 at 07:45:04PM +0100, Souza, Jose wrote:
> > > On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> > > > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > 
> > > > As an information only. So Userspace can use this information
> > > > and be able to correlate different GTs.
> > > > 
> > > > Make API symmetric between Engine and GT info.
> > > > 
> > > > There's no need right now to include a tile_query entry
> > > > since there's no other information that we need from tile
> > > > that is not already exposed through different queries.
> > > > 
> > > > However, this could be added later if we have different Tile
> > > > information that could matter to userspace. But let's keep
> > > > the API ready for a direct reference to Tile ID based on
> > > > the GT entry.
> > > > 
> > > > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > ---
> > > >  drivers/gpu/drm/xe/xe_query.c | 1 +
> > > >  include/uapi/drm/xe_drm.h     | 2 ++
> > > >  2 files changed, 3 insertions(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > > > index 77cab66d337f..095f1b8c2290 100644
> > > > --- a/drivers/gpu/drm/xe/xe_query.c
> > > > +++ b/drivers/gpu/drm/xe/xe_query.c
> > > > @@ -376,6 +376,7 @@ static int query_gt_list(struct xe_device *xe, struct drm_xe_device_query *query
> > > >  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MEDIA;
> > > >  		else
> > > >  			gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MAIN;
> > > > +		gt_list->gt_list[id].tile_id = gt_to_tile(gt)->id;
> > > >  		gt_list->gt_list[id].gt_id = gt->info.id;
> > > >  		gt_list->gt_list[id].reference_clock = gt->info.reference_clock;
> > > >  		if (!IS_DGFX(xe))
> > > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > > index 4bad84e7793f..b0ef1f62fd99 100644
> > > > --- a/include/uapi/drm/xe_drm.h
> > > > +++ b/include/uapi/drm/xe_drm.h
> > > > @@ -377,6 +377,8 @@ struct drm_xe_gt {
> > > >  #define DRM_XE_QUERY_GT_TYPE_MEDIA		1
> > > >  	/** @type: GT type: Main or Media */
> > > >  	__u16 type;
> > > > +	/** @tile_id: Tile ID where this GT lives (Information only) */
> > > > +	__u16 tile_id;
> > > >  	/** @gt_id: Unique ID of this GT within the PCI Device */
> > > >  	__u16 gt_id;
> > > >  	/** @reference_clock: A clock frequency for timestamp */
> > > 
> > > change is good but it broke the alignment of a struct that was aligned 
> > 
> > True but this and other misalignments are fix in the next patch of this
> > series "drm/xe/uapi: Fix various struct padding for 64b alignment".
> 
> Okay

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

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

* Re: [Intel-xe] [PATCH v2 14/14] drm/xe/uapi: Move xe_exec after xe_exec_queue
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 14/14] drm/xe/uapi: Move xe_exec after xe_exec_queue Francois Dugast
@ 2023-11-29 18:34   ` Souza, Jose
  0 siblings, 0 replies; 49+ messages in thread
From: Souza, Jose @ 2023-11-29 18:34 UTC (permalink / raw)
  To: intel-xe, Dugast, Francois

On Wed, 2023-11-22 at 14:38 +0000, Francois Dugast wrote:
> From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> Although the exec ioctl is a very important one, it makes no sense
> to explain xe_exec before explaining the exec_queue. So, let's
> move this down to help bring a better flow on the documentation
> and code readability.
> 
> It is important to highlight that this patch is changing all
> the ioctl numbers in a non-backward compatible way. However, we
> are doing this final uapi clean-up before we submit our first
> pull-request to be part of the upstream Kernel. Once we get
> there, no other change like this will ever happen and all the
> backward compatibility will be respected.

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> 
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> ---
>  include/uapi/drm/xe_drm.h | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 4c175946547c..17e86c8310fa 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -103,11 +103,11 @@ struct xe_user_extension {
>  #define DRM_XE_VM_CREATE		0x03
>  #define DRM_XE_VM_DESTROY		0x04
>  #define DRM_XE_VM_BIND			0x05
> -#define DRM_XE_EXEC			0x06
> -#define DRM_XE_EXEC_QUEUE_CREATE	0x07
> -#define DRM_XE_EXEC_QUEUE_DESTROY	0x08
> -#define DRM_XE_EXEC_QUEUE_SET_PROPERTY	0x09
> -#define DRM_XE_EXEC_QUEUE_GET_PROPERTY	0x0a
> +#define DRM_XE_EXEC_QUEUE_CREATE	0x06
> +#define DRM_XE_EXEC_QUEUE_DESTROY	0x07
> +#define DRM_XE_EXEC_QUEUE_SET_PROPERTY	0x08
> +#define DRM_XE_EXEC_QUEUE_GET_PROPERTY	0x09
> +#define DRM_XE_EXEC			0x0a
>  #define DRM_XE_WAIT_USER_FENCE		0x0b
>  /* Must be kept compact -- no holes */
>  
> @@ -117,11 +117,11 @@ struct xe_user_extension {
>  #define DRM_IOCTL_XE_VM_CREATE			DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_VM_CREATE, struct drm_xe_vm_create)
>  #define DRM_IOCTL_XE_VM_DESTROY			DRM_IOW(DRM_COMMAND_BASE + DRM_XE_VM_DESTROY, struct drm_xe_vm_destroy)
>  #define DRM_IOCTL_XE_VM_BIND			DRM_IOW(DRM_COMMAND_BASE + DRM_XE_VM_BIND, struct drm_xe_vm_bind)
> -#define DRM_IOCTL_XE_EXEC			DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC, struct drm_xe_exec)
>  #define DRM_IOCTL_XE_EXEC_QUEUE_CREATE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_CREATE, struct drm_xe_exec_queue_create)
>  #define DRM_IOCTL_XE_EXEC_QUEUE_DESTROY		DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_DESTROY, struct drm_xe_exec_queue_destroy)
>  #define DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY	DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_SET_PROPERTY, struct drm_xe_exec_queue_set_property)
>  #define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY	DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property)
> +#define DRM_IOCTL_XE_EXEC			DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC, struct drm_xe_exec)
>  #define DRM_IOCTL_XE_WAIT_USER_FENCE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
>  
>  /**


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

* Re: [Intel-xe] [PATCH v2 02/14] drm/xe/uapi: Separate bo_create placement from flags
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 02/14] drm/xe/uapi: Separate bo_create placement from flags Francois Dugast
@ 2023-11-29 19:36   ` Welty, Brian
  2023-11-29 20:41     ` Rodrigo Vivi
  0 siblings, 1 reply; 49+ messages in thread
From: Welty, Brian @ 2023-11-29 19:36 UTC (permalink / raw)
  To: Francois Dugast, intel-xe; +Cc: Rodrigo Vivi



On 11/22/2023 6:38 AM, Francois Dugast wrote:
> From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> Although the flags are about the creation, the memory placement
> of the BO deserves a proper dedicated field in the uapi.
> 
> Besides getting more clear, it also allows to remove the
> 'magic' shifts from the flags that was a concern during the
> uapi reviews.
> 
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_bo.c | 15 +++++++--------
>   include/uapi/drm/xe_drm.h  | 12 ++++++------
>   2 files changed, 13 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> index 4305f5cbc2ab..bbce4cd80f7e 100644
> --- a/drivers/gpu/drm/xe/xe_bo.c
> +++ b/drivers/gpu/drm/xe/xe_bo.c
> @@ -1799,19 +1799,18 @@ int xe_gem_create_ioctl(struct drm_device *dev, void *data,
>   	u32 handle;
>   	int err;
>   
> -	if (XE_IOCTL_DBG(xe, args->extensions) || XE_IOCTL_DBG(xe, args->pad) ||
> +	if (XE_IOCTL_DBG(xe, args->extensions) ||
>   	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
>   		return -EINVAL;
>   
> +	/* at least one valid memory placement must be specified */
> +	if (XE_IOCTL_DBG(xe, !(args->placement & xe->info.mem_region_mask)))
> +		return -EINVAL;

I think you are missing to test that args->placement is *only* a mask of 
regions.   Looks like you allow other bits to be included and those will
get slammed into bo_flags below.

Probably:

   if (XE_IOCTL_DBG(xe, (args->placement & ~xe->info.mem_region_mask) || 
!args->placement))
      return -EINVAL;


-Brian


> +
>   	if (XE_IOCTL_DBG(xe, args->flags &
>   			 ~(DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING |
>   			   DRM_XE_GEM_CREATE_FLAG_SCANOUT |
> -			   DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM |
> -			   xe->info.mem_region_mask)))
> -		return -EINVAL;
> -
> -	/* at least one memory type must be specified */
> -	if (XE_IOCTL_DBG(xe, !(args->flags & xe->info.mem_region_mask)))
> +			   DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM)))
>   		return -EINVAL;
>   
>   	if (XE_IOCTL_DBG(xe, args->handle))
> @@ -1832,7 +1831,7 @@ int xe_gem_create_ioctl(struct drm_device *dev, void *data,
>   	if (args->flags & DRM_XE_GEM_CREATE_FLAG_SCANOUT)
>   		bo_flags |= XE_BO_SCANOUT_BIT;
>   
> -	bo_flags |= args->flags << (ffs(XE_BO_CREATE_SYSTEM_BIT) - 1);
> +	bo_flags |= args->placement << (ffs(XE_BO_CREATE_SYSTEM_BIT) - 1);
>   
>   	if (args->flags & DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM) {
>   		if (XE_IOCTL_DBG(xe, !(bo_flags & XE_BO_CREATE_VRAM_MASK)))
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index b0d13bc6d9cf..1bdd20d3c4a8 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -500,8 +500,11 @@ struct drm_xe_gem_create {
>   	 */
>   	__u64 size;
>   
> -#define DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING		(0x1 << 24)
> -#define DRM_XE_GEM_CREATE_FLAG_SCANOUT			(0x1 << 25)
> +	/** @placement: A mask of memory instances of where BO can be placed. */
> +	__u32 placement;
> +
> +#define DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING		(1 << 0)
> +#define DRM_XE_GEM_CREATE_FLAG_SCANOUT			(1 << 1)
>   /*
>    * When using VRAM as a possible placement, ensure that the corresponding VRAM
>    * allocation will always use the CPU accessible part of VRAM. This is important
> @@ -517,7 +520,7 @@ struct drm_xe_gem_create {
>    * display surfaces, therefore the kernel requires setting this flag for such
>    * objects, otherwise an error is thrown on small-bar systems.
>    */
> -#define DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM	(0x1 << 26)
> +#define DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM	(1 << 2)
>   	/**
>   	 * @flags: Flags, currently a mask of memory instances of where BO can
>   	 * be placed
> @@ -541,9 +544,6 @@ struct drm_xe_gem_create {
>   	 */
>   	__u32 handle;
>   
> -	/** @pad: MBZ */
> -	__u32 pad;
> -
>   	/** @reserved: Reserved */
>   	__u64 reserved[2];
>   };

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

* Re: [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
  2023-11-29 12:35       ` Matthew Brost
@ 2023-11-29 20:04         ` Souza, Jose
  2023-11-29 22:52           ` Rodrigo Vivi
  0 siblings, 1 reply; 49+ messages in thread
From: Souza, Jose @ 2023-11-29 20:04 UTC (permalink / raw)
  To: Brost, Matthew, Vivi, Rodrigo; +Cc: Dugast, Francois, intel-xe

On Wed, 2023-11-29 at 12:35 +0000, Matthew Brost wrote:
> On Wed, Nov 29, 2023 at 11:54:51AM -0500, Rodrigo Vivi wrote:
> > On Tue, Nov 28, 2023 at 09:17:51PM +0000, Matthew Brost wrote:
> > > On Wed, Nov 22, 2023 at 02:38:22PM +0000, Francois Dugast wrote:
> > > > From: José Roberto de Souza <jose.souza@intel.com>
> > > > 
> > > > We have at least 2 future features(OA and future media engines
> > > > capabilities) that will require Xe to provide more information about
> > > > engines to UMDs.
> > > > 
> > > > But this information should not just be added to
> > > > drm_xe_engine_class_instance for a couple of reasons:
> > > > - drm_xe_engine_class_instance is used as input to other structs/uAPIs
> > > > and those uAPIs don't care about any of these future new engine fields
> > > > - those new fields are useless information after initialization for
> > > > some UMDs, so it should not need to carry that around
> > > > 
> > > > So here my proposal is to make DRM_XE_DEVICE_QUERY_ENGINES return an
> > > > array of drm_xe_query_engine_info that contain
> > > > drm_xe_engine_class_instance and 3 u64s to be used for future features.
> > > 
> > > There is 5 u64 in this patch.
> > 
> > my bad, sorry. just trying to prepare for the many capabilities and other
> > stuff we will likely need. But likely 3 would be enough.
> > 
> > > 
> > > Anyways agree this better but what if we improve this a bit more making
> > > each __drm_xe_query_engine_info a dynamic size.
> > 
> > hmmm... I think I like this idea. pahole seems to have a good output
> > with our other existent dynamic array.
> > 
> 
> Cool, looking forward to what we come up with.

v2 of drm_xe_query_engine_info would be something like this?

struct drm_xe_query_engine_info {
    struct drm_xe_engine_class_instance instance;
    __u64 foo;
    __u64 reserved[0];
}

maybe already add a pad enough for the OA counter and media engine capabilities usages and leave reserved[0] at the end for future.


> 
> > > 
> > > e.g.
> > > struct __drm_xe_query_engine_info {	/* Bad name, just for example */
> > >      /** @instance: The @drm_xe_engine_class_instance */
> > >      struct drm_xe_engine_class_instance instance;
> > > 
> > >      /** @reserved: Reserved, dynamic size */
> > >      __u64 reserved[0];
> > 
> > I believe [] instead of [0] is the preferred way nowadays.
> > 
> 
> Yep.
> 
> Matt
> 
> > > };
> > > 
> > > struct drm_xe_query_engine_info {
> > >      /** @num_engines: Number engines */
> > >      __u64 num_engines;
> > >      /** @engine_info: Array of engine info */
> > >      struct __drm_xe_query_engine_info engine_info[0];
> > > };
> > > 
> > > The size of __drm_xe_query_engine_info then change and can be calculated
> > > to be:
> > > 
> > > (returned size of query - sizoeof(__u64)) / drm_xe_query_engine_info.num_engines
> > > 
> > > We then should be able to add additional fields to
> > > __drm_xe_query_engine_info indefinitely.
> > > 
> > > What does everyone think? We likely can apply this idea to other
> > > queries too as it makes sense.
> > > 
> > > Matt
> > > 
> > > > 
> > > > Reference OA:
> > > > https://patchwork.freedesktop.org/patch/558362/?series=121084&rev=6
> > > > 
> > > > Cc: Francois Dugast <francois.dugast@intel.com>
> > > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > [Rodrigo Rebased]
> > > > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > > > ---
> > > >  drivers/gpu/drm/xe/xe_query.c | 15 ++++++++-------
> > > >  include/uapi/drm/xe_drm.h     | 24 +++++++++++++++++++++++-
> > > >  2 files changed, 31 insertions(+), 8 deletions(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > > > index 61a7d92b7e88..0cbfeaeb1330 100644
> > > > --- a/drivers/gpu/drm/xe/xe_query.c
> > > > +++ b/drivers/gpu/drm/xe/xe_query.c
> > > > @@ -53,7 +53,7 @@ static size_t calc_hw_engine_info_size(struct xe_device *xe)
> > > >  			i++;
> > > >  		}
> > > >  
> > > > -	return i * sizeof(struct drm_xe_engine_class_instance);
> > > > +	return i * sizeof(struct drm_xe_query_engine_info);
> > > >  }
> > > >  
> > > >  typedef u64 (*__ktime_func_t)(void);
> > > > @@ -186,9 +186,9 @@ static int query_engines(struct xe_device *xe,
> > > >  			 struct drm_xe_device_query *query)
> > > >  {
> > > >  	size_t size = calc_hw_engine_info_size(xe);
> > > > -	struct drm_xe_engine_class_instance __user *query_ptr =
> > > > +	struct drm_xe_query_engine_info __user *query_ptr =
> > > >  		u64_to_user_ptr(query->data);
> > > > -	struct drm_xe_engine_class_instance *hw_engine_info;
> > > > +	struct drm_xe_query_engine_info *hw_engine_info;
> > > >  	struct xe_hw_engine *hwe;
> > > >  	enum xe_hw_engine_id id;
> > > >  	struct xe_gt *gt;
> > > > @@ -211,12 +211,13 @@ static int query_engines(struct xe_device *xe,
> > > >  			if (xe_hw_engine_is_reserved(hwe))
> > > >  				continue;
> > > >  
> > > > -			hw_engine_info[i].engine_class =
> > > > +			hw_engine_info[i].instance.engine_class =
> > > >  				xe_to_user_engine_class[hwe->class];
> > > > -			hw_engine_info[i].engine_instance =
> > > > +			hw_engine_info[i].instance.engine_instance =
> > > >  				hwe->logical_instance;
> > > > -			hw_engine_info[i].gt_id = gt->info.id;
> > > > -			hw_engine_info[i].pad = 0;
> > > > +			hw_engine_info[i].instance.gt_id = gt->info.id;
> > > > +			hw_engine_info[i].instance.pad = 0;
> > > > +			memset(hw_engine_info->reserved, 0, sizeof(hw_engine_info->reserved));
> > > >  
> > > >  			i++;
> > > >  		}
> > > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > > index 1bdd20d3c4a8..c80e03b61489 100644
> > > > --- a/include/uapi/drm/xe_drm.h
> > > > +++ b/include/uapi/drm/xe_drm.h
> > > > @@ -124,7 +124,14 @@ struct xe_user_extension {
> > > >  #define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY	DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property)
> > > >  #define DRM_IOCTL_XE_WAIT_USER_FENCE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
> > > >  
> > > > -/** struct drm_xe_engine_class_instance - instance of an engine class */
> > > > +/**
> > > > + * struct drm_xe_engine_class_instance - instance of an engine class
> > > > + *
> > > > + * It is returned as part of the @drm_xe_query_engine_info, but it also is
> > > > + * used as the input of engine selection for both @drm_xe_exec_queue_create
> > > > + * and @drm_xe_query_engine_cycles
> > > > + *
> > > > + */
> > > >  struct drm_xe_engine_class_instance {
> > > >  #define DRM_XE_ENGINE_CLASS_RENDER		0
> > > >  #define DRM_XE_ENGINE_CLASS_COPY		1
> > > > @@ -145,6 +152,21 @@ struct drm_xe_engine_class_instance {
> > > >  	__u16 pad;
> > > >  };
> > > >  
> > > > +/**
> > > > + * struct drm_xe_query_engine_info - describe hardware engine
> > > > + *
> > > > + * If a query is made with a struct @drm_xe_device_query where .query
> > > > + * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
> > > > + * struct @drm_xe_query_engine_info in .data.
> > > > + */
> > > > +struct drm_xe_query_engine_info {
> > > > +	/** @instance: The @drm_xe_engine_class_instance */
> > > > +	struct drm_xe_engine_class_instance instance;
> > 
> > > > +
> > > > +	/** @reserved: Reserved */
> > > > +	__u64 reserved[5];
> > > > +};
> > > > +
> > > >  /**
> > > >   * enum drm_xe_memory_class - Supported memory classes.
> > > >   */
> > > > -- 
> > > > 2.34.1
> > > > 


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

* Re: [Intel-xe] [PATCH v2 02/14] drm/xe/uapi: Separate bo_create placement from flags
  2023-11-29 19:36   ` Welty, Brian
@ 2023-11-29 20:41     ` Rodrigo Vivi
  0 siblings, 0 replies; 49+ messages in thread
From: Rodrigo Vivi @ 2023-11-29 20:41 UTC (permalink / raw)
  To: Welty, Brian; +Cc: Francois Dugast, intel-xe

On Wed, Nov 29, 2023 at 11:36:03AM -0800, Welty, Brian wrote:
> 
> 
> On 11/22/2023 6:38 AM, Francois Dugast wrote:
> > From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > 
> > Although the flags are about the creation, the memory placement
> > of the BO deserves a proper dedicated field in the uapi.
> > 
> > Besides getting more clear, it also allows to remove the
> > 'magic' shifts from the flags that was a concern during the
> > uapi reviews.
> > 
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> >   drivers/gpu/drm/xe/xe_bo.c | 15 +++++++--------
> >   include/uapi/drm/xe_drm.h  | 12 ++++++------
> >   2 files changed, 13 insertions(+), 14 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> > index 4305f5cbc2ab..bbce4cd80f7e 100644
> > --- a/drivers/gpu/drm/xe/xe_bo.c
> > +++ b/drivers/gpu/drm/xe/xe_bo.c
> > @@ -1799,19 +1799,18 @@ int xe_gem_create_ioctl(struct drm_device *dev, void *data,
> >   	u32 handle;
> >   	int err;
> > -	if (XE_IOCTL_DBG(xe, args->extensions) || XE_IOCTL_DBG(xe, args->pad) ||
> > +	if (XE_IOCTL_DBG(xe, args->extensions) ||
> >   	    XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
> >   		return -EINVAL;
> > +	/* at least one valid memory placement must be specified */
> > +	if (XE_IOCTL_DBG(xe, !(args->placement & xe->info.mem_region_mask)))
> > +		return -EINVAL;
> 
> I think you are missing to test that args->placement is *only* a mask of
> regions.   Looks like you allow other bits to be included and those will
> get slammed into bo_flags below.

now that they are split I don't believe that they would get slammed below,
but anyway, good catch, you are absolutely right that we should check
for the real valid bits in a better way, like the one you proposed below.

> 
> Probably:
> 
>   if (XE_IOCTL_DBG(xe, (args->placement & ~xe->info.mem_region_mask) ||
> !args->placement))
>      return -EINVAL;

Thank you!

> 
> 
> -Brian
> 
> 
> > +
> >   	if (XE_IOCTL_DBG(xe, args->flags &
> >   			 ~(DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING |
> >   			   DRM_XE_GEM_CREATE_FLAG_SCANOUT |
> > -			   DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM |
> > -			   xe->info.mem_region_mask)))
> > -		return -EINVAL;
> > -
> > -	/* at least one memory type must be specified */
> > -	if (XE_IOCTL_DBG(xe, !(args->flags & xe->info.mem_region_mask)))
> > +			   DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM)))
> >   		return -EINVAL;
> >   	if (XE_IOCTL_DBG(xe, args->handle))
> > @@ -1832,7 +1831,7 @@ int xe_gem_create_ioctl(struct drm_device *dev, void *data,
> >   	if (args->flags & DRM_XE_GEM_CREATE_FLAG_SCANOUT)
> >   		bo_flags |= XE_BO_SCANOUT_BIT;
> > -	bo_flags |= args->flags << (ffs(XE_BO_CREATE_SYSTEM_BIT) - 1);
> > +	bo_flags |= args->placement << (ffs(XE_BO_CREATE_SYSTEM_BIT) - 1);
> >   	if (args->flags & DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM) {
> >   		if (XE_IOCTL_DBG(xe, !(bo_flags & XE_BO_CREATE_VRAM_MASK)))
> > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > index b0d13bc6d9cf..1bdd20d3c4a8 100644
> > --- a/include/uapi/drm/xe_drm.h
> > +++ b/include/uapi/drm/xe_drm.h
> > @@ -500,8 +500,11 @@ struct drm_xe_gem_create {
> >   	 */
> >   	__u64 size;
> > -#define DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING		(0x1 << 24)
> > -#define DRM_XE_GEM_CREATE_FLAG_SCANOUT			(0x1 << 25)
> > +	/** @placement: A mask of memory instances of where BO can be placed. */
> > +	__u32 placement;
> > +
> > +#define DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING		(1 << 0)
> > +#define DRM_XE_GEM_CREATE_FLAG_SCANOUT			(1 << 1)
> >   /*
> >    * When using VRAM as a possible placement, ensure that the corresponding VRAM
> >    * allocation will always use the CPU accessible part of VRAM. This is important
> > @@ -517,7 +520,7 @@ struct drm_xe_gem_create {
> >    * display surfaces, therefore the kernel requires setting this flag for such
> >    * objects, otherwise an error is thrown on small-bar systems.
> >    */
> > -#define DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM	(0x1 << 26)
> > +#define DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM	(1 << 2)
> >   	/**
> >   	 * @flags: Flags, currently a mask of memory instances of where BO can
> >   	 * be placed
> > @@ -541,9 +544,6 @@ struct drm_xe_gem_create {
> >   	 */
> >   	__u32 handle;
> > -	/** @pad: MBZ */
> > -	__u32 pad;
> > -
> >   	/** @reserved: Reserved */
> >   	__u64 reserved[2];
> >   };

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

* Re: [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
  2023-11-29 20:04         ` Souza, Jose
@ 2023-11-29 22:52           ` Rodrigo Vivi
  0 siblings, 0 replies; 49+ messages in thread
From: Rodrigo Vivi @ 2023-11-29 22:52 UTC (permalink / raw)
  To: Souza, Jose; +Cc: Dugast, Francois, intel-xe

On Wed, Nov 29, 2023 at 03:04:37PM -0500, Souza, Jose wrote:
> On Wed, 2023-11-29 at 12:35 +0000, Matthew Brost wrote:
> > On Wed, Nov 29, 2023 at 11:54:51AM -0500, Rodrigo Vivi wrote:
> > > On Tue, Nov 28, 2023 at 09:17:51PM +0000, Matthew Brost wrote:
> > > > On Wed, Nov 22, 2023 at 02:38:22PM +0000, Francois Dugast wrote:
> > > > > From: José Roberto de Souza <jose.souza@intel.com>
> > > > > 
> > > > > We have at least 2 future features(OA and future media engines
> > > > > capabilities) that will require Xe to provide more information about
> > > > > engines to UMDs.
> > > > > 
> > > > > But this information should not just be added to
> > > > > drm_xe_engine_class_instance for a couple of reasons:
> > > > > - drm_xe_engine_class_instance is used as input to other structs/uAPIs
> > > > > and those uAPIs don't care about any of these future new engine fields
> > > > > - those new fields are useless information after initialization for
> > > > > some UMDs, so it should not need to carry that around
> > > > > 
> > > > > So here my proposal is to make DRM_XE_DEVICE_QUERY_ENGINES return an
> > > > > array of drm_xe_query_engine_info that contain
> > > > > drm_xe_engine_class_instance and 3 u64s to be used for future features.
> > > > 
> > > > There is 5 u64 in this patch.
> > > 
> > > my bad, sorry. just trying to prepare for the many capabilities and other
> > > stuff we will likely need. But likely 3 would be enough.
> > > 
> > > > 
> > > > Anyways agree this better but what if we improve this a bit more making
> > > > each __drm_xe_query_engine_info a dynamic size.
> > > 
> > > hmmm... I think I like this idea. pahole seems to have a good output
> > > with our other existent dynamic array.
> > > 
> > 
> > Cool, looking forward to what we come up with.
> 
> v2 of drm_xe_query_engine_info would be something like this?
> 
> struct drm_xe_query_engine_info {
>     struct drm_xe_engine_class_instance instance;
>     __u64 foo;
>     __u64 reserved[0];
> }

something like that. But when I was coding it here I was not comfortable with
having an open ended reserved field.

> 
> maybe already add a pad enough for the OA counter and media engine capabilities usages and leave reserved[0] at the end for future.

Maybe just reduce that to 2 or 3 u64?

> 
> 
> > 
> > > > 
> > > > e.g.
> > > > struct __drm_xe_query_engine_info {	/* Bad name, just for example */
> > > >      /** @instance: The @drm_xe_engine_class_instance */
> > > >      struct drm_xe_engine_class_instance instance;
> > > > 
> > > >      /** @reserved: Reserved, dynamic size */
> > > >      __u64 reserved[0];
> > > 
> > > I believe [] instead of [0] is the preferred way nowadays.
> > > 
> > 
> > Yep.
> > 
> > Matt
> > 
> > > > };
> > > > 
> > > > struct drm_xe_query_engine_info {
> > > >      /** @num_engines: Number engines */
> > > >      __u64 num_engines;
> > > >      /** @engine_info: Array of engine info */
> > > >      struct __drm_xe_query_engine_info engine_info[0];
> > > > };
> > > > 
> > > > The size of __drm_xe_query_engine_info then change and can be calculated
> > > > to be:
> > > > 
> > > > (returned size of query - sizoeof(__u64)) / drm_xe_query_engine_info.num_engines
> > > > 
> > > > We then should be able to add additional fields to
> > > > __drm_xe_query_engine_info indefinitely.
> > > > 
> > > > What does everyone think? We likely can apply this idea to other
> > > > queries too as it makes sense.
> > > > 
> > > > Matt
> > > > 
> > > > > 
> > > > > Reference OA:
> > > > > https://patchwork.freedesktop.org/patch/558362/?series=121084&rev=6
> > > > > 
> > > > > Cc: Francois Dugast <francois.dugast@intel.com>
> > > > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > > > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > > [Rodrigo Rebased]
> > > > > Signed-off-by: Francois Dugast <francois.dugast@intel.com>
> > > > > ---
> > > > >  drivers/gpu/drm/xe/xe_query.c | 15 ++++++++-------
> > > > >  include/uapi/drm/xe_drm.h     | 24 +++++++++++++++++++++++-
> > > > >  2 files changed, 31 insertions(+), 8 deletions(-)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
> > > > > index 61a7d92b7e88..0cbfeaeb1330 100644
> > > > > --- a/drivers/gpu/drm/xe/xe_query.c
> > > > > +++ b/drivers/gpu/drm/xe/xe_query.c
> > > > > @@ -53,7 +53,7 @@ static size_t calc_hw_engine_info_size(struct xe_device *xe)
> > > > >  			i++;
> > > > >  		}
> > > > >  
> > > > > -	return i * sizeof(struct drm_xe_engine_class_instance);
> > > > > +	return i * sizeof(struct drm_xe_query_engine_info);
> > > > >  }
> > > > >  
> > > > >  typedef u64 (*__ktime_func_t)(void);
> > > > > @@ -186,9 +186,9 @@ static int query_engines(struct xe_device *xe,
> > > > >  			 struct drm_xe_device_query *query)
> > > > >  {
> > > > >  	size_t size = calc_hw_engine_info_size(xe);
> > > > > -	struct drm_xe_engine_class_instance __user *query_ptr =
> > > > > +	struct drm_xe_query_engine_info __user *query_ptr =
> > > > >  		u64_to_user_ptr(query->data);
> > > > > -	struct drm_xe_engine_class_instance *hw_engine_info;
> > > > > +	struct drm_xe_query_engine_info *hw_engine_info;
> > > > >  	struct xe_hw_engine *hwe;
> > > > >  	enum xe_hw_engine_id id;
> > > > >  	struct xe_gt *gt;
> > > > > @@ -211,12 +211,13 @@ static int query_engines(struct xe_device *xe,
> > > > >  			if (xe_hw_engine_is_reserved(hwe))
> > > > >  				continue;
> > > > >  
> > > > > -			hw_engine_info[i].engine_class =
> > > > > +			hw_engine_info[i].instance.engine_class =
> > > > >  				xe_to_user_engine_class[hwe->class];
> > > > > -			hw_engine_info[i].engine_instance =
> > > > > +			hw_engine_info[i].instance.engine_instance =
> > > > >  				hwe->logical_instance;
> > > > > -			hw_engine_info[i].gt_id = gt->info.id;
> > > > > -			hw_engine_info[i].pad = 0;
> > > > > +			hw_engine_info[i].instance.gt_id = gt->info.id;
> > > > > +			hw_engine_info[i].instance.pad = 0;
> > > > > +			memset(hw_engine_info->reserved, 0, sizeof(hw_engine_info->reserved));
> > > > >  
> > > > >  			i++;
> > > > >  		}
> > > > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > > > index 1bdd20d3c4a8..c80e03b61489 100644
> > > > > --- a/include/uapi/drm/xe_drm.h
> > > > > +++ b/include/uapi/drm/xe_drm.h
> > > > > @@ -124,7 +124,14 @@ struct xe_user_extension {
> > > > >  #define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY	DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property)
> > > > >  #define DRM_IOCTL_XE_WAIT_USER_FENCE		DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
> > > > >  
> > > > > -/** struct drm_xe_engine_class_instance - instance of an engine class */
> > > > > +/**
> > > > > + * struct drm_xe_engine_class_instance - instance of an engine class
> > > > > + *
> > > > > + * It is returned as part of the @drm_xe_query_engine_info, but it also is
> > > > > + * used as the input of engine selection for both @drm_xe_exec_queue_create
> > > > > + * and @drm_xe_query_engine_cycles
> > > > > + *
> > > > > + */
> > > > >  struct drm_xe_engine_class_instance {
> > > > >  #define DRM_XE_ENGINE_CLASS_RENDER		0
> > > > >  #define DRM_XE_ENGINE_CLASS_COPY		1
> > > > > @@ -145,6 +152,21 @@ struct drm_xe_engine_class_instance {
> > > > >  	__u16 pad;
> > > > >  };
> > > > >  
> > > > > +/**
> > > > > + * struct drm_xe_query_engine_info - describe hardware engine
> > > > > + *
> > > > > + * If a query is made with a struct @drm_xe_device_query where .query
> > > > > + * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of
> > > > > + * struct @drm_xe_query_engine_info in .data.
> > > > > + */
> > > > > +struct drm_xe_query_engine_info {
> > > > > +	/** @instance: The @drm_xe_engine_class_instance */
> > > > > +	struct drm_xe_engine_class_instance instance;
> > > 
> > > > > +
> > > > > +	/** @reserved: Reserved */
> > > > > +	__u64 reserved[5];
> > > > > +};
> > > > > +
> > > > >  /**
> > > > >   * enum drm_xe_memory_class - Supported memory classes.
> > > > >   */
> > > > > -- 
> > > > > 2.34.1
> > > > > 
> 

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

* Re: [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions)
  2023-11-22 14:38 ` [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions) Francois Dugast
  2023-11-24 18:19   ` Souza, Jose
@ 2023-11-30 20:53   ` Dixit, Ashutosh
  1 sibling, 0 replies; 49+ messages in thread
From: Dixit, Ashutosh @ 2023-11-30 20:53 UTC (permalink / raw)
  To: Francois Dugast; +Cc: intel-xe, Rodrigo Vivi

On Wed, 22 Nov 2023 06:38:24 -0800, Francois Dugast wrote:
>
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index da10d946930b..a9bbdf141fe2 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -182,10 +182,10 @@ enum drm_xe_memory_class {
>  };
>
>  /**
> - * struct drm_xe_query_mem_region - Describes some region as known to
> + * struct drm_xe_mem_region - Describes some region as known to
>   * the driver.
>   */
> -struct drm_xe_query_mem_region {
> +struct drm_xe_mem_region {
>	/**
>	 * @mem_class: The memory class describing this region.
>	 *
> @@ -322,12 +322,12 @@ struct drm_xe_query_engine_cycles {
>   * struct drm_xe_query_mem_regions in .data.
>   */
>  struct drm_xe_query_mem_regions {
> -	/** @num_regions: number of memory regions returned in @regions */
> -	__u32 num_regions;
> +	/** @num_mem_regions: number of memory regions returned in @mem_regions */
> +	__u32 num_mem_regions;
>	/** @pad: MBZ */
>	__u32 pad;
> -	/** @regions: The returned regions for this device */
> -	struct drm_xe_query_mem_region regions[];
> +	/** @mem_regions: The returned memory regions for this device */
> +	struct drm_xe_mem_region mem_regions[];

General question/comment about these query struct's. We have stuck
xe_user_extension's into struct's going into the kernel but haven't done
that for data coming out of the kernel (i.e. these kinds of query structs).

There are basically two options here:

* If the query data struct needs to change, invent a new query,
  e.g. instead of DRM_XE_DEVICE_QUERY_MEM_REGIONS have a new
  DRM_XE_DEVICE_QUERY_MEM_REGIONS_v2.

* The other option is to have xe_user_extension's in these query struct's
  too and provide the new query struct via the xe_user_extension (rather
  than add DRM_XE_DEVICE_QUERY_MEM_REGIONS_v2). So slight difference I
  think.

Comments?

Incidentally for some reason 'struct drm_xe_exec_queue_get_property' does
have an 'extensions' field.

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

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

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-22 14:38 [Intel-xe] [PATCH v2 00/14] uAPI Alignment - Cleanup and future proof Francois Dugast
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 01/14] drm/xe: Extend drm_xe_vm_bind_op Francois Dugast
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 02/14] drm/xe/uapi: Separate bo_create placement from flags Francois Dugast
2023-11-29 19:36   ` Welty, Brian
2023-11-29 20:41     ` Rodrigo Vivi
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 03/14] drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof Francois Dugast
2023-11-28 21:17   ` Matthew Brost
2023-11-29 16:54     ` Rodrigo Vivi
2023-11-29 12:35       ` Matthew Brost
2023-11-29 20:04         ` Souza, Jose
2023-11-29 22:52           ` Rodrigo Vivi
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 04/14] drm/xe/uapi: Reject bo creation of unaligned size Francois Dugast
2023-11-24 18:15   ` Souza, Jose
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 05/14] drm/xe/uapi: Align on a common way to return arrays (memory regions) Francois Dugast
2023-11-24 18:19   ` Souza, Jose
2023-11-28 20:51     ` Rodrigo Vivi
2023-11-29 12:33       ` Francois Dugast
2023-11-30 20:53   ` Dixit, Ashutosh
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 06/14] drm/xe/uapi: Align on a common way to return arrays (gt) Francois Dugast
2023-11-28 20:51   ` Rodrigo Vivi
2023-11-29 18:30   ` Matt Roper
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 07/14] drm/xe/uapi: Align on a common way to return arrays (engines) Francois Dugast
2023-11-28 20:56   ` Rodrigo Vivi
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 08/14] drm/xe/uapi: Split xe_sync types from flags Francois Dugast
2023-11-28 21:19   ` Matthew Brost
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 09/14] drm/xe/uapi: Kill tile_mask Francois Dugast
2023-11-29  9:07   ` Matthew Brost
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 10/14] drm/xe/uapi: Crystal Reference Clock updates Francois Dugast
2023-11-24 18:38   ` Souza, Jose
2023-11-29 14:08     ` Francois Dugast
2023-11-29 18:33       ` Souza, Jose
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 11/14] drm/xe/uapi: Remove bogus engine list from the wait_user_fence IOCTL Francois Dugast
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 12/14] drm/xe/uapi: Add Tile ID information to the GT info query Francois Dugast
2023-11-24 18:45   ` Souza, Jose
2023-11-27 14:08     ` Francois Dugast
2023-11-27 14:20       ` Souza, Jose
2023-11-29 18:33         ` Souza, Jose
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 13/14] drm/xe/uapi: Fix various struct padding for 64b alignment Francois Dugast
2023-11-29 17:02   ` Souza, Jose
2023-11-29 17:39     ` Francois Dugast
2023-11-22 14:38 ` [Intel-xe] [PATCH v2 14/14] drm/xe/uapi: Move xe_exec after xe_exec_queue Francois Dugast
2023-11-29 18:34   ` Souza, Jose
2023-11-23 14:14 ` [Intel-xe] ✓ CI.Patch_applied: success for uAPI Alignment - Cleanup and future proof (rev5) Patchwork
2023-11-23 14:14 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-11-23 14:15 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-11-23 14:23 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-11-23 14:23 ` [Intel-xe] ✗ CI.Hooks: failure " Patchwork
2023-11-23 14:24 ` [Intel-xe] ✓ CI.checksparse: success " Patchwork
2023-11-23 15:01 ` [Intel-xe] ✗ CI.BAT: failure " Patchwork

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