Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds
@ 2023-09-14 20:40 Matthew Brost
  2023-09-14 20:40 ` [Intel-xe] [PATCH 1/6] drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension Matthew Brost
                   ` (11 more replies)
  0 siblings, 12 replies; 21+ messages in thread
From: Matthew Brost @ 2023-09-14 20:40 UTC (permalink / raw)
  To: intel-xe

No error handling for cases where binds fail under memory pressure but
enough to stablize uAPI for upstreaming.

Matthew Brost (5):
  drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
  drm/xe: Remove async worker and rework sync binds
  drm/xe: Fix VM bind out-sync signaling ordering
  drm/xe: Allow num_binds == 0 in VM bind IOCTL
  drm/xe: Allow num_batch_buffer == 0 in exec IOCTL

Rodrigo Vivi (1):
  drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS
    extension

 drivers/gpu/drm/xe/xe_exec.c             |  65 +-
 drivers/gpu/drm/xe/xe_exec_queue.c       |  85 ++-
 drivers/gpu/drm/xe/xe_exec_queue.h       |   7 +
 drivers/gpu/drm/xe/xe_exec_queue_types.h |   9 +
 drivers/gpu/drm/xe/xe_sync.c             |  19 +-
 drivers/gpu/drm/xe/xe_sync.h             |   4 +-
 drivers/gpu/drm/xe/xe_vm.c               | 737 +++++------------------
 drivers/gpu/drm/xe/xe_vm.h               |   2 -
 drivers/gpu/drm/xe/xe_vm_types.h         |  42 +-
 drivers/gpu/drm/xe/xe_wait_user_fence.c  |  43 +-
 include/uapi/drm/xe_drm.h                |  90 +--
 11 files changed, 307 insertions(+), 796 deletions(-)

-- 
2.34.1


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

* [Intel-xe] [PATCH 1/6] drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
@ 2023-09-14 20:40 ` Matthew Brost
  2023-09-21  8:55   ` Thomas Hellström
  2023-09-14 20:40 ` [Intel-xe] [PATCH 2/6] drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR Matthew Brost
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Matthew Brost @ 2023-09-14 20:40 UTC (permalink / raw)
  To: intel-xe; +Cc: Rodrigo Vivi

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

This extension is currently not used and it is not aligned with
the error handling on async VM_BIND. Let's remove it and along with
that, since it was the only extension for the vm_create, remove VM
extension entirely.

Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/xe/xe_vm.c | 129 +------------------------------------
 include/uapi/drm/xe_drm.h  |  42 +-----------
 2 files changed, 4 insertions(+), 167 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 2b225c0692a6..2a69302304e2 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -1369,37 +1369,6 @@ static void flush_async_ops(struct xe_vm *vm)
 	flush_work(&vm->async_ops.work);
 }
 
-static void vm_error_capture(struct xe_vm *vm, int err,
-			     u32 op, u64 addr, u64 size)
-{
-	struct drm_xe_vm_bind_op_error_capture capture;
-	u64 __user *address =
-		u64_to_user_ptr(vm->async_ops.error_capture.addr);
-	bool in_kthread = !current->mm;
-
-	capture.error = err;
-	capture.op = op;
-	capture.addr = addr;
-	capture.size = size;
-
-	if (in_kthread) {
-		if (!mmget_not_zero(vm->async_ops.error_capture.mm))
-			goto mm_closed;
-		kthread_use_mm(vm->async_ops.error_capture.mm);
-	}
-
-	if (copy_to_user(address, &capture, sizeof(capture)))
-		drm_warn(&vm->xe->drm, "Copy to user failed");
-
-	if (in_kthread) {
-		kthread_unuse_mm(vm->async_ops.error_capture.mm);
-		mmput(vm->async_ops.error_capture.mm);
-	}
-
-mm_closed:
-	wake_up_all(&vm->async_ops.error_capture.wq);
-}
-
 static void xe_vm_close(struct xe_vm *vm)
 {
 	down_write(&vm->lock);
@@ -1883,91 +1852,6 @@ static int xe_vm_unbind(struct xe_vm *vm, struct xe_vma *vma,
 	return 0;
 }
 
-static int vm_set_error_capture_address(struct xe_device *xe, struct xe_vm *vm,
-					u64 value)
-{
-	if (XE_IOCTL_DBG(xe, !value))
-		return -EINVAL;
-
-	if (XE_IOCTL_DBG(xe, !(vm->flags & XE_VM_FLAG_ASYNC_BIND_OPS)))
-		return -EOPNOTSUPP;
-
-	if (XE_IOCTL_DBG(xe, vm->async_ops.error_capture.addr))
-		return -EOPNOTSUPP;
-
-	vm->async_ops.error_capture.mm = current->mm;
-	vm->async_ops.error_capture.addr = value;
-	init_waitqueue_head(&vm->async_ops.error_capture.wq);
-
-	return 0;
-}
-
-typedef int (*xe_vm_set_property_fn)(struct xe_device *xe, struct xe_vm *vm,
-				     u64 value);
-
-static const xe_vm_set_property_fn vm_set_property_funcs[] = {
-	[XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS] =
-		vm_set_error_capture_address,
-};
-
-static int vm_user_ext_set_property(struct xe_device *xe, struct xe_vm *vm,
-				    u64 extension)
-{
-	u64 __user *address = u64_to_user_ptr(extension);
-	struct drm_xe_ext_vm_set_property ext;
-	int err;
-
-	err = __copy_from_user(&ext, address, sizeof(ext));
-	if (XE_IOCTL_DBG(xe, err))
-		return -EFAULT;
-
-	if (XE_IOCTL_DBG(xe, ext.property >=
-			 ARRAY_SIZE(vm_set_property_funcs)) ||
-	    XE_IOCTL_DBG(xe, ext.pad) ||
-	    XE_IOCTL_DBG(xe, ext.reserved[0] || ext.reserved[1]))
-		return -EINVAL;
-
-	return vm_set_property_funcs[ext.property](xe, vm, ext.value);
-}
-
-typedef int (*xe_vm_user_extension_fn)(struct xe_device *xe, struct xe_vm *vm,
-				       u64 extension);
-
-static const xe_vm_set_property_fn vm_user_extension_funcs[] = {
-	[XE_VM_EXTENSION_SET_PROPERTY] = vm_user_ext_set_property,
-};
-
-#define MAX_USER_EXTENSIONS	16
-static int vm_user_extensions(struct xe_device *xe, struct xe_vm *vm,
-			      u64 extensions, int ext_number)
-{
-	u64 __user *address = u64_to_user_ptr(extensions);
-	struct xe_user_extension ext;
-	int err;
-
-	if (XE_IOCTL_DBG(xe, ext_number >= MAX_USER_EXTENSIONS))
-		return -E2BIG;
-
-	err = __copy_from_user(&ext, address, sizeof(ext));
-	if (XE_IOCTL_DBG(xe, err))
-		return -EFAULT;
-
-	if (XE_IOCTL_DBG(xe, ext.pad) ||
-	    XE_IOCTL_DBG(xe, ext.name >=
-			 ARRAY_SIZE(vm_user_extension_funcs)))
-		return -EINVAL;
-
-	err = vm_user_extension_funcs[ext.name](xe, vm, extensions);
-	if (XE_IOCTL_DBG(xe, err))
-		return err;
-
-	if (ext.next_extension)
-		return vm_user_extensions(xe, vm, ext.next_extension,
-					  ++ext_number);
-
-	return 0;
-}
-
 #define ALL_DRM_XE_VM_CREATE_FLAGS (DRM_XE_VM_CREATE_SCRATCH_PAGE | \
 				    DRM_XE_VM_CREATE_COMPUTE_MODE | \
 				    DRM_XE_VM_CREATE_ASYNC_BIND_OPS | \
@@ -1984,6 +1868,9 @@ int xe_vm_create_ioctl(struct drm_device *dev, void *data,
 	int err;
 	u32 flags = 0;
 
+	if (XE_IOCTL_DBG(xe, args->extensions))
+		return -EINVAL;
+
 	if (XE_WA(xe_root_mmio_gt(xe), 14016763929))
 		args->flags |= DRM_XE_VM_CREATE_SCRATCH_PAGE;
 
@@ -2026,14 +1913,6 @@ int xe_vm_create_ioctl(struct drm_device *dev, void *data,
 	if (IS_ERR(vm))
 		return PTR_ERR(vm);
 
-	if (args->extensions) {
-		err = vm_user_extensions(xe, vm, args->extensions, 0);
-		if (XE_IOCTL_DBG(xe, err)) {
-			xe_vm_close_and_put(vm);
-			return err;
-		}
-	}
-
 	mutex_lock(&xef->vm.lock);
 	err = xa_alloc(&xef->vm.xa, &id, vm, xa_limit_32b, GFP_KERNEL);
 	mutex_unlock(&xef->vm.lock);
@@ -2931,8 +2810,6 @@ static void xe_vma_op_work_func(struct work_struct *w)
 				vm_set_async_error(vm, err);
 				up_write(&vm->lock);
 
-				if (vm->async_ops.error_capture.addr)
-					vm_error_capture(vm, err, 0, 0, 0);
 				break;
 			}
 			up_write(&vm->lock);
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 00d5cb4ef85e..5cbbb433ce68 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -480,44 +480,7 @@ struct drm_xe_gem_mmap_offset {
 	__u64 reserved[2];
 };
 
-/**
- * struct drm_xe_vm_bind_op_error_capture - format of VM bind op error capture
- */
-struct drm_xe_vm_bind_op_error_capture {
-	/** @error: errno that occurred */
-	__s32 error;
-
-	/** @op: operation that encounter an error */
-	__u32 op;
-
-	/** @addr: address of bind op */
-	__u64 addr;
-
-	/** @size: size of bind */
-	__u64 size;
-};
-
-/** struct drm_xe_ext_vm_set_property - VM set property extension */
-struct drm_xe_ext_vm_set_property {
-	/** @base: base user extension */
-	struct xe_user_extension base;
-
-#define XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS		0
-	/** @property: property to set */
-	__u32 property;
-
-	/** @pad: MBZ */
-	__u32 pad;
-
-	/** @value: property value */
-	__u64 value;
-
-	/** @reserved: Reserved */
-	__u64 reserved[2];
-};
-
 struct drm_xe_vm_create {
-#define XE_VM_EXTENSION_SET_PROPERTY	0
 	/** @extensions: Pointer to the first extension struct, if any */
 	__u64 extensions;
 
@@ -600,10 +563,7 @@ struct drm_xe_vm_bind_op {
 	 * practice the bind op is good and will complete.
 	 *
 	 * If this flag is set and doesn't return an error, the bind op can
-	 * still fail and recovery is needed. If configured, the bind op that
-	 * caused the error will be captured in drm_xe_vm_bind_op_error_capture.
-	 * Once the user sees the error (via a ufence +
-	 * XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS), it should free memory
+	 * still fail and recovery is needed. It should free memory
 	 * via non-async unbinds, and then restart all queued async binds op via
 	 * XE_VM_BIND_OP_RESTART. Or alternatively the user should destroy the
 	 * VM.
-- 
2.34.1


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

* [Intel-xe] [PATCH 2/6] drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
  2023-09-14 20:40 ` [Intel-xe] [PATCH 1/6] drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension Matthew Brost
@ 2023-09-14 20:40 ` Matthew Brost
  2023-09-21  8:57   ` Thomas Hellström
  2023-09-14 20:40 ` [Intel-xe] [PATCH 3/6] drm/xe: Remove async worker and rework sync binds Matthew Brost
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Matthew Brost @ 2023-09-14 20:40 UTC (permalink / raw)
  To: intel-xe

This is not used nor does it align VM async document, kill this.

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_vm.c              |  3 --
 drivers/gpu/drm/xe/xe_vm_types.h        | 11 -------
 drivers/gpu/drm/xe/xe_wait_user_fence.c | 43 +++----------------------
 include/uapi/drm/xe_drm.h               | 17 +++-------
 4 files changed, 9 insertions(+), 65 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 2a69302304e2..ea1f089549b1 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -1455,9 +1455,6 @@ void xe_vm_close_and_put(struct xe_vm *vm)
 		xe_vma_destroy_unlocked(vma);
 	}
 
-	if (vm->async_ops.error_capture.addr)
-		wake_up_all(&vm->async_ops.error_capture.wq);
-
 	xe_assert(xe, list_empty(&vm->extobj.list));
 	up_write(&vm->lock);
 
diff --git a/drivers/gpu/drm/xe/xe_vm_types.h b/drivers/gpu/drm/xe/xe_vm_types.h
index 52e5eaed91c3..3dc3da1386cb 100644
--- a/drivers/gpu/drm/xe/xe_vm_types.h
+++ b/drivers/gpu/drm/xe/xe_vm_types.h
@@ -222,17 +222,6 @@ struct xe_vm {
 		struct work_struct work;
 		/** @lock: protects list of pending async VM ops and fences */
 		spinlock_t lock;
-		/** @error_capture: error capture state */
-		struct {
-			/** @mm: user MM */
-			struct mm_struct *mm;
-			/**
-			 * @addr: user pointer to copy error capture state too
-			 */
-			u64 addr;
-			/** @wq: user fence wait queue for VM errors */
-			wait_queue_head_t wq;
-		} error_capture;
 		/** @fence: fence state */
 		struct {
 			/** @context: context of async fence */
diff --git a/drivers/gpu/drm/xe/xe_wait_user_fence.c b/drivers/gpu/drm/xe/xe_wait_user_fence.c
index 761eed3a022f..b47e9464c115 100644
--- a/drivers/gpu/drm/xe/xe_wait_user_fence.c
+++ b/drivers/gpu/drm/xe/xe_wait_user_fence.c
@@ -13,7 +13,6 @@
 #include "xe_device.h"
 #include "xe_gt.h"
 #include "xe_macros.h"
-#include "xe_vm.h"
 
 static int do_compare(u64 addr, u64 value, u64 mask, u16 op)
 {
@@ -81,8 +80,7 @@ static int check_hw_engines(struct xe_device *xe,
 }
 
 #define VALID_FLAGS	(DRM_XE_UFENCE_WAIT_SOFT_OP | \
-			 DRM_XE_UFENCE_WAIT_ABSTIME | \
-			 DRM_XE_UFENCE_WAIT_VM_ERROR)
+			 DRM_XE_UFENCE_WAIT_ABSTIME)
 #define MAX_OP		DRM_XE_UFENCE_WAIT_LTE
 
 static unsigned long to_jiffies_timeout(struct drm_xe_wait_user_fence *args)
@@ -109,11 +107,9 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *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);
-	struct xe_vm *vm = NULL;
 	u64 addr = args->addr;
 	int err;
-	bool no_engines = args->flags & DRM_XE_UFENCE_WAIT_SOFT_OP ||
-		args->flags & DRM_XE_UFENCE_WAIT_VM_ERROR;
+	bool no_engines = args->flags & DRM_XE_UFENCE_WAIT_SOFT_OP;
 	unsigned long timeout;
 	ktime_t start;
 
@@ -134,8 +130,7 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *data,
 	if (XE_IOCTL_DBG(xe, !no_engines && !args->num_engines))
 		return -EINVAL;
 
-	if (XE_IOCTL_DBG(xe, !(args->flags & DRM_XE_UFENCE_WAIT_VM_ERROR) &&
-			 addr & 0x7))
+	if (XE_IOCTL_DBG(xe, addr & 0x7))
 		return -EINVAL;
 
 	if (XE_IOCTL_DBG(xe, args->num_engines > XE_HW_ENGINE_MAX_INSTANCE))
@@ -153,22 +148,6 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *data,
 			return -EINVAL;
 	}
 
-	if (args->flags & DRM_XE_UFENCE_WAIT_VM_ERROR) {
-		if (XE_IOCTL_DBG(xe, args->vm_id >> 32))
-			return -EINVAL;
-
-		vm = xe_vm_lookup(to_xe_file(file), args->vm_id);
-		if (XE_IOCTL_DBG(xe, !vm))
-			return -ENOENT;
-
-		if (XE_IOCTL_DBG(xe, !vm->async_ops.error_capture.addr)) {
-			xe_vm_put(vm);
-			return -EOPNOTSUPP;
-		}
-
-		addr = vm->async_ops.error_capture.addr;
-	}
-
 	/*
 	 * For negative timeout we want to wait "forever" by setting
 	 * MAX_SCHEDULE_TIMEOUT. But we have to assign this value also
@@ -188,15 +167,8 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *data,
 	 * hardware engine. Open coding as 'do_compare' can sleep which doesn't
 	 * work with the wait_event_* macros.
 	 */
-	if (vm)
-		add_wait_queue(&vm->async_ops.error_capture.wq, &w_wait);
-	else
-		add_wait_queue(&xe->ufence_wq, &w_wait);
+	add_wait_queue(&xe->ufence_wq, &w_wait);
 	for (;;) {
-		if (vm && xe_vm_is_closed(vm)) {
-			err = -ENODEV;
-			break;
-		}
 		err = do_compare(addr, args->value, args->mask, args->op);
 		if (err <= 0)
 			break;
@@ -213,12 +185,7 @@ int xe_wait_user_fence_ioctl(struct drm_device *dev, void *data,
 
 		timeout = wait_woken(&w_wait, TASK_INTERRUPTIBLE, timeout);
 	}
-	if (vm) {
-		remove_wait_queue(&vm->async_ops.error_capture.wq, &w_wait);
-		xe_vm_put(vm);
-	} else {
-		remove_wait_queue(&xe->ufence_wq, &w_wait);
-	}
+	remove_wait_queue(&xe->ufence_wq, &w_wait);
 
 	if (!(args->flags & DRM_XE_UFENCE_WAIT_ABSTIME)) {
 		args->timeout -= ktime_to_ns(ktime_sub(ktime_get(), start));
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 5cbbb433ce68..d0259865717a 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -873,18 +873,10 @@ struct drm_xe_wait_user_fence {
 	/** @extensions: Pointer to the first extension struct, if any */
 	__u64 extensions;
 
-	union {
-		/**
-		 * @addr: user pointer address to wait on, must qword aligned
-		 */
-		__u64 addr;
-
-		/**
-		 * @vm_id: The ID of the VM which encounter an error used with
-		 * DRM_XE_UFENCE_WAIT_VM_ERROR. Upper 32 bits must be clear.
-		 */
-		__u64 vm_id;
-	};
+	/**
+	 * @addr: user pointer address to wait on, must qword aligned
+	 */
+	__u64 addr;
 
 #define DRM_XE_UFENCE_WAIT_EQ	0
 #define DRM_XE_UFENCE_WAIT_NEQ	1
@@ -897,7 +889,6 @@ struct drm_xe_wait_user_fence {
 
 #define DRM_XE_UFENCE_WAIT_SOFT_OP	(1 << 0)	/* e.g. Wait on VM bind */
 #define DRM_XE_UFENCE_WAIT_ABSTIME	(1 << 1)
-#define DRM_XE_UFENCE_WAIT_VM_ERROR	(1 << 2)
 	/** @flags: wait flags */
 	__u16 flags;
 
-- 
2.34.1


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

* [Intel-xe] [PATCH 3/6] drm/xe: Remove async worker and rework sync binds
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
  2023-09-14 20:40 ` [Intel-xe] [PATCH 1/6] drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension Matthew Brost
  2023-09-14 20:40 ` [Intel-xe] [PATCH 2/6] drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR Matthew Brost
@ 2023-09-14 20:40 ` Matthew Brost
  2023-09-21  9:09   ` Thomas Hellström
  2023-09-14 20:40 ` [Intel-xe] [PATCH 4/6] drm/xe: Fix VM bind out-sync signaling ordering Matthew Brost
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Matthew Brost @ 2023-09-14 20:40 UTC (permalink / raw)
  To: intel-xe; +Cc: Matthew Brost

Async worker is gone. All jobs and memory allocations done in IOCTL to
align with dma fencing rules.

Async vs. sync now means when do bind operations complete relative to
the IOCTL. Async completes when out-syncs signal while sync completes
when the IOCTL returns. In-syncs and out-syncs are only allowed in async
mode.

If memory allocations fail in the job creation step the VM is killed.
This is temporary, eventually a proper unwind will be done and VM will
be usable.

Signed-off-by: Matthew Brost <mattthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_exec.c             |  43 --
 drivers/gpu/drm/xe/xe_exec_queue.c       |   7 +-
 drivers/gpu/drm/xe/xe_exec_queue_types.h |   2 +
 drivers/gpu/drm/xe/xe_sync.c             |  14 +-
 drivers/gpu/drm/xe/xe_sync.h             |   2 +-
 drivers/gpu/drm/xe/xe_vm.c               | 536 +++++------------------
 drivers/gpu/drm/xe/xe_vm.h               |   2 -
 drivers/gpu/drm/xe/xe_vm_types.h         |  31 +-
 include/uapi/drm/xe_drm.h                |  33 +-
 9 files changed, 127 insertions(+), 543 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_exec.c b/drivers/gpu/drm/xe/xe_exec.c
index 7d0381d41b32..28e84a0bbeb0 100644
--- a/drivers/gpu/drm/xe/xe_exec.c
+++ b/drivers/gpu/drm/xe/xe_exec.c
@@ -196,27 +196,6 @@ int xe_exec_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 		}
 	}
 
-	/*
-	 * We can't install a job into the VM dma-resv shared slot before an
-	 * async VM bind passed in as a fence without the risk of deadlocking as
-	 * the bind can trigger an eviction which in turn depends on anything in
-	 * the VM dma-resv shared slots. Not an ideal solution, but we wait for
-	 * all dependent async VM binds to start (install correct fences into
-	 * dma-resv slots) before moving forward.
-	 */
-	if (!xe_vm_no_dma_fences(vm) &&
-	    vm->flags & XE_VM_FLAG_ASYNC_BIND_OPS) {
-		for (i = 0; i < args->num_syncs; i++) {
-			struct dma_fence *fence = syncs[i].fence;
-
-			if (fence) {
-				err = xe_vm_async_fence_wait_start(fence);
-				if (err)
-					goto err_syncs;
-			}
-		}
-	}
-
 retry:
 	if (!xe_vm_no_dma_fences(vm) && xe_vm_userptr_check_repin(vm)) {
 		err = down_write_killable(&vm->lock);
@@ -229,28 +208,6 @@ int xe_exec_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 	if (err)
 		goto err_syncs;
 
-	/* We don't allow execs while the VM is in error state */
-	if (vm->async_ops.error) {
-		err = vm->async_ops.error;
-		goto err_unlock_list;
-	}
-
-	/*
-	 * Extreme corner where we exit a VM error state with a munmap style VM
-	 * unbind inflight which requires a rebind. In this case the rebind
-	 * needs to install some fences into the dma-resv slots. The worker to
-	 * do this queued, let that worker make progress by dropping vm->lock,
-	 * flushing the worker and retrying the exec.
-	 */
-	if (vm->async_ops.munmap_rebind_inflight) {
-		if (write_locked)
-			up_write(&vm->lock);
-		else
-			up_read(&vm->lock);
-		flush_work(&vm->async_ops.work);
-		goto retry;
-	}
-
 	if (write_locked) {
 		err = xe_vm_userptr_pin(vm);
 		downgrade_write(&vm->lock);
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 6725157d8c1d..e950c9ef9d40 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -661,7 +661,10 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 	if (XE_IOCTL_DBG(xe, eci[0].gt_id >= xe->info.gt_count))
 		return -EINVAL;
 
-	if (eci[0].engine_class == DRM_XE_ENGINE_CLASS_VM_BIND) {
+	if (eci[0].engine_class >= DRM_XE_ENGINE_CLASS_VM_BIND_ASYNC) {
+		bool sync = eci[0].engine_class ==
+			DRM_XE_ENGINE_CLASS_VM_BIND_SYNC;
+	
 		for_each_gt(gt, xe, id) {
 			struct xe_exec_queue *new;
 
@@ -687,6 +690,8 @@ int xe_exec_queue_create_ioctl(struct drm_device *dev, void *data,
 						   args->width, hwe,
 						   EXEC_QUEUE_FLAG_PERSISTENT |
 						   EXEC_QUEUE_FLAG_VM |
+						   (sync ? 0 :
+						    EXEC_QUEUE_FLAG_VM_ASYNC) |
 						   (id ?
 						    EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD :
 						    0));
diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
index 347d28442701..b828d8a60adf 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
@@ -66,6 +66,8 @@ struct xe_exec_queue {
 #define EXEC_QUEUE_FLAG_VM			BIT(5)
 /* child of VM queue for multi-tile VM jobs */
 #define EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD	BIT(6)
+/* VM jobs for this queue are asynchronous */
+#define EXEC_QUEUE_FLAG_VM_ASYNC		BIT(7)
 
 	/**
 	 * @flags: flags for this exec queue, should statically setup aside from ban
diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c
index 9fcd7802ba30..73ef259aa387 100644
--- a/drivers/gpu/drm/xe/xe_sync.c
+++ b/drivers/gpu/drm/xe/xe_sync.c
@@ -18,7 +18,6 @@
 #include "xe_sched_job_types.h"
 
 #define SYNC_FLAGS_TYPE_MASK 0x3
-#define SYNC_FLAGS_FENCE_INSTALLED	0x10000
 
 struct user_fence {
 	struct xe_device *xe;
@@ -223,12 +222,11 @@ int xe_sync_entry_add_deps(struct xe_sync_entry *sync, struct xe_sched_job *job)
 	return 0;
 }
 
-bool xe_sync_entry_signal(struct xe_sync_entry *sync, struct xe_sched_job *job,
+void xe_sync_entry_signal(struct xe_sync_entry *sync, struct xe_sched_job *job,
 			  struct dma_fence *fence)
 {
-	if (!(sync->flags & DRM_XE_SYNC_SIGNAL) ||
-	    sync->flags & SYNC_FLAGS_FENCE_INSTALLED)
-		return false;
+	if (!(sync->flags & DRM_XE_SYNC_SIGNAL))
+		return;
 
 	if (sync->chain_fence) {
 		drm_syncobj_add_point(sync->syncobj, sync->chain_fence,
@@ -260,12 +258,6 @@ bool xe_sync_entry_signal(struct xe_sync_entry *sync, struct xe_sched_job *job,
 		job->user_fence.addr = sync->addr;
 		job->user_fence.value = sync->timeline_value;
 	}
-
-	/* TODO: external BO? */
-
-	sync->flags |= SYNC_FLAGS_FENCE_INSTALLED;
-
-	return true;
 }
 
 void xe_sync_entry_cleanup(struct xe_sync_entry *sync)
diff --git a/drivers/gpu/drm/xe/xe_sync.h b/drivers/gpu/drm/xe/xe_sync.h
index 4cbcf7a19911..30958ddc4cdc 100644
--- a/drivers/gpu/drm/xe/xe_sync.h
+++ b/drivers/gpu/drm/xe/xe_sync.h
@@ -19,7 +19,7 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
 int xe_sync_entry_wait(struct xe_sync_entry *sync);
 int xe_sync_entry_add_deps(struct xe_sync_entry *sync,
 			   struct xe_sched_job *job);
-bool xe_sync_entry_signal(struct xe_sync_entry *sync,
+void xe_sync_entry_signal(struct xe_sync_entry *sync,
 			  struct xe_sched_job *job,
 			  struct dma_fence *fence);
 void xe_sync_entry_cleanup(struct xe_sync_entry *sync);
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index ea1f089549b1..f9dc9bf6b36b 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -565,7 +565,7 @@ static void preempt_rebind_work_func(struct work_struct *w)
 	unsigned int fence_count = 0;
 	LIST_HEAD(preempt_fences);
 	ktime_t end = 0;
-	int err;
+	int err = 0;
 	long wait;
 	int __maybe_unused tries = 0;
 
@@ -581,22 +581,6 @@ static void preempt_rebind_work_func(struct work_struct *w)
 	}
 
 retry:
-	if (vm->async_ops.error)
-		goto out_unlock_outer;
-
-	/*
-	 * Extreme corner where we exit a VM error state with a munmap style VM
-	 * unbind inflight which requires a rebind. In this case the rebind
-	 * needs to install some fences into the dma-resv slots. The worker to
-	 * do this queued, let that worker make progress by dropping vm->lock
-	 * and trying this again.
-	 */
-	if (vm->async_ops.munmap_rebind_inflight) {
-		up_write(&vm->lock);
-		flush_work(&vm->async_ops.work);
-		goto retry;
-	}
-
 	if (xe_vm_userptr_check_repin(vm)) {
 		err = xe_vm_userptr_pin(vm);
 		if (err)
@@ -1190,7 +1174,6 @@ static struct drm_gpuva_fn_ops gpuva_ops = {
 	.op_alloc = xe_vm_op_alloc,
 };
 
-static void xe_vma_op_work_func(struct work_struct *w);
 static void vm_destroy_work_func(struct work_struct *w);
 
 struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
@@ -1224,10 +1207,6 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
 	INIT_LIST_HEAD(&vm->notifier.rebind_list);
 	spin_lock_init(&vm->notifier.list_lock);
 
-	INIT_LIST_HEAD(&vm->async_ops.pending);
-	INIT_WORK(&vm->async_ops.work, xe_vma_op_work_func);
-	spin_lock_init(&vm->async_ops.lock);
-
 	INIT_WORK(&vm->destroy_work, vm_destroy_work_func);
 
 	INIT_LIST_HEAD(&vm->preempt.exec_queues);
@@ -1281,11 +1260,6 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
 		vm->batch_invalidate_tlb = false;
 	}
 
-	if (flags & XE_VM_FLAG_ASYNC_BIND_OPS) {
-		vm->async_ops.fence.context = dma_fence_context_alloc(1);
-		vm->flags |= XE_VM_FLAG_ASYNC_BIND_OPS;
-	}
-
 	/* Fill pt_root after allocating scratch tables */
 	for_each_tile(tile, xe, id) {
 		if (!vm->pt_root[id])
@@ -1301,6 +1275,9 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
 			struct xe_gt *gt = tile->primary_gt;
 			struct xe_vm *migrate_vm;
 			struct xe_exec_queue *q;
+			u32 create_flags = EXEC_QUEUE_FLAG_VM |
+				((flags & XE_VM_FLAG_ASYNC_DEFAULT) ?
+				EXEC_QUEUE_FLAG_VM_ASYNC : 0);
 
 			if (!vm->pt_root[id])
 				continue;
@@ -1308,7 +1285,7 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
 			migrate_vm = xe_migrate_get_vm(tile->migrate);
 			q = xe_exec_queue_create_class(xe, gt, migrate_vm,
 						       XE_ENGINE_CLASS_COPY,
-						       EXEC_QUEUE_FLAG_VM);
+						       create_flags);
 			xe_vm_put(migrate_vm);
 			if (IS_ERR(q)) {
 				xe_vm_close_and_put(vm);
@@ -1363,12 +1340,6 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
 	return ERR_PTR(err);
 }
 
-static void flush_async_ops(struct xe_vm *vm)
-{
-	queue_work(system_unbound_wq, &vm->async_ops.work);
-	flush_work(&vm->async_ops.work);
-}
-
 static void xe_vm_close(struct xe_vm *vm)
 {
 	down_write(&vm->lock);
@@ -1388,7 +1359,6 @@ void xe_vm_close_and_put(struct xe_vm *vm)
 	xe_assert(xe, !vm->preempt.num_exec_queues);
 
 	xe_vm_close(vm);
-	flush_async_ops(vm);
 	if (xe_vm_in_compute_mode(vm))
 		flush_work(&vm->preempt.rebind_work);
 
@@ -1608,10 +1578,8 @@ xe_vm_unbind_vma(struct xe_vma *vma, struct xe_exec_queue *q,
 
 err_fences:
 	if (fences) {
-		while (cur_fence) {
-			/* FIXME: Rewind the previous binds? */
+		while (cur_fence)
 			dma_fence_put(fences[--cur_fence]);
-		}
 		kfree(fences);
 	}
 
@@ -1685,100 +1653,24 @@ xe_vm_bind_vma(struct xe_vma *vma, struct xe_exec_queue *q,
 
 err_fences:
 	if (fences) {
-		while (cur_fence) {
-			/* FIXME: Rewind the previous binds? */
+		while (cur_fence)
 			dma_fence_put(fences[--cur_fence]);
-		}
 		kfree(fences);
 	}
 
 	return ERR_PTR(err);
 }
 
-struct async_op_fence {
-	struct dma_fence fence;
-	struct dma_fence *wait_fence;
-	struct dma_fence_cb cb;
-	struct xe_vm *vm;
-	wait_queue_head_t wq;
-	bool started;
-};
-
-static const char *async_op_fence_get_driver_name(struct dma_fence *dma_fence)
-{
-	return "xe";
-}
-
-static const char *
-async_op_fence_get_timeline_name(struct dma_fence *dma_fence)
-{
-	return "async_op_fence";
-}
-
-static const struct dma_fence_ops async_op_fence_ops = {
-	.get_driver_name = async_op_fence_get_driver_name,
-	.get_timeline_name = async_op_fence_get_timeline_name,
-};
-
-static void async_op_fence_cb(struct dma_fence *fence, struct dma_fence_cb *cb)
-{
-	struct async_op_fence *afence =
-		container_of(cb, struct async_op_fence, cb);
-
-	afence->fence.error = afence->wait_fence->error;
-	dma_fence_signal(&afence->fence);
-	xe_vm_put(afence->vm);
-	dma_fence_put(afence->wait_fence);
-	dma_fence_put(&afence->fence);
-}
-
-static void add_async_op_fence_cb(struct xe_vm *vm,
-				  struct dma_fence *fence,
-				  struct async_op_fence *afence)
+static bool xe_vm_sync_mode(struct xe_vm *vm, struct xe_exec_queue *q)
 {
-	int ret;
-
-	if (!xe_vm_no_dma_fences(vm)) {
-		afence->started = true;
-		smp_wmb();
-		wake_up_all(&afence->wq);
-	}
-
-	afence->wait_fence = dma_fence_get(fence);
-	afence->vm = xe_vm_get(vm);
-	dma_fence_get(&afence->fence);
-	ret = dma_fence_add_callback(fence, &afence->cb, async_op_fence_cb);
-	if (ret == -ENOENT) {
-		afence->fence.error = afence->wait_fence->error;
-		dma_fence_signal(&afence->fence);
-	}
-	if (ret) {
-		xe_vm_put(vm);
-		dma_fence_put(afence->wait_fence);
-		dma_fence_put(&afence->fence);
-	}
-	XE_WARN_ON(ret && ret != -ENOENT);
-}
-
-int xe_vm_async_fence_wait_start(struct dma_fence *fence)
-{
-	if (fence->ops == &async_op_fence_ops) {
-		struct async_op_fence *afence =
-			container_of(fence, struct async_op_fence, fence);
-
-		xe_assert(afence->vm->xe, !xe_vm_no_dma_fences(afence->vm));
-
-		smp_rmb();
-		return wait_event_interruptible(afence->wq, afence->started);
-	}
-
-	return 0;
+	return q ? !(q->flags & EXEC_QUEUE_FLAG_VM_ASYNC) :
+		!(vm->flags & XE_VM_FLAG_ASYNC_DEFAULT);
 }
 
 static int __xe_vm_bind(struct xe_vm *vm, struct xe_vma *vma,
 			struct xe_exec_queue *q, struct xe_sync_entry *syncs,
-			u32 num_syncs, struct async_op_fence *afence,
-			bool immediate, bool first_op, bool last_op)
+			u32 num_syncs, bool immediate, bool first_op,
+			bool last_op)
 {
 	struct dma_fence *fence;
 
@@ -1800,17 +1692,18 @@ static int __xe_vm_bind(struct xe_vm *vm, struct xe_vma *vma,
 				xe_sync_entry_signal(&syncs[i], NULL, fence);
 		}
 	}
-	if (afence)
-		add_async_op_fence_cb(vm, fence, afence);
 
+	if (last_op && xe_vm_sync_mode(vm, q))
+		dma_fence_wait(fence, true);
 	dma_fence_put(fence);
+
 	return 0;
 }
 
 static int xe_vm_bind(struct xe_vm *vm, struct xe_vma *vma, struct xe_exec_queue *q,
 		      struct xe_bo *bo, struct xe_sync_entry *syncs,
-		      u32 num_syncs, struct async_op_fence *afence,
-		      bool immediate, bool first_op, bool last_op)
+		      u32 num_syncs, bool immediate, bool first_op,
+		      bool last_op)
 {
 	int err;
 
@@ -1823,14 +1716,13 @@ static int xe_vm_bind(struct xe_vm *vm, struct xe_vma *vma, struct xe_exec_queue
 			return err;
 	}
 
-	return __xe_vm_bind(vm, vma, q, syncs, num_syncs, afence, immediate,
-			    first_op, last_op);
+	return __xe_vm_bind(vm, vma, q, syncs, num_syncs, immediate, first_op,
+			    last_op);
 }
 
 static int xe_vm_unbind(struct xe_vm *vm, struct xe_vma *vma,
 			struct xe_exec_queue *q, struct xe_sync_entry *syncs,
-			u32 num_syncs, struct async_op_fence *afence,
-			bool first_op, bool last_op)
+			u32 num_syncs, bool first_op, bool last_op)
 {
 	struct dma_fence *fence;
 
@@ -1840,10 +1732,10 @@ static int xe_vm_unbind(struct xe_vm *vm, struct xe_vma *vma,
 	fence = xe_vm_unbind_vma(vma, q, syncs, num_syncs, first_op, last_op);
 	if (IS_ERR(fence))
 		return PTR_ERR(fence);
-	if (afence)
-		add_async_op_fence_cb(vm, fence, afence);
 
 	xe_vma_destroy(vma, fence);
+	if (last_op && xe_vm_sync_mode(vm, q))
+		dma_fence_wait(fence, true);
 	dma_fence_put(fence);
 
 	return 0;
@@ -1851,7 +1743,7 @@ static int xe_vm_unbind(struct xe_vm *vm, struct xe_vma *vma,
 
 #define ALL_DRM_XE_VM_CREATE_FLAGS (DRM_XE_VM_CREATE_SCRATCH_PAGE | \
 				    DRM_XE_VM_CREATE_COMPUTE_MODE | \
-				    DRM_XE_VM_CREATE_ASYNC_BIND_OPS | \
+				    DRM_XE_VM_CREATE_ASYNC_DEFAULT | \
 				    DRM_XE_VM_CREATE_FAULT_MODE)
 
 int xe_vm_create_ioctl(struct drm_device *dev, void *data,
@@ -1897,12 +1789,15 @@ int xe_vm_create_ioctl(struct drm_device *dev, void *data,
 			 xe_device_in_fault_mode(xe)))
 		return -EINVAL;
 
+	if (XE_IOCTL_DBG(xe, args->extensions))
+		return -EINVAL;
+
 	if (args->flags & DRM_XE_VM_CREATE_SCRATCH_PAGE)
 		flags |= XE_VM_FLAG_SCRATCH_PAGE;
 	if (args->flags & DRM_XE_VM_CREATE_COMPUTE_MODE)
 		flags |= XE_VM_FLAG_COMPUTE_MODE;
-	if (args->flags & DRM_XE_VM_CREATE_ASYNC_BIND_OPS)
-		flags |= XE_VM_FLAG_ASYNC_BIND_OPS;
+	if (args->flags & DRM_XE_VM_CREATE_ASYNC_DEFAULT)
+		flags |= XE_VM_FLAG_ASYNC_DEFAULT;
 	if (args->flags & DRM_XE_VM_CREATE_FAULT_MODE)
 		flags |= XE_VM_FLAG_FAULT_MODE;
 
@@ -1979,8 +1874,7 @@ static const u32 region_to_mem_type[] = {
 static int xe_vm_prefetch(struct xe_vm *vm, struct xe_vma *vma,
 			  struct xe_exec_queue *q, u32 region,
 			  struct xe_sync_entry *syncs, u32 num_syncs,
-			  struct async_op_fence *afence, bool first_op,
-			  bool last_op)
+			  bool first_op, bool last_op)
 {
 	int err;
 
@@ -1994,7 +1888,7 @@ static int xe_vm_prefetch(struct xe_vm *vm, struct xe_vma *vma,
 
 	if (vma->tile_mask != (vma->tile_present & ~vma->usm.tile_invalidated)) {
 		return xe_vm_bind(vm, vma, q, xe_vma_bo(vma), syncs, num_syncs,
-				  afence, true, first_op, last_op);
+				  true, first_op, last_op);
 	} else {
 		int i;
 
@@ -2004,8 +1898,7 @@ static int xe_vm_prefetch(struct xe_vm *vm, struct xe_vma *vma,
 				xe_sync_entry_signal(&syncs[i], NULL,
 						     dma_fence_get_stub());
 		}
-		if (afence)
-			dma_fence_signal(&afence->fence);
+
 		return 0;
 	}
 }
@@ -2021,51 +1914,6 @@ struct ttm_buffer_object *xe_vm_ttm_bo(struct xe_vm *vm)
 	return &vm->pt_root[idx]->bo->ttm;
 }
 
-static void vm_set_async_error(struct xe_vm *vm, int err)
-{
-	lockdep_assert_held(&vm->lock);
-	vm->async_ops.error = err;
-}
-
-static int vm_bind_ioctl_lookup_vma(struct xe_vm *vm, struct xe_bo *bo,
-				    u64 addr, u64 range, u32 op)
-{
-	struct xe_device *xe = vm->xe;
-	struct xe_vma *vma;
-	bool async = !!(op & XE_VM_BIND_FLAG_ASYNC);
-
-	lockdep_assert_held(&vm->lock);
-
-	switch (VM_BIND_OP(op)) {
-	case XE_VM_BIND_OP_MAP:
-	case XE_VM_BIND_OP_MAP_USERPTR:
-		vma = xe_vm_find_overlapping_vma(vm, addr, range);
-		if (XE_IOCTL_DBG(xe, vma && !async))
-			return -EBUSY;
-		break;
-	case XE_VM_BIND_OP_UNMAP:
-	case XE_VM_BIND_OP_PREFETCH:
-		vma = xe_vm_find_overlapping_vma(vm, addr, range);
-		if (XE_IOCTL_DBG(xe, !vma))
-			/* Not an actual error, IOCTL cleans up returns and 0 */
-			return -ENODATA;
-		if (XE_IOCTL_DBG(xe, (xe_vma_start(vma) != addr ||
-				      xe_vma_end(vma) != addr + range) && !async))
-			return -EINVAL;
-		break;
-	case XE_VM_BIND_OP_UNMAP_ALL:
-		if (XE_IOCTL_DBG(xe, list_empty(&bo->ttm.base.gpuva.list)))
-			/* Not an actual error, IOCTL cleans up returns and 0 */
-			return -ENODATA;
-		break;
-	default:
-		drm_warn(&xe->drm, "NOT POSSIBLE");
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
 static void prep_vma_destroy(struct xe_vm *vm, struct xe_vma *vma,
 			     bool post_commit)
 {
@@ -2353,37 +2201,15 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
 				   bool async)
 {
 	struct xe_vma_op *last_op = NULL;
-	struct async_op_fence *fence = NULL;
 	struct drm_gpuva_op *__op;
 	int err = 0;
 
 	lockdep_assert_held_write(&vm->lock);
 
-	if (last && num_syncs && async) {
-		u64 seqno;
-
-		fence = kmalloc(sizeof(*fence), GFP_KERNEL);
-		if (!fence)
-			return -ENOMEM;
-
-		seqno = q ? ++q->bind.fence_seqno : ++vm->async_ops.fence.seqno;
-		dma_fence_init(&fence->fence, &async_op_fence_ops,
-			       &vm->async_ops.lock, q ? q->bind.fence_ctx :
-			       vm->async_ops.fence.context, seqno);
-
-		if (!xe_vm_no_dma_fences(vm)) {
-			fence->vm = vm;
-			fence->started = false;
-			init_waitqueue_head(&fence->wq);
-		}
-	}
-
 	drm_gpuva_for_each_op(__op, ops) {
 		struct xe_vma_op *op = gpuva_op_to_vma_op(__op);
 		bool first = list_empty(ops_list);
 
-		xe_assert(vm->xe, first || async);
-
 		INIT_LIST_HEAD(&op->link);
 		list_add_tail(&op->link, ops_list);
 
@@ -2403,10 +2229,8 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
 			vma = new_vma(vm, &op->base.map,
 				      op->tile_mask, op->map.read_only,
 				      op->map.is_null);
-			if (IS_ERR(vma)) {
-				err = PTR_ERR(vma);
-				goto free_fence;
-			}
+			if (IS_ERR(vma))
+				return PTR_ERR(vma);
 
 			op->map.vma = vma;
 			break;
@@ -2431,10 +2255,8 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
 				vma = new_vma(vm, op->base.remap.prev,
 					      op->tile_mask, read_only,
 					      is_null);
-				if (IS_ERR(vma)) {
-					err = PTR_ERR(vma);
-					goto free_fence;
-				}
+				if (IS_ERR(vma))
+					return PTR_ERR(vma);
 
 				op->remap.prev = vma;
 
@@ -2467,10 +2289,8 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
 				vma = new_vma(vm, op->base.remap.next,
 					      op->tile_mask, read_only,
 					      is_null);
-				if (IS_ERR(vma)) {
-					err = PTR_ERR(vma);
-					goto free_fence;
-				}
+				if (IS_ERR(vma))
+					return PTR_ERR(vma);
 
 				op->remap.next = vma;
 
@@ -2502,27 +2322,23 @@ static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct xe_exec_queue *q,
 
 		err = xe_vma_op_commit(vm, op);
 		if (err)
-			goto free_fence;
+			return err;
 	}
 
 	/* FIXME: Unhandled corner case */
 	XE_WARN_ON(!last_op && last && !list_empty(ops_list));
 
 	if (!last_op)
-		goto free_fence;
+		return 0;
+
 	last_op->ops = ops;
 	if (last) {
 		last_op->flags |= XE_VMA_OP_LAST;
 		last_op->num_syncs = num_syncs;
 		last_op->syncs = syncs;
-		last_op->fence = fence;
 	}
 
 	return 0;
-
-free_fence:
-	kfree(fence);
-	return err;
 }
 
 static int op_execute(struct drm_exec *exec, struct xe_vm *vm,
@@ -2542,7 +2358,7 @@ static int op_execute(struct drm_exec *exec, struct xe_vm *vm,
 	switch (op->base.op) {
 	case DRM_GPUVA_OP_MAP:
 		err = xe_vm_bind(vm, vma, op->q, xe_vma_bo(vma),
-				 op->syncs, op->num_syncs, op->fence,
+				 op->syncs, op->num_syncs,
 				 op->map.immediate || !xe_vm_in_fault_mode(vm),
 				 op->flags & XE_VMA_OP_FIRST,
 				 op->flags & XE_VMA_OP_LAST);
@@ -2553,16 +2369,13 @@ static int op_execute(struct drm_exec *exec, struct xe_vm *vm,
 		bool next = !!op->remap.next;
 
 		if (!op->remap.unmap_done) {
-			if (prev || next) {
-				vm->async_ops.munmap_rebind_inflight = true;
+			if (prev || next)
 				vma->gpuva.flags |= XE_VMA_FIRST_REBIND;
-			}
 			err = xe_vm_unbind(vm, vma, op->q, op->syncs,
 					   op->num_syncs,
-					   !prev && !next ? op->fence : NULL,
 					   op->flags & XE_VMA_OP_FIRST,
-					   op->flags & XE_VMA_OP_LAST && !prev &&
-					   !next);
+					   op->flags & XE_VMA_OP_LAST &&
+					   !prev && !next);
 			if (err)
 				break;
 			op->remap.unmap_done = true;
@@ -2572,8 +2385,7 @@ static int op_execute(struct drm_exec *exec, struct xe_vm *vm,
 			op->remap.prev->gpuva.flags |= XE_VMA_LAST_REBIND;
 			err = xe_vm_bind(vm, op->remap.prev, op->q,
 					 xe_vma_bo(op->remap.prev), op->syncs,
-					 op->num_syncs,
-					 !next ? op->fence : NULL, true, false,
+					 op->num_syncs, true, false,
 					 op->flags & XE_VMA_OP_LAST && !next);
 			op->remap.prev->gpuva.flags &= ~XE_VMA_LAST_REBIND;
 			if (err)
@@ -2586,26 +2398,24 @@ static int op_execute(struct drm_exec *exec, struct xe_vm *vm,
 			err = xe_vm_bind(vm, op->remap.next, op->q,
 					 xe_vma_bo(op->remap.next),
 					 op->syncs, op->num_syncs,
-					 op->fence, true, false,
+					 true, false,
 					 op->flags & XE_VMA_OP_LAST);
 			op->remap.next->gpuva.flags &= ~XE_VMA_LAST_REBIND;
 			if (err)
 				break;
 			op->remap.next = NULL;
 		}
-		vm->async_ops.munmap_rebind_inflight = false;
 
 		break;
 	}
 	case DRM_GPUVA_OP_UNMAP:
 		err = xe_vm_unbind(vm, vma, op->q, op->syncs,
-				   op->num_syncs, op->fence,
-				   op->flags & XE_VMA_OP_FIRST,
+				   op->num_syncs, op->flags & XE_VMA_OP_FIRST,
 				   op->flags & XE_VMA_OP_LAST);
 		break;
 	case DRM_GPUVA_OP_PREFETCH:
 		err = xe_vm_prefetch(vm, vma, op->q, op->prefetch.region,
-				     op->syncs, op->num_syncs, op->fence,
+				     op->syncs, op->num_syncs,
 				     op->flags & XE_VMA_OP_FIRST,
 				     op->flags & XE_VMA_OP_LAST);
 		break;
@@ -2704,14 +2514,9 @@ static void xe_vma_op_cleanup(struct xe_vm *vm, struct xe_vma_op *op)
 		kfree(op->syncs);
 		if (op->q)
 			xe_exec_queue_put(op->q);
-		if (op->fence)
-			dma_fence_put(&op->fence->fence);
 	}
-	if (!list_empty(&op->link)) {
-		spin_lock_irq(&vm->async_ops.lock);
+	if (!list_empty(&op->link))
 		list_del(&op->link);
-		spin_unlock_irq(&vm->async_ops.lock);
-	}
 	if (op->ops)
 		drm_gpuva_ops_free(&vm->mgr, op->ops);
 	if (last)
@@ -2773,130 +2578,6 @@ static void xe_vma_op_unwind(struct xe_vm *vm, struct xe_vma_op *op,
 	}
 }
 
-static struct xe_vma_op *next_vma_op(struct xe_vm *vm)
-{
-	return list_first_entry_or_null(&vm->async_ops.pending,
-					struct xe_vma_op, link);
-}
-
-static void xe_vma_op_work_func(struct work_struct *w)
-{
-	struct xe_vm *vm = container_of(w, struct xe_vm, async_ops.work);
-
-	for (;;) {
-		struct xe_vma_op *op;
-		int err;
-
-		if (vm->async_ops.error && !xe_vm_is_closed(vm))
-			break;
-
-		spin_lock_irq(&vm->async_ops.lock);
-		op = next_vma_op(vm);
-		spin_unlock_irq(&vm->async_ops.lock);
-
-		if (!op)
-			break;
-
-		if (!xe_vm_is_closed(vm)) {
-			down_write(&vm->lock);
-			err = xe_vma_op_execute(vm, op);
-			if (err) {
-				drm_warn(&vm->xe->drm,
-					 "Async VM op(%d) failed with %d",
-					 op->base.op, err);
-				vm_set_async_error(vm, err);
-				up_write(&vm->lock);
-
-				break;
-			}
-			up_write(&vm->lock);
-		} else {
-			struct xe_vma *vma;
-
-			switch (op->base.op) {
-			case DRM_GPUVA_OP_REMAP:
-				vma = gpuva_to_vma(op->base.remap.unmap->va);
-				trace_xe_vma_flush(vma);
-
-				down_write(&vm->lock);
-				xe_vma_destroy_unlocked(vma);
-				up_write(&vm->lock);
-				break;
-			case DRM_GPUVA_OP_UNMAP:
-				vma = gpuva_to_vma(op->base.unmap.va);
-				trace_xe_vma_flush(vma);
-
-				down_write(&vm->lock);
-				xe_vma_destroy_unlocked(vma);
-				up_write(&vm->lock);
-				break;
-			default:
-				/* Nothing to do */
-				break;
-			}
-
-			if (op->fence && !test_bit(DMA_FENCE_FLAG_SIGNALED_BIT,
-						   &op->fence->fence.flags)) {
-				if (!xe_vm_no_dma_fences(vm)) {
-					op->fence->started = true;
-					wake_up_all(&op->fence->wq);
-				}
-				dma_fence_signal(&op->fence->fence);
-			}
-		}
-
-		xe_vma_op_cleanup(vm, op);
-	}
-}
-
-static int vm_bind_ioctl_ops_execute(struct xe_vm *vm,
-				     struct list_head *ops_list, bool async)
-{
-	struct xe_vma_op *op, *last_op, *next;
-	int err;
-
-	lockdep_assert_held_write(&vm->lock);
-
-	list_for_each_entry(op, ops_list, link)
-		last_op = op;
-
-	if (!async) {
-		err = xe_vma_op_execute(vm, last_op);
-		if (err)
-			goto unwind;
-		xe_vma_op_cleanup(vm, last_op);
-	} else {
-		int i;
-		bool installed = false;
-
-		for (i = 0; i < last_op->num_syncs; i++)
-			installed |= xe_sync_entry_signal(&last_op->syncs[i],
-							  NULL,
-							  &last_op->fence->fence);
-		if (!installed && last_op->fence)
-			dma_fence_signal(&last_op->fence->fence);
-
-		spin_lock_irq(&vm->async_ops.lock);
-		list_splice_tail(ops_list, &vm->async_ops.pending);
-		spin_unlock_irq(&vm->async_ops.lock);
-
-		if (!vm->async_ops.error)
-			queue_work(system_unbound_wq, &vm->async_ops.work);
-	}
-
-	return 0;
-
-unwind:
-	list_for_each_entry_reverse(op, ops_list, link)
-		xe_vma_op_unwind(vm, op, op->flags & XE_VMA_OP_COMMITTED,
-				 op->flags & XE_VMA_OP_PREV_COMMITTED,
-				 op->flags & XE_VMA_OP_NEXT_COMMITTED);
-	list_for_each_entry_safe(op, next, ops_list, link)
-		xe_vma_op_cleanup(vm, op);
-
-	return err;
-}
-
 static void vm_bind_ioctl_ops_unwind(struct xe_vm *vm,
 				     struct drm_gpuva_ops **ops,
 				     int num_ops_list)
@@ -2923,6 +2604,31 @@ static void vm_bind_ioctl_ops_unwind(struct xe_vm *vm,
 	}
 }
 
+static int vm_bind_ioctl_ops_execute(struct xe_vm *vm,
+				     struct list_head *ops_list)
+{
+	struct xe_vma_op *op, *next;
+	int err;
+
+	lockdep_assert_held_write(&vm->lock);
+
+	list_for_each_entry_safe(op, next, ops_list, link) {
+		err = xe_vma_op_execute(vm, op);
+		if (err) {
+			drm_warn(&vm->xe->drm, "VM op(%d) failed with %d",
+				 op->base.op, err);
+			/*
+			 * FIXME: Killing VM rather than proper error handling
+			 */
+			xe_vm_kill(vm);
+			return -ENOSPC;
+		}
+		xe_vma_op_cleanup(vm, op);
+	}
+
+	return 0;
+}
+
 #ifdef TEST_VM_ASYNC_OPS_ERROR
 #define SUPPORTED_FLAGS	\
 	(FORCE_ASYNC_OP_ERROR | XE_VM_BIND_FLAG_ASYNC | \
@@ -2931,7 +2637,8 @@ static void vm_bind_ioctl_ops_unwind(struct xe_vm *vm,
 #else
 #define SUPPORTED_FLAGS	\
 	(XE_VM_BIND_FLAG_ASYNC | XE_VM_BIND_FLAG_READONLY | \
-	 XE_VM_BIND_FLAG_IMMEDIATE | XE_VM_BIND_FLAG_NULL | 0xffff)
+	 XE_VM_BIND_FLAG_IMMEDIATE | XE_VM_BIND_FLAG_NULL | \
+	 0xffff)
 #endif
 #define XE_64K_PAGE_MASK 0xffffull
 
@@ -2981,22 +2688,12 @@ static int vm_bind_ioctl_check_args(struct xe_device *xe,
 
 		if (i == 0) {
 			*async = !!(op & XE_VM_BIND_FLAG_ASYNC);
-		} else if (XE_IOCTL_DBG(xe, !*async) ||
-			   XE_IOCTL_DBG(xe, !(op & XE_VM_BIND_FLAG_ASYNC)) ||
-			   XE_IOCTL_DBG(xe, VM_BIND_OP(op) ==
-					XE_VM_BIND_OP_RESTART)) {
-			err = -EINVAL;
-			goto free_bind_ops;
-		}
-
-		if (XE_IOCTL_DBG(xe, !*async &&
-				 VM_BIND_OP(op) == XE_VM_BIND_OP_UNMAP_ALL)) {
-			err = -EINVAL;
-			goto free_bind_ops;
-		}
-
-		if (XE_IOCTL_DBG(xe, !*async &&
-				 VM_BIND_OP(op) == XE_VM_BIND_OP_PREFETCH)) {
+			if (XE_IOCTL_DBG(xe, !*async && args->num_syncs)) {
+				err = -EINVAL;
+				goto free_bind_ops;
+			}
+		} else if (XE_IOCTL_DBG(xe, *async !=
+					!!(op & XE_VM_BIND_FLAG_ASYNC))) {
 			err = -EINVAL;
 			goto free_bind_ops;
 		}
@@ -3034,8 +2731,7 @@ static int vm_bind_ioctl_check_args(struct xe_device *xe,
 		if (XE_IOCTL_DBG(xe, obj_offset & ~PAGE_MASK) ||
 		    XE_IOCTL_DBG(xe, addr & ~PAGE_MASK) ||
 		    XE_IOCTL_DBG(xe, range & ~PAGE_MASK) ||
-		    XE_IOCTL_DBG(xe, !range && VM_BIND_OP(op) !=
-				 XE_VM_BIND_OP_RESTART &&
+		    XE_IOCTL_DBG(xe, !range &&
 				 VM_BIND_OP(op) != XE_VM_BIND_OP_UNMAP_ALL)) {
 			err = -EINVAL;
 			goto free_bind_ops;
@@ -3083,6 +2779,12 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 			err = -EINVAL;
 			goto put_exec_queue;
 		}
+
+		if (XE_IOCTL_DBG(xe, async !=
+				 !!(q->flags & EXEC_QUEUE_FLAG_VM_ASYNC))) {
+			err = -EINVAL;
+			goto put_exec_queue;
+		}
 	}
 
 	vm = xe_vm_lookup(xef, args->vm_id);
@@ -3091,6 +2793,14 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 		goto put_exec_queue;
 	}
 
+	if (!args->exec_queue_id) {
+		if (XE_IOCTL_DBG(xe, async !=
+				 !!(vm->flags & XE_VM_FLAG_ASYNC_DEFAULT))) {
+			err = -EINVAL;
+			goto put_vm;
+		}
+	}
+
 	err = down_write_killable(&vm->lock);
 	if (err)
 		goto put_vm;
@@ -3100,34 +2810,6 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 		goto release_vm_lock;
 	}
 
-	if (VM_BIND_OP(bind_ops[0].op) == XE_VM_BIND_OP_RESTART) {
-		if (XE_IOCTL_DBG(xe, !(vm->flags & XE_VM_FLAG_ASYNC_BIND_OPS)))
-			err = -EOPNOTSUPP;
-		if (XE_IOCTL_DBG(xe, !err && args->num_syncs))
-			err = EINVAL;
-		if (XE_IOCTL_DBG(xe, !err && !vm->async_ops.error))
-			err = -EPROTO;
-
-		if (!err) {
-			trace_xe_vm_restart(vm);
-			vm_set_async_error(vm, 0);
-
-			queue_work(system_unbound_wq, &vm->async_ops.work);
-
-			/* Rebinds may have been blocked, give worker a kick */
-			if (xe_vm_in_compute_mode(vm))
-				xe_vm_queue_rebind_worker(vm);
-		}
-
-		goto release_vm_lock;
-	}
-
-	if (XE_IOCTL_DBG(xe, !vm->async_ops.error &&
-			 async != !!(vm->flags & XE_VM_FLAG_ASYNC_BIND_OPS))) {
-		err = -EOPNOTSUPP;
-		goto release_vm_lock;
-	}
-
 	for (i = 0; i < args->num_binds; ++i) {
 		u64 range = bind_ops[i].range;
 		u64 addr = bind_ops[i].addr;
@@ -3213,17 +2895,6 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 			goto free_syncs;
 	}
 
-	/* Do some error checking first to make the unwind easier */
-	for (i = 0; i < args->num_binds; ++i) {
-		u64 range = bind_ops[i].range;
-		u64 addr = bind_ops[i].addr;
-		u32 op = bind_ops[i].op;
-
-		err = vm_bind_ioctl_lookup_vma(vm, bos[i], addr, range, op);
-		if (err)
-			goto free_syncs;
-	}
-
 	for (i = 0; i < args->num_binds; ++i) {
 		u64 range = bind_ops[i].range;
 		u64 addr = bind_ops[i].addr;
@@ -3255,10 +2926,19 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 		goto unwind_ops;
 	}
 
-	err = vm_bind_ioctl_ops_execute(vm, &ops_list, async);
+	xe_vm_get(vm);
+	if (q)
+		xe_exec_queue_get(q);
+
+	err = vm_bind_ioctl_ops_execute(vm, &ops_list);
+
 	up_write(&vm->lock);
 
-	for (i = 0; i < args->num_binds; ++i)
+	if (q)
+		xe_exec_queue_put(q);
+	xe_vm_put(vm);
+
+	for (i = 0; bos && i < args->num_binds; ++i)
 		xe_bo_put(bos[i]);
 
 	kfree(bos);
diff --git a/drivers/gpu/drm/xe/xe_vm.h b/drivers/gpu/drm/xe/xe_vm.h
index f966ed39b711..384ec6ea8318 100644
--- a/drivers/gpu/drm/xe/xe_vm.h
+++ b/drivers/gpu/drm/xe/xe_vm.h
@@ -179,8 +179,6 @@ struct dma_fence *xe_vm_rebind(struct xe_vm *vm, bool rebind_worker);
 
 int xe_vm_invalidate_vma(struct xe_vma *vma);
 
-int xe_vm_async_fence_wait_start(struct dma_fence *fence);
-
 extern struct ttm_device_funcs xe_ttm_funcs;
 
 struct ttm_buffer_object *xe_vm_ttm_bo(struct xe_vm *vm);
diff --git a/drivers/gpu/drm/xe/xe_vm_types.h b/drivers/gpu/drm/xe/xe_vm_types.h
index 3dc3da1386cb..917b7a16c3a7 100644
--- a/drivers/gpu/drm/xe/xe_vm_types.h
+++ b/drivers/gpu/drm/xe/xe_vm_types.h
@@ -17,7 +17,6 @@
 #include "xe_pt_types.h"
 #include "xe_range_fence.h"
 
-struct async_op_fence;
 struct xe_bo;
 struct xe_sync_entry;
 struct xe_vm;
@@ -163,7 +162,7 @@ struct xe_vm {
 	 */
 #define XE_VM_FLAG_64K			BIT(0)
 #define XE_VM_FLAG_COMPUTE_MODE		BIT(1)
-#define XE_VM_FLAG_ASYNC_BIND_OPS	BIT(2)
+#define XE_VM_FLAG_ASYNC_DEFAULT	BIT(2)
 #define XE_VM_FLAG_MIGRATION		BIT(3)
 #define XE_VM_FLAG_SCRATCH_PAGE		BIT(4)
 #define XE_VM_FLAG_FAULT_MODE		BIT(5)
@@ -214,30 +213,6 @@ struct xe_vm {
 		struct list_head list;
 	} extobj;
 
-	/** @async_ops: async VM operations (bind / unbinds) */
-	struct {
-		/** @list: list of pending async VM ops */
-		struct list_head pending;
-		/** @work: worker to execute async VM ops */
-		struct work_struct work;
-		/** @lock: protects list of pending async VM ops and fences */
-		spinlock_t lock;
-		/** @fence: fence state */
-		struct {
-			/** @context: context of async fence */
-			u64 context;
-			/** @seqno: seqno of async fence */
-			u32 seqno;
-		} fence;
-		/** @error: error state for async VM ops */
-		int error;
-		/**
-		 * @munmap_rebind_inflight: an munmap style VM bind is in the
-		 * middle of a set of ops which requires a rebind at the end.
-		 */
-		bool munmap_rebind_inflight;
-	} async_ops;
-
 	/** @userptr: user pointer state */
 	struct {
 		/**
@@ -397,10 +372,6 @@ struct xe_vma_op {
 	u32 num_syncs;
 	/** @link: async operation link */
 	struct list_head link;
-	/**
-	 * @fence: async operation fence, signaled on last operation complete
-	 */
-	struct async_op_fence *fence;
 	/** @tile_mask: gt mask for this operation */
 	u8 tile_mask;
 	/** @flags: operation flags */
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index d0259865717a..baa104d502ce 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -486,7 +486,7 @@ struct drm_xe_vm_create {
 
 #define DRM_XE_VM_CREATE_SCRATCH_PAGE	(0x1 << 0)
 #define DRM_XE_VM_CREATE_COMPUTE_MODE	(0x1 << 1)
-#define DRM_XE_VM_CREATE_ASYNC_BIND_OPS	(0x1 << 2)
+#define DRM_XE_VM_CREATE_ASYNC_DEFAULT	(0x1 << 2)
 #define DRM_XE_VM_CREATE_FAULT_MODE	(0x1 << 3)
 	/** @flags: Flags */
 	__u32 flags;
@@ -546,32 +546,10 @@ struct drm_xe_vm_bind_op {
 #define XE_VM_BIND_OP_MAP		0x0
 #define XE_VM_BIND_OP_UNMAP		0x1
 #define XE_VM_BIND_OP_MAP_USERPTR	0x2
-#define XE_VM_BIND_OP_RESTART		0x3
-#define XE_VM_BIND_OP_UNMAP_ALL		0x4
-#define XE_VM_BIND_OP_PREFETCH		0x5
+#define XE_VM_BIND_OP_UNMAP_ALL		0x3
+#define XE_VM_BIND_OP_PREFETCH		0x4
 
 #define XE_VM_BIND_FLAG_READONLY	(0x1 << 16)
-	/*
-	 * A bind ops completions are always async, hence the support for out
-	 * sync. This flag indicates the allocation of the memory for new page
-	 * tables and the job to program the pages tables is asynchronous
-	 * relative to the IOCTL. That part of a bind operation can fail under
-	 * memory pressure, the job in practice can't fail unless the system is
-	 * totally shot.
-	 *
-	 * If this flag is clear and the IOCTL doesn't return an error, in
-	 * practice the bind op is good and will complete.
-	 *
-	 * If this flag is set and doesn't return an error, the bind op can
-	 * still fail and recovery is needed. It should free memory
-	 * via non-async unbinds, and then restart all queued async binds op via
-	 * XE_VM_BIND_OP_RESTART. Or alternatively the user should destroy the
-	 * VM.
-	 *
-	 * This flag is only allowed when DRM_XE_VM_CREATE_ASYNC_BIND_OPS is
-	 * configured in the VM and must be set if the VM is configured with
-	 * DRM_XE_VM_CREATE_ASYNC_BIND_OPS and not in an error state.
-	 */
 #define XE_VM_BIND_FLAG_ASYNC		(0x1 << 17)
 	/*
 	 * Valid on a faulting VM only, do the MAP operation immediately rather
@@ -700,10 +678,11 @@ struct drm_xe_engine_class_instance {
 #define DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE	3
 #define DRM_XE_ENGINE_CLASS_COMPUTE		4
 	/*
-	 * Kernel only class (not actual hardware engine class). Used for
+	 * Kernel only classes (not actual hardware engine class). Used for
 	 * creating ordered queues of VM bind operations.
 	 */
-#define DRM_XE_ENGINE_CLASS_VM_BIND		5
+#define DRM_XE_ENGINE_CLASS_VM_BIND_ASYNC	5
+#define DRM_XE_ENGINE_CLASS_VM_BIND_SYNC	6
 	__u16 engine_class;
 
 	__u16 engine_instance;
-- 
2.34.1


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

* [Intel-xe] [PATCH 4/6] drm/xe: Fix VM bind out-sync signaling ordering
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
                   ` (2 preceding siblings ...)
  2023-09-14 20:40 ` [Intel-xe] [PATCH 3/6] drm/xe: Remove async worker and rework sync binds Matthew Brost
@ 2023-09-14 20:40 ` Matthew Brost
  2023-09-21  9:15   ` Thomas Hellström
  2023-09-14 20:40 ` [Intel-xe] [PATCH 5/6] drm/xe: Allow num_binds == 0 in VM bind IOCTL Matthew Brost
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Matthew Brost @ 2023-09-14 20:40 UTC (permalink / raw)
  To: intel-xe

A case existed where an out-sync of a later VM bind operation could
signal before a previous one if the later operation results in a NOP
(e.g. a unbind or prefetch to a VA range without any mappings). This
breaks the ordering rules, fix this. This patch also lays the groundwork
for users to pass in num_binds == 0 and out-syncs.

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_exec_queue.c       | 75 ++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_exec_queue.h       |  7 +++
 drivers/gpu/drm/xe/xe_exec_queue_types.h |  6 ++
 drivers/gpu/drm/xe/xe_vm.c               | 45 +++++++++++---
 4 files changed, 125 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index e950c9ef9d40..8722ab6ba00a 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -156,6 +156,7 @@ void xe_exec_queue_destroy(struct kref *ref)
 	struct xe_exec_queue *q = container_of(ref, struct xe_exec_queue, refcount);
 	struct xe_exec_queue *eq, *next;
 
+	xe_exec_queue_last_fence_put_unlocked(q);
 	if (!(q->flags & EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD)) {
 		list_for_each_entry_safe(eq, next, &q->multi_gt_list,
 					 multi_gt_link)
@@ -959,3 +960,77 @@ int xe_exec_queue_set_property_ioctl(struct drm_device *dev, void *data,
 
 	return ret;
 }
+
+static void xe_exec_queue_last_fence_lockdep_assert(struct xe_exec_queue *q,
+						    struct xe_vm *vm)
+{
+	lockdep_assert_held_write(&vm->lock);
+}
+
+/**
+ * xe_exec_queue_last_fence_put() - Drop ref to last fence
+ * @q: The exec queue
+ * @vm: The VM the engine does a bind or exec for
+ */
+void xe_exec_queue_last_fence_put(struct xe_exec_queue *q, struct xe_vm *vm)
+{
+	xe_exec_queue_last_fence_lockdep_assert(q, vm);
+
+	if (q->last_fence) {
+		dma_fence_put(q->last_fence);
+		q->last_fence = NULL;
+	}
+}
+
+/**
+ * xe_exec_queue_last_fence_put_unlocked() - Drop ref to last fence unlocked
+ * @q: The exec queue
+ *
+ * Only safe to be called from xe_exec_queue_destroy().
+ */
+void xe_exec_queue_last_fence_put_unlocked(struct xe_exec_queue *q)
+{
+	if (q->last_fence) {
+		dma_fence_put(q->last_fence);
+		q->last_fence = NULL;
+	}
+}
+
+/**
+ * xe_exec_queue_last_fence_get() - Get last fence
+ * @q: The exec queue
+ * @vm: The VM the engine does a bind or exec for
+ *
+ * Get last fence, does not take a ref
+ *
+ * Returns: last fence if not signaled, dma fence stub if signaled
+ */
+struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *q,
+					       struct xe_vm *vm)
+{
+	xe_exec_queue_last_fence_lockdep_assert(q, vm);
+
+	if (q->last_fence &&
+	    test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &q->last_fence->flags))
+		xe_exec_queue_last_fence_put(q, vm);
+
+	return q->last_fence ? q->last_fence : dma_fence_get_stub();
+}
+
+/**
+ * xe_exec_queue_last_fence_set() - Set last fence
+ * @q: The exec queue
+ * @vm: The VM the engine does a bind or exec for
+ * @fence: The fence
+ *
+ * Set the last fence for the engine. Increases reference count for fence, when
+ * closing engine xe_exec_queue_last_fence_put should be called.
+ */
+void xe_exec_queue_last_fence_set(struct xe_exec_queue *q, struct xe_vm *vm,
+				  struct dma_fence *fence)
+{
+	xe_exec_queue_last_fence_lockdep_assert(q, vm);
+
+	xe_exec_queue_last_fence_put(q, vm);
+	q->last_fence = dma_fence_get(fence);
+}
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
index ce1ec2243b6a..59a54bfb9a8c 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue.h
@@ -61,4 +61,11 @@ int xe_exec_queue_get_property_ioctl(struct drm_device *dev, void *data,
 				     struct drm_file *file);
 enum drm_sched_priority xe_exec_queue_device_get_max_priority(struct xe_device *xe);
 
+void xe_exec_queue_last_fence_put(struct xe_exec_queue *e, struct xe_vm *vm);
+void xe_exec_queue_last_fence_put_unlocked(struct xe_exec_queue *e);
+struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
+					       struct xe_vm *vm);
+void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
+				  struct dma_fence *fence);
+
 #endif
diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
index b828d8a60adf..71ed8d22a8a1 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
@@ -52,6 +52,12 @@ struct xe_exec_queue {
 	/** @fence_irq: fence IRQ used to signal job completion */
 	struct xe_hw_fence_irq *fence_irq;
 
+	/**
+	 * @last_fence: last fence on engine, protected by vm->lock in write
+	 * mode if bind engine
+	 */
+	struct dma_fence *last_fence;
+
 /* queue no longer allowed to submit */
 #define EXEC_QUEUE_FLAG_BANNED			BIT(0)
 /* queue used for kernel submission only */
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index f9dc9bf6b36b..49c745d53b41 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -1362,6 +1362,13 @@ void xe_vm_close_and_put(struct xe_vm *vm)
 	if (xe_vm_in_compute_mode(vm))
 		flush_work(&vm->preempt.rebind_work);
 
+	down_write(&vm->lock);
+	for_each_tile(tile, xe, id) {
+		if (vm->q[id])
+			xe_exec_queue_last_fence_put(vm->q[id], vm);
+	}
+	up_write(&vm->lock);
+
 	for_each_tile(tile, xe, id) {
 		if (vm->q[id]) {
 			xe_exec_queue_kill(vm->q[id]);
@@ -1513,16 +1520,23 @@ u64 xe_vm_pdp4_descriptor(struct xe_vm *vm, struct xe_tile *tile)
 			     XE_CACHE_WB);
 }
 
+static struct xe_exec_queue *
+to_wait_exec_queue(struct xe_vm *vm, struct xe_exec_queue *q)
+{
+	return q ? q : vm->q[0];
+}
+
 static struct dma_fence *
 xe_vm_unbind_vma(struct xe_vma *vma, struct xe_exec_queue *q,
 		 struct xe_sync_entry *syncs, u32 num_syncs,
 		 bool first_op, bool last_op)
 {
+	struct xe_vm *vm = xe_vma_vm(vma);
+	struct xe_exec_queue *wait_exec_queue = to_wait_exec_queue(vm, q);
 	struct xe_tile *tile;
 	struct dma_fence *fence = NULL;
 	struct dma_fence **fences = NULL;
 	struct dma_fence_array *cf = NULL;
-	struct xe_vm *vm = xe_vma_vm(vma);
 	int cur_fence = 0, i;
 	int number_tiles = hweight8(vma->tile_present);
 	int err;
@@ -1574,7 +1588,8 @@ xe_vm_unbind_vma(struct xe_vma *vma, struct xe_exec_queue *q,
 					     cf ? &cf->base : fence);
 	}
 
-	return cf ? &cf->base : !fence ? dma_fence_get_stub() : fence;
+	return cf ? &cf->base : !fence ?
+		xe_exec_queue_last_fence_get(wait_exec_queue, vm) : fence;
 
 err_fences:
 	if (fences) {
@@ -1673,6 +1688,7 @@ static int __xe_vm_bind(struct xe_vm *vm, struct xe_vma *vma,
 			bool last_op)
 {
 	struct dma_fence *fence;
+	struct xe_exec_queue *wait_exec_queue = to_wait_exec_queue(vm, q);
 
 	xe_vm_assert_held(vm);
 
@@ -1686,13 +1702,15 @@ static int __xe_vm_bind(struct xe_vm *vm, struct xe_vma *vma,
 
 		xe_assert(vm->xe, xe_vm_in_fault_mode(vm));
 
-		fence = dma_fence_get_stub();
+		fence = xe_exec_queue_last_fence_get(wait_exec_queue, vm);
 		if (last_op) {
 			for (i = 0; i < num_syncs; i++)
 				xe_sync_entry_signal(&syncs[i], NULL, fence);
 		}
 	}
 
+	if (last_op)
+		xe_exec_queue_last_fence_set(wait_exec_queue, vm, fence);
 	if (last_op && xe_vm_sync_mode(vm, q))
 		dma_fence_wait(fence, true);
 	dma_fence_put(fence);
@@ -1725,6 +1743,7 @@ static int xe_vm_unbind(struct xe_vm *vm, struct xe_vma *vma,
 			u32 num_syncs, bool first_op, bool last_op)
 {
 	struct dma_fence *fence;
+	struct xe_exec_queue *wait_exec_queue = to_wait_exec_queue(vm, q);
 
 	xe_vm_assert_held(vm);
 	xe_bo_assert_held(xe_vma_bo(vma));
@@ -1734,6 +1753,8 @@ static int xe_vm_unbind(struct xe_vm *vm, struct xe_vma *vma,
 		return PTR_ERR(fence);
 
 	xe_vma_destroy(vma, fence);
+	if (last_op)
+		xe_exec_queue_last_fence_set(wait_exec_queue, vm, fence);
 	if (last_op && xe_vm_sync_mode(vm, q))
 		dma_fence_wait(fence, true);
 	dma_fence_put(fence);
@@ -1876,6 +1897,7 @@ static int xe_vm_prefetch(struct xe_vm *vm, struct xe_vma *vma,
 			  struct xe_sync_entry *syncs, u32 num_syncs,
 			  bool first_op, bool last_op)
 {
+	struct xe_exec_queue *wait_exec_queue = to_wait_exec_queue(vm, q);
 	int err;
 
 	xe_assert(vm->xe, region <= ARRAY_SIZE(region_to_mem_type));
@@ -1894,9 +1916,12 @@ static int xe_vm_prefetch(struct xe_vm *vm, struct xe_vma *vma,
 
 		/* Nothing to do, signal fences now */
 		if (last_op) {
-			for (i = 0; i < num_syncs; i++)
-				xe_sync_entry_signal(&syncs[i], NULL,
-						     dma_fence_get_stub());
+			for (i = 0; i < num_syncs; i++) {
+				struct dma_fence *fence =
+					xe_exec_queue_last_fence_get(wait_exec_queue, vm);
+
+				xe_sync_entry_signal(&syncs[i], NULL, fence);
+			}
 		}
 
 		return 0;
@@ -2951,8 +2976,12 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 unwind_ops:
 	vm_bind_ioctl_ops_unwind(vm, ops, args->num_binds);
 free_syncs:
-	for (i = 0; err == -ENODATA && i < num_syncs; i++)
-		xe_sync_entry_signal(&syncs[i], NULL, dma_fence_get_stub());
+	for (i = 0; err == -ENODATA && i < num_syncs; i++) {
+		struct dma_fence *fence =
+			xe_exec_queue_last_fence_get(to_wait_exec_queue(vm, q), vm);
+
+		xe_sync_entry_signal(&syncs[i], NULL, fence);
+	}
 	while (num_syncs--)
 		xe_sync_entry_cleanup(&syncs[num_syncs]);
 
-- 
2.34.1


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

* [Intel-xe] [PATCH 5/6] drm/xe: Allow num_binds == 0 in VM bind IOCTL
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
                   ` (3 preceding siblings ...)
  2023-09-14 20:40 ` [Intel-xe] [PATCH 4/6] drm/xe: Fix VM bind out-sync signaling ordering Matthew Brost
@ 2023-09-14 20:40 ` Matthew Brost
  2023-09-21  9:32   ` Thomas Hellström
  2023-09-14 20:40 ` [Intel-xe] [PATCH 6/6] drm/xe: Allow num_batch_buffer == 0 in exec IOCTL Matthew Brost
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Matthew Brost @ 2023-09-14 20:40 UTC (permalink / raw)
  To: intel-xe

The idea being out-syncs can signal indicating all previous operations
on the bind queue are complete. An example use case of this would be
support for implementing vkQueueWaitForIdle easily.

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_vm.c | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 49c745d53b41..0e2f3ab453ea 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -2678,7 +2678,6 @@ static int vm_bind_ioctl_check_args(struct xe_device *xe,
 	int i;
 
 	if (XE_IOCTL_DBG(xe, args->extensions) ||
-	    XE_IOCTL_DBG(xe, !args->num_binds) ||
 	    XE_IOCTL_DBG(xe, args->num_binds > MAX_BINDS))
 		return -EINVAL;
 
@@ -2805,7 +2804,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 			goto put_exec_queue;
 		}
 
-		if (XE_IOCTL_DBG(xe, async !=
+		if (XE_IOCTL_DBG(xe, args->num_binds && async !=
 				 !!(q->flags & EXEC_QUEUE_FLAG_VM_ASYNC))) {
 			err = -EINVAL;
 			goto put_exec_queue;
@@ -2819,7 +2818,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 	}
 
 	if (!args->exec_queue_id) {
-		if (XE_IOCTL_DBG(xe, async !=
+		if (XE_IOCTL_DBG(xe, args->num_binds && async !=
 				 !!(vm->flags & XE_VM_FLAG_ASYNC_DEFAULT))) {
 			err = -EINVAL;
 			goto put_vm;
@@ -2856,16 +2855,18 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 		}
 	}
 
-	bos = kzalloc(sizeof(*bos) * args->num_binds, GFP_KERNEL);
-	if (!bos) {
-		err = -ENOMEM;
-		goto release_vm_lock;
-	}
+	if (args->num_binds) {
+		bos = kzalloc(sizeof(*bos) * args->num_binds, GFP_KERNEL);
+		if (!bos) {
+			err = -ENOMEM;
+			goto release_vm_lock;
+		}
 
-	ops = kzalloc(sizeof(*ops) * args->num_binds, GFP_KERNEL);
-	if (!ops) {
-		err = -ENOMEM;
-		goto release_vm_lock;
+		ops = kzalloc(sizeof(*ops) * args->num_binds, GFP_KERNEL);
+		if (!ops) {
+			err = -ENOMEM;
+			goto release_vm_lock;
+		}
 	}
 
 	for (i = 0; i < args->num_binds; ++i) {
@@ -2920,6 +2921,11 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 			goto free_syncs;
 	}
 
+	if (!args->num_binds) {
+		err = -ENODATA;
+		goto free_syncs;
+	}
+
 	for (i = 0; i < args->num_binds; ++i) {
 		u64 range = bind_ops[i].range;
 		u64 addr = bind_ops[i].addr;
-- 
2.34.1


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

* [Intel-xe] [PATCH 6/6] drm/xe: Allow num_batch_buffer == 0 in exec IOCTL
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
                   ` (4 preceding siblings ...)
  2023-09-14 20:40 ` [Intel-xe] [PATCH 5/6] drm/xe: Allow num_binds == 0 in VM bind IOCTL Matthew Brost
@ 2023-09-14 20:40 ` Matthew Brost
  2023-09-21  9:42   ` Thomas Hellström
  2023-09-14 22:22 ` [Intel-xe] ✓ CI.Patch_applied: success for uAPI changes to align with async binds Patchwork
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 21+ messages in thread
From: Matthew Brost @ 2023-09-14 20:40 UTC (permalink / raw)
  To: intel-xe

The idea being out-syncs can signal indicating all previous operations
on the exec queue are complete. An example use case of this would be
support for implementing vkQueueWaitForIdle easily.

v2: Don't add last_fence for VM's that do not support dma fences

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_exec.c             | 22 +++++++++++++++++++---
 drivers/gpu/drm/xe/xe_exec_queue.c       |  5 ++++-
 drivers/gpu/drm/xe/xe_exec_queue_types.h |  5 +++--
 drivers/gpu/drm/xe/xe_sync.c             |  5 ++++-
 drivers/gpu/drm/xe/xe_sync.h             |  2 +-
 drivers/gpu/drm/xe/xe_vm.c               |  2 +-
 6 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_exec.c b/drivers/gpu/drm/xe/xe_exec.c
index 28e84a0bbeb0..4666f5b145f7 100644
--- a/drivers/gpu/drm/xe/xe_exec.c
+++ b/drivers/gpu/drm/xe/xe_exec.c
@@ -161,7 +161,8 @@ int xe_exec_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 	if (XE_IOCTL_DBG(xe, q->flags & EXEC_QUEUE_FLAG_VM))
 		return -EINVAL;
 
-	if (XE_IOCTL_DBG(xe, q->width != args->num_batch_buffer))
+	if (XE_IOCTL_DBG(xe, args->num_batch_buffer &&
+			 q->width != args->num_batch_buffer))
 		return -EINVAL;
 
 	if (XE_IOCTL_DBG(xe, q->flags & EXEC_QUEUE_FLAG_BANNED)) {
@@ -182,12 +183,13 @@ int xe_exec_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 	for (i = 0; i < args->num_syncs; i++) {
 		err = xe_sync_entry_parse(xe, xef, &syncs[num_syncs++],
 					  &syncs_user[i], true,
-					  xe_vm_no_dma_fences(vm));
+					  xe_vm_no_dma_fences(vm),
+					  !args->num_batch_buffer);
 		if (err)
 			goto err_syncs;
 	}
 
-	if (xe_exec_queue_is_parallel(q)) {
+	if (args->num_batch_buffer && xe_exec_queue_is_parallel(q)) {
 		err = __copy_from_user(addresses, addresses_user, sizeof(u64) *
 				       q->width);
 		if (err) {
@@ -234,6 +236,18 @@ int xe_exec_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 		goto err_exec;
 	}
 
+	if (!args->num_batch_buffer) {
+		if (!xe_vm_no_dma_fences(vm)) {
+			struct dma_fence *fence =
+				xe_exec_queue_last_fence_get(q, vm);
+
+			for (i = 0; i < num_syncs; i++)
+				xe_sync_entry_signal(&syncs[i], NULL, fence);
+		}
+
+		goto err_exec;
+	}
+
 	if (xe_exec_queue_is_lr(q) && xe_exec_queue_ring_full(q)) {
 		err = -EWOULDBLOCK;
 		goto err_exec;
@@ -327,6 +341,8 @@ int xe_exec_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 
 	if (xe_exec_queue_is_lr(q))
 		q->ring_ops->emit_job(job);
+	if (!xe_vm_no_dma_fences(vm))
+		xe_exec_queue_last_fence_set(q, vm, &job->drm.s_fence->finished);
 	xe_sched_job_push(job);
 	xe_vm_reactivate_rebind(vm);
 
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 8722ab6ba00a..9fe91f66f776 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -964,7 +964,10 @@ int xe_exec_queue_set_property_ioctl(struct drm_device *dev, void *data,
 static void xe_exec_queue_last_fence_lockdep_assert(struct xe_exec_queue *q,
 						    struct xe_vm *vm)
 {
-	lockdep_assert_held_write(&vm->lock);
+	if (q->flags & EXEC_QUEUE_FLAG_VM)
+		lockdep_assert_held_write(&vm->lock);
+	else
+		xe_vm_assert_held(vm);
 }
 
 /**
diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
index 71ed8d22a8a1..9648b2bbabc9 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
@@ -53,8 +53,9 @@ struct xe_exec_queue {
 	struct xe_hw_fence_irq *fence_irq;
 
 	/**
-	 * @last_fence: last fence on engine, protected by vm->lock in write
-	 * mode if bind engine
+	 * @last_fence: last fence on exec queue, protected by vm->lock in write
+	 * mode if bind exec queue, protected by dma resv lock if non-bind exec
+	 * queue
 	 */
 	struct dma_fence *last_fence;
 
diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c
index 73ef259aa387..2461e7d4814c 100644
--- a/drivers/gpu/drm/xe/xe_sync.c
+++ b/drivers/gpu/drm/xe/xe_sync.c
@@ -100,7 +100,7 @@ static void user_fence_cb(struct dma_fence *fence, struct dma_fence_cb *cb)
 int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
 			struct xe_sync_entry *sync,
 			struct drm_xe_sync __user *sync_user,
-			bool exec, bool no_dma_fences)
+			bool exec, bool no_dma_fences, bool exec_nop)
 {
 	struct drm_xe_sync sync_in;
 	int err;
@@ -171,6 +171,9 @@ int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
 		break;
 
 	case DRM_XE_SYNC_USER_FENCE:
+		if (XE_IOCTL_DBG(xe, exec_nop))
+			return -EOPNOTSUPP;
+
 		if (XE_IOCTL_DBG(xe, !signal))
 			return -EOPNOTSUPP;
 
diff --git a/drivers/gpu/drm/xe/xe_sync.h b/drivers/gpu/drm/xe/xe_sync.h
index 30958ddc4cdc..98f02bb34637 100644
--- a/drivers/gpu/drm/xe/xe_sync.h
+++ b/drivers/gpu/drm/xe/xe_sync.h
@@ -15,7 +15,7 @@ struct xe_sched_job;
 int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
 			struct xe_sync_entry *sync,
 			struct drm_xe_sync __user *sync_user,
-			bool exec, bool compute_mode);
+			bool exec, bool compute_mode, bool exec_nop);
 int xe_sync_entry_wait(struct xe_sync_entry *sync);
 int xe_sync_entry_add_deps(struct xe_sync_entry *sync,
 			   struct xe_sched_job *job);
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 0e2f3ab453ea..c2526950cf60 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -2916,7 +2916,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
 	for (num_syncs = 0; num_syncs < args->num_syncs; num_syncs++) {
 		err = xe_sync_entry_parse(xe, xef, &syncs[num_syncs],
 					  &syncs_user[num_syncs], false,
-					  xe_vm_no_dma_fences(vm));
+					  xe_vm_no_dma_fences(vm), false);
 		if (err)
 			goto free_syncs;
 	}
-- 
2.34.1


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

* [Intel-xe] ✓ CI.Patch_applied: success for uAPI changes to align with async binds
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
                   ` (5 preceding siblings ...)
  2023-09-14 20:40 ` [Intel-xe] [PATCH 6/6] drm/xe: Allow num_batch_buffer == 0 in exec IOCTL Matthew Brost
@ 2023-09-14 22:22 ` Patchwork
  2023-09-14 22:22 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2023-09-14 22:22 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: uAPI changes to align with async binds
URL   : https://patchwork.freedesktop.org/series/123729/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-xe-next' with base: ===
Base commit: aeac46cfa Revert "FIXME: drm/i915: add a lot of includes in intel_display_power.h"
=== git am output follows ===
.git/rebase-apply/patch:86: trailing whitespace.
	
warning: 1 line adds whitespace errors.
Applying: drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
Applying: drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
Applying: drm/xe: Remove async worker and rework sync binds
Applying: drm/xe: Fix VM bind out-sync signaling ordering
Applying: drm/xe: Allow num_binds == 0 in VM bind IOCTL
Applying: drm/xe: Allow num_batch_buffer == 0 in exec IOCTL



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

* [Intel-xe] ✗ CI.checkpatch: warning for uAPI changes to align with async binds
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
                   ` (6 preceding siblings ...)
  2023-09-14 22:22 ` [Intel-xe] ✓ CI.Patch_applied: success for uAPI changes to align with async binds Patchwork
@ 2023-09-14 22:22 ` Patchwork
  2023-09-14 22:23 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2023-09-14 22:22 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: uAPI changes to align with async binds
URL   : https://patchwork.freedesktop.org/series/123729/
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 8e719a98c037cefe27fbb1bac9ab6ff397dbcde2
Author: Matthew Brost <matthew.brost@intel.com>
Date:   Thu Sep 14 13:40:53 2023 -0700

    drm/xe: Allow num_batch_buffer == 0 in exec IOCTL
    
    The idea being out-syncs can signal indicating all previous operations
    on the exec queue are complete. An example use case of this would be
    support for implementing vkQueueWaitForIdle easily.
    
    v2: Don't add last_fence for VM's that do not support dma fences
    
    Signed-off-by: Matthew Brost <matthew.brost@intel.com>
+ /mt/dim checkpatch aeac46cfaebff413254ac07837b97370c7ed3957 drm-intel
1d0cef8fc drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
06a193283 drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
532d174b3 drm/xe: Remove async worker and rework sync binds
-:93: ERROR:TRAILING_WHITESPACE: trailing whitespace
#93: FILE: drivers/gpu/drm/xe/xe_exec_queue.c:667:
+^I$

-:1206: WARNING:FROM_SIGN_OFF_MISMATCH: From:/Signed-off-by: email address mismatch: 'From: Matthew Brost <matthew.brost@intel.com>' != 'Signed-off-by: Matthew Brost <mattthew.brost@intel.com>'

total: 1 errors, 1 warnings, 0 checks, 1094 lines checked
53ffd3ba5 drm/xe: Fix VM bind out-sync signaling ordering
5f3b4116c drm/xe: Allow num_binds == 0 in VM bind IOCTL
-:52: WARNING:ALLOC_WITH_MULTIPLY: Prefer kcalloc over kzalloc with multiply
#52: FILE: drivers/gpu/drm/xe/xe_vm.c:2859:
+		bos = kzalloc(sizeof(*bos) * args->num_binds, GFP_KERNEL);

total: 0 errors, 1 warnings, 0 checks, 61 lines checked
8e719a98c drm/xe: Allow num_batch_buffer == 0 in exec IOCTL



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

* [Intel-xe] ✓ CI.KUnit: success for uAPI changes to align with async binds
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
                   ` (7 preceding siblings ...)
  2023-09-14 22:22 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
@ 2023-09-14 22:23 ` Patchwork
  2023-09-14 22:30 ` [Intel-xe] ✓ CI.Build: " Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2023-09-14 22:23 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: uAPI changes to align with async binds
URL   : https://patchwork.freedesktop.org/series/123729/
State : success

== Summary ==

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

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

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



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

* [Intel-xe] ✓ CI.Build: success for uAPI changes to align with async binds
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
                   ` (8 preceding siblings ...)
  2023-09-14 22:23 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
@ 2023-09-14 22:30 ` Patchwork
  2023-09-14 22:31 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
  2023-09-14 22:32 ` [Intel-xe] ✓ CI.checksparse: " Patchwork
  11 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2023-09-14 22:30 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: uAPI changes to align with async binds
URL   : https://patchwork.freedesktop.org/series/123729/
State : success

== Summary ==

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



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

* [Intel-xe] ✓ CI.Hooks: success for uAPI changes to align with async binds
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
                   ` (9 preceding siblings ...)
  2023-09-14 22:30 ` [Intel-xe] ✓ CI.Build: " Patchwork
@ 2023-09-14 22:31 ` Patchwork
  2023-09-14 22:32 ` [Intel-xe] ✓ CI.checksparse: " Patchwork
  11 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2023-09-14 22:31 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: uAPI changes to align with async binds
URL   : https://patchwork.freedesktop.org/series/123729/
State : success

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ pwd
+ ls -la
/workspace
total 936
drwxrwxr-x 10 1003 1003   4096 Sep 14 22:30 .
drwxr-xr-x  1 root root   4096 Sep 14 22:30 ..
-rw-rw-r--  1 1003 1003 788132 Sep 14 22:30 build.log
-rw-rw-r--  1 1003 1003   1929 Sep 14 22:22 checkpatch.log
drwxrwxr-x  5 1003 1003   4096 Sep 14 22:20 ci
drwxrwxr-x  9 1003 1003   4096 Sep 14 22:20 docker
drwxrwxr-x  8 1003 1003   4096 Sep 14 22:20 .git
-rw-rw-r--  1 1003 1003    657 Sep 14 22:22 git_apply.log
drwxrwxr-x  4 1003 1003   4096 Sep 14 22:20 .github
-rw-rw-r--  1 1003 1003    233 Sep 14 22:20 .groovylintrc.json
-rw-rw-r--  1 1003 1003     78 Sep 14 22:30 hooks.log
drwxrwxr-x 31 1003 1003   4096 Sep 14 22:30 kernel
-rw-rw-r--  1 1003 1003  70048 Sep 14 22:22 kernel.mbox
-rw-rw-r--  1 1003 1003  26482 Sep 14 22:23 kunit.log
-rw-rw-r--  1 1003 1003     48 Sep 14 22:22 parent.tag
drwxrwxr-x 45 1003 1003   4096 Sep 14 22:20 pipelines
-rw-rw-r--  1 1003 1003    793 Sep 14 22:20 README.adoc
drwxrwxr-x  3 1003 1003   4096 Sep 14 22:20 scripts
drwxrwxr-x  2 1003 1003   4096 Sep 14 22:20 .vscode
+ uname -a
Linux f51e13f16c5f 5.4.0-149-generic #166-Ubuntu SMP Tue Apr 18 16:51:45 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
8e719a98c drm/xe: Allow num_batch_buffer == 0 in exec IOCTL
5f3b4116c drm/xe: Allow num_binds == 0 in VM bind IOCTL
53ffd3ba5 drm/xe: Fix VM bind out-sync signaling ordering
532d174b3 drm/xe: Remove async worker and rework sync binds
06a193283 drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
1d0cef8fc drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
aeac46cfa Revert "FIXME: drm/i915: add a lot of includes in intel_display_power.h"
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
+ grep -q -e '^CONFIG_DRM_XE_DISPLAY=[yY]' /workspace/kernel/build64-default/.config
+ RESTORE_DISPLAY_CONFIG=1
+ trap cleanup EXIT
+ ./scripts/config --file /workspace/kernel/build64-default/.config --disable CONFIG_DRM_XE_DISPLAY
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile
  GEN     Makefile
  UPD     include/generated/compile.h
  UPD     include/config/kernel.release
  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_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_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_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_stolen_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_vm_madvise.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.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/xe/tests/xe_rtp_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.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
  HDRTEST drivers/gpu/drm/xe/regs/xe_gpu_commands.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_lrc_layout.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_engine_regs.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_pci_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_migrate_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_bo_test.h
  HDRTEST drivers/gpu/drm/xe/xe_assert.h
  HDRTEST drivers/gpu/drm/xe/xe_bb.h
  HDRTEST drivers/gpu/drm/xe/xe_bb_types.h
  HDRTEST drivers/gpu/drm/xe/xe_bo.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_evict.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_types.h
  HDRTEST drivers/gpu/drm/xe/xe_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump_types.h
  HDRTEST drivers/gpu/drm/xe/xe_device.h
  HDRTEST drivers/gpu/drm/xe/xe_device_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_device_types.h
  HDRTEST drivers/gpu/drm/xe/xe_dma_buf.h
  HDRTEST drivers/gpu/drm/xe/xe_drv.h
  HDRTEST drivers/gpu/drm/xe/xe_exec.h
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue.h
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue_types.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist_types.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake_types.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_clock.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_mcr.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_pagefault.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_printk.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_topology.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_fwif.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_hwconfig.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_huc.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_irq.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_macros.h
  HDRTEST drivers/gpu/drm/xe/xe_map.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_mmio.h
  HDRTEST drivers/gpu/drm/xe/xe_mocs.h
  HDRTEST drivers/gpu/drm/xe/xe_module.h
  HDRTEST drivers/gpu/drm/xe/xe_pat.h
  HDRTEST drivers/gpu/drm/xe/xe_pci.h
  HDRTEST drivers/gpu/drm/xe/xe_pci_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode_api.h
  HDRTEST drivers/gpu/drm/xe/xe_platform_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pm.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_walk.h
  HDRTEST drivers/gpu/drm/xe/xe_query.h
  HDRTEST drivers/gpu/drm/xe/xe_range_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_whitelist.h
  HDRTEST drivers/gpu/drm/xe/xe_res_cursor.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops_types.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sa.h
  HDRTEST drivers/gpu/drm/xe/xe_sa_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job_types.h
  HDRTEST drivers/gpu/drm/xe/xe_step.h
  HDRTEST drivers/gpu/drm/xe/xe_step_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sync.h
  HDRTEST drivers/gpu/drm/xe/xe_sync_types.h
  HDRTEST drivers/gpu/drm/xe/xe_tile.h
  HDRTEST drivers/gpu/drm/xe/xe_tile_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_tile_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_trace.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_tuning.h
  HDRTEST drivers/gpu/drm/xe/xe_uc.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_abi.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_types.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_vm.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_madvise.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_types.h
  HDRTEST drivers/gpu/drm/xe/xe_wa.h
  HDRTEST drivers/gpu/drm/xe/xe_wait_user_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm_types.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  MODPOST drivers/gpu/drm/xe/Module.symvers
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_bo_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_migrate_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_pci_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_rtp_test.o
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_wa_test.o
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.mod.o
  LD [M]  drivers/gpu/drm/xe/tests/xe_pci_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_wa_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_bo_test.ko
  LD [M]  drivers/gpu/drm/xe/xe.ko
make[1]: Leaving directory '/workspace/kernel/build64-default'
+ cleanup
+ '[' 1 -eq 1 ']'
+ ./scripts/config --file /workspace/kernel/build64-default/.config --enable CONFIG_DRM_XE_DISPLAY
run-parts: executing /workspace/ci/hooks/20-kernel-doc
+ SRC_DIR=/workspace/kernel
+ cd /workspace/kernel
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
All hooks done



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

* [Intel-xe] ✓ CI.checksparse: success for uAPI changes to align with async binds
  2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
                   ` (10 preceding siblings ...)
  2023-09-14 22:31 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
@ 2023-09-14 22:32 ` Patchwork
  11 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2023-09-14 22:32 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: uAPI changes to align with async binds
URL   : https://patchwork.freedesktop.org/series/123729/
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 aeac46cfaebff413254ac07837b97370c7ed3957
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] 21+ messages in thread

* Re: [Intel-xe] [PATCH 1/6] drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
  2023-09-14 20:40 ` [Intel-xe] [PATCH 1/6] drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension Matthew Brost
@ 2023-09-21  8:55   ` Thomas Hellström
  0 siblings, 0 replies; 21+ messages in thread
From: Thomas Hellström @ 2023-09-21  8:55 UTC (permalink / raw)
  To: Matthew Brost, intel-xe; +Cc: Rodrigo Vivi

On Thu, 2023-09-14 at 13:40 -0700, Matthew Brost wrote:
> From: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> This extension is currently not used and it is not aligned with
> the error handling on async VM_BIND. Let's remove it and along with
> that, since it was the only extension for the vm_create, remove VM
> extension entirely.
> 
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>

> ---
>  drivers/gpu/drm/xe/xe_vm.c | 129 +----------------------------------
> --
>  include/uapi/drm/xe_drm.h  |  42 +-----------
>  2 files changed, 4 insertions(+), 167 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 2b225c0692a6..2a69302304e2 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -1369,37 +1369,6 @@ static void flush_async_ops(struct xe_vm *vm)
>         flush_work(&vm->async_ops.work);
>  }
>  
> -static void vm_error_capture(struct xe_vm *vm, int err,
> -                            u32 op, u64 addr, u64 size)
> -{
> -       struct drm_xe_vm_bind_op_error_capture capture;
> -       u64 __user *address =
> -               u64_to_user_ptr(vm->async_ops.error_capture.addr);
> -       bool in_kthread = !current->mm;
> -
> -       capture.error = err;
> -       capture.op = op;
> -       capture.addr = addr;
> -       capture.size = size;
> -
> -       if (in_kthread) {
> -               if (!mmget_not_zero(vm->async_ops.error_capture.mm))
> -                       goto mm_closed;
> -               kthread_use_mm(vm->async_ops.error_capture.mm);
> -       }
> -
> -       if (copy_to_user(address, &capture, sizeof(capture)))
> -               drm_warn(&vm->xe->drm, "Copy to user failed");
> -
> -       if (in_kthread) {
> -               kthread_unuse_mm(vm->async_ops.error_capture.mm);
> -               mmput(vm->async_ops.error_capture.mm);
> -       }
> -
> -mm_closed:
> -       wake_up_all(&vm->async_ops.error_capture.wq);
> -}
> -
>  static void xe_vm_close(struct xe_vm *vm)
>  {
>         down_write(&vm->lock);
> @@ -1883,91 +1852,6 @@ static int xe_vm_unbind(struct xe_vm *vm,
> struct xe_vma *vma,
>         return 0;
>  }
>  
> -static int vm_set_error_capture_address(struct xe_device *xe, struct
> xe_vm *vm,
> -                                       u64 value)
> -{
> -       if (XE_IOCTL_DBG(xe, !value))
> -               return -EINVAL;
> -
> -       if (XE_IOCTL_DBG(xe, !(vm->flags &
> XE_VM_FLAG_ASYNC_BIND_OPS)))
> -               return -EOPNOTSUPP;
> -
> -       if (XE_IOCTL_DBG(xe, vm->async_ops.error_capture.addr))
> -               return -EOPNOTSUPP;
> -
> -       vm->async_ops.error_capture.mm = current->mm;
> -       vm->async_ops.error_capture.addr = value;
> -       init_waitqueue_head(&vm->async_ops.error_capture.wq);
> -
> -       return 0;
> -}
> -
> -typedef int (*xe_vm_set_property_fn)(struct xe_device *xe, struct
> xe_vm *vm,
> -                                    u64 value);
> -
> -static const xe_vm_set_property_fn vm_set_property_funcs[] = {
> -       [XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS] =
> -               vm_set_error_capture_address,
> -};
> -
> -static int vm_user_ext_set_property(struct xe_device *xe, struct
> xe_vm *vm,
> -                                   u64 extension)
> -{
> -       u64 __user *address = u64_to_user_ptr(extension);
> -       struct drm_xe_ext_vm_set_property ext;
> -       int err;
> -
> -       err = __copy_from_user(&ext, address, sizeof(ext));
> -       if (XE_IOCTL_DBG(xe, err))
> -               return -EFAULT;
> -
> -       if (XE_IOCTL_DBG(xe, ext.property >=
> -                        ARRAY_SIZE(vm_set_property_funcs)) ||
> -           XE_IOCTL_DBG(xe, ext.pad) ||
> -           XE_IOCTL_DBG(xe, ext.reserved[0] || ext.reserved[1]))
> -               return -EINVAL;
> -
> -       return vm_set_property_funcs[ext.property](xe, vm,
> ext.value);
> -}
> -
> -typedef int (*xe_vm_user_extension_fn)(struct xe_device *xe, struct
> xe_vm *vm,
> -                                      u64 extension);
> -
> -static const xe_vm_set_property_fn vm_user_extension_funcs[] = {
> -       [XE_VM_EXTENSION_SET_PROPERTY] = vm_user_ext_set_property,
> -};
> -
> -#define MAX_USER_EXTENSIONS    16
> -static int vm_user_extensions(struct xe_device *xe, struct xe_vm
> *vm,
> -                             u64 extensions, int ext_number)
> -{
> -       u64 __user *address = u64_to_user_ptr(extensions);
> -       struct xe_user_extension ext;
> -       int err;
> -
> -       if (XE_IOCTL_DBG(xe, ext_number >= MAX_USER_EXTENSIONS))
> -               return -E2BIG;
> -
> -       err = __copy_from_user(&ext, address, sizeof(ext));
> -       if (XE_IOCTL_DBG(xe, err))
> -               return -EFAULT;
> -
> -       if (XE_IOCTL_DBG(xe, ext.pad) ||
> -           XE_IOCTL_DBG(xe, ext.name >=
> -                        ARRAY_SIZE(vm_user_extension_funcs)))
> -               return -EINVAL;
> -
> -       err = vm_user_extension_funcs[ext.name](xe, vm, extensions);
> -       if (XE_IOCTL_DBG(xe, err))
> -               return err;
> -
> -       if (ext.next_extension)
> -               return vm_user_extensions(xe, vm, ext.next_extension,
> -                                         ++ext_number);
> -
> -       return 0;
> -}
> -
>  #define ALL_DRM_XE_VM_CREATE_FLAGS (DRM_XE_VM_CREATE_SCRATCH_PAGE |
> \
>                                     DRM_XE_VM_CREATE_COMPUTE_MODE | \
>                                     DRM_XE_VM_CREATE_ASYNC_BIND_OPS |
> \
> @@ -1984,6 +1868,9 @@ int xe_vm_create_ioctl(struct drm_device *dev,
> void *data,
>         int err;
>         u32 flags = 0;
>  
> +       if (XE_IOCTL_DBG(xe, args->extensions))
> +               return -EINVAL;
> +
>         if (XE_WA(xe_root_mmio_gt(xe), 14016763929))
>                 args->flags |= DRM_XE_VM_CREATE_SCRATCH_PAGE;
>  
> @@ -2026,14 +1913,6 @@ int xe_vm_create_ioctl(struct drm_device *dev,
> void *data,
>         if (IS_ERR(vm))
>                 return PTR_ERR(vm);
>  
> -       if (args->extensions) {
> -               err = vm_user_extensions(xe, vm, args->extensions,
> 0);
> -               if (XE_IOCTL_DBG(xe, err)) {
> -                       xe_vm_close_and_put(vm);
> -                       return err;
> -               }
> -       }
> -
>         mutex_lock(&xef->vm.lock);
>         err = xa_alloc(&xef->vm.xa, &id, vm, xa_limit_32b,
> GFP_KERNEL);
>         mutex_unlock(&xef->vm.lock);
> @@ -2931,8 +2810,6 @@ static void xe_vma_op_work_func(struct
> work_struct *w)
>                                 vm_set_async_error(vm, err);
>                                 up_write(&vm->lock);
>  
> -                               if (vm->async_ops.error_capture.addr)
> -                                       vm_error_capture(vm, err, 0,
> 0, 0);
>                                 break;
>                         }
>                         up_write(&vm->lock);
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 00d5cb4ef85e..5cbbb433ce68 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -480,44 +480,7 @@ struct drm_xe_gem_mmap_offset {
>         __u64 reserved[2];
>  };
>  
> -/**
> - * struct drm_xe_vm_bind_op_error_capture - format of VM bind op
> error capture
> - */
> -struct drm_xe_vm_bind_op_error_capture {
> -       /** @error: errno that occurred */
> -       __s32 error;
> -
> -       /** @op: operation that encounter an error */
> -       __u32 op;
> -
> -       /** @addr: address of bind op */
> -       __u64 addr;
> -
> -       /** @size: size of bind */
> -       __u64 size;
> -};
> -
> -/** struct drm_xe_ext_vm_set_property - VM set property extension */
> -struct drm_xe_ext_vm_set_property {
> -       /** @base: base user extension */
> -       struct xe_user_extension base;
> -
> -#define XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS           0
> -       /** @property: property to set */
> -       __u32 property;
> -
> -       /** @pad: MBZ */
> -       __u32 pad;
> -
> -       /** @value: property value */
> -       __u64 value;
> -
> -       /** @reserved: Reserved */
> -       __u64 reserved[2];
> -};
> -
>  struct drm_xe_vm_create {
> -#define XE_VM_EXTENSION_SET_PROPERTY   0
>         /** @extensions: Pointer to the first extension struct, if
> any */
>         __u64 extensions;
>  
> @@ -600,10 +563,7 @@ struct drm_xe_vm_bind_op {
>          * practice the bind op is good and will complete.
>          *
>          * If this flag is set and doesn't return an error, the bind
> op can
> -        * still fail and recovery is needed. If configured, the bind
> op that
> -        * caused the error will be captured in
> drm_xe_vm_bind_op_error_capture.
> -        * Once the user sees the error (via a ufence +
> -        * XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS), it should
> free memory
> +        * still fail and recovery is needed. It should free memory
>          * via non-async unbinds, and then restart all queued async
> binds op via
>          * XE_VM_BIND_OP_RESTART. Or alternatively the user should
> destroy the
>          * VM.


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

* Re: [Intel-xe] [PATCH 2/6] drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
  2023-09-14 20:40 ` [Intel-xe] [PATCH 2/6] drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR Matthew Brost
@ 2023-09-21  8:57   ` Thomas Hellström
  0 siblings, 0 replies; 21+ messages in thread
From: Thomas Hellström @ 2023-09-21  8:57 UTC (permalink / raw)
  To: Matthew Brost, intel-xe

On Thu, 2023-09-14 at 13:40 -0700, Matthew Brost wrote:
> This is not used nor does it align VM async document, kill this.
> 
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>

Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>


> ---
>  drivers/gpu/drm/xe/xe_vm.c              |  3 --
>  drivers/gpu/drm/xe/xe_vm_types.h        | 11 -------
>  drivers/gpu/drm/xe/xe_wait_user_fence.c | 43 +++--------------------
> --
>  include/uapi/drm/xe_drm.h               | 17 +++-------
>  4 files changed, 9 insertions(+), 65 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 2a69302304e2..ea1f089549b1 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -1455,9 +1455,6 @@ void xe_vm_close_and_put(struct xe_vm *vm)
>                 xe_vma_destroy_unlocked(vma);
>         }
>  
> -       if (vm->async_ops.error_capture.addr)
> -               wake_up_all(&vm->async_ops.error_capture.wq);
> -
>         xe_assert(xe, list_empty(&vm->extobj.list));
>         up_write(&vm->lock);
>  
> diff --git a/drivers/gpu/drm/xe/xe_vm_types.h
> b/drivers/gpu/drm/xe/xe_vm_types.h
> index 52e5eaed91c3..3dc3da1386cb 100644
> --- a/drivers/gpu/drm/xe/xe_vm_types.h
> +++ b/drivers/gpu/drm/xe/xe_vm_types.h
> @@ -222,17 +222,6 @@ struct xe_vm {
>                 struct work_struct work;
>                 /** @lock: protects list of pending async VM ops and
> fences */
>                 spinlock_t lock;
> -               /** @error_capture: error capture state */
> -               struct {
> -                       /** @mm: user MM */
> -                       struct mm_struct *mm;
> -                       /**
> -                        * @addr: user pointer to copy error capture
> state too
> -                        */
> -                       u64 addr;
> -                       /** @wq: user fence wait queue for VM errors
> */
> -                       wait_queue_head_t wq;
> -               } error_capture;
>                 /** @fence: fence state */
>                 struct {
>                         /** @context: context of async fence */
> diff --git a/drivers/gpu/drm/xe/xe_wait_user_fence.c
> b/drivers/gpu/drm/xe/xe_wait_user_fence.c
> index 761eed3a022f..b47e9464c115 100644
> --- a/drivers/gpu/drm/xe/xe_wait_user_fence.c
> +++ b/drivers/gpu/drm/xe/xe_wait_user_fence.c
> @@ -13,7 +13,6 @@
>  #include "xe_device.h"
>  #include "xe_gt.h"
>  #include "xe_macros.h"
> -#include "xe_vm.h"
>  
>  static int do_compare(u64 addr, u64 value, u64 mask, u16 op)
>  {
> @@ -81,8 +80,7 @@ static int check_hw_engines(struct xe_device *xe,
>  }
>  
>  #define VALID_FLAGS    (DRM_XE_UFENCE_WAIT_SOFT_OP | \
> -                        DRM_XE_UFENCE_WAIT_ABSTIME | \
> -                        DRM_XE_UFENCE_WAIT_VM_ERROR)
> +                        DRM_XE_UFENCE_WAIT_ABSTIME)
>  #define MAX_OP         DRM_XE_UFENCE_WAIT_LTE
>  
>  static unsigned long to_jiffies_timeout(struct
> drm_xe_wait_user_fence *args)
> @@ -109,11 +107,9 @@ int xe_wait_user_fence_ioctl(struct drm_device
> *dev, void *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);
> -       struct xe_vm *vm = NULL;
>         u64 addr = args->addr;
>         int err;
> -       bool no_engines = args->flags & DRM_XE_UFENCE_WAIT_SOFT_OP ||
> -               args->flags & DRM_XE_UFENCE_WAIT_VM_ERROR;
> +       bool no_engines = args->flags & DRM_XE_UFENCE_WAIT_SOFT_OP;
>         unsigned long timeout;
>         ktime_t start;
>  
> @@ -134,8 +130,7 @@ int xe_wait_user_fence_ioctl(struct drm_device
> *dev, void *data,
>         if (XE_IOCTL_DBG(xe, !no_engines && !args->num_engines))
>                 return -EINVAL;
>  
> -       if (XE_IOCTL_DBG(xe, !(args->flags &
> DRM_XE_UFENCE_WAIT_VM_ERROR) &&
> -                        addr & 0x7))
> +       if (XE_IOCTL_DBG(xe, addr & 0x7))
>                 return -EINVAL;
>  
>         if (XE_IOCTL_DBG(xe, args->num_engines >
> XE_HW_ENGINE_MAX_INSTANCE))
> @@ -153,22 +148,6 @@ int xe_wait_user_fence_ioctl(struct drm_device
> *dev, void *data,
>                         return -EINVAL;
>         }
>  
> -       if (args->flags & DRM_XE_UFENCE_WAIT_VM_ERROR) {
> -               if (XE_IOCTL_DBG(xe, args->vm_id >> 32))
> -                       return -EINVAL;
> -
> -               vm = xe_vm_lookup(to_xe_file(file), args->vm_id);
> -               if (XE_IOCTL_DBG(xe, !vm))
> -                       return -ENOENT;
> -
> -               if (XE_IOCTL_DBG(xe, !vm-
> >async_ops.error_capture.addr)) {
> -                       xe_vm_put(vm);
> -                       return -EOPNOTSUPP;
> -               }
> -
> -               addr = vm->async_ops.error_capture.addr;
> -       }
> -
>         /*
>          * For negative timeout we want to wait "forever" by setting
>          * MAX_SCHEDULE_TIMEOUT. But we have to assign this value
> also
> @@ -188,15 +167,8 @@ int xe_wait_user_fence_ioctl(struct drm_device
> *dev, void *data,
>          * hardware engine. Open coding as 'do_compare' can sleep
> which doesn't
>          * work with the wait_event_* macros.
>          */
> -       if (vm)
> -               add_wait_queue(&vm->async_ops.error_capture.wq,
> &w_wait);
> -       else
> -               add_wait_queue(&xe->ufence_wq, &w_wait);
> +       add_wait_queue(&xe->ufence_wq, &w_wait);
>         for (;;) {
> -               if (vm && xe_vm_is_closed(vm)) {
> -                       err = -ENODEV;
> -                       break;
> -               }
>                 err = do_compare(addr, args->value, args->mask, args-
> >op);
>                 if (err <= 0)
>                         break;
> @@ -213,12 +185,7 @@ int xe_wait_user_fence_ioctl(struct drm_device
> *dev, void *data,
>  
>                 timeout = wait_woken(&w_wait, TASK_INTERRUPTIBLE,
> timeout);
>         }
> -       if (vm) {
> -               remove_wait_queue(&vm->async_ops.error_capture.wq,
> &w_wait);
> -               xe_vm_put(vm);
> -       } else {
> -               remove_wait_queue(&xe->ufence_wq, &w_wait);
> -       }
> +       remove_wait_queue(&xe->ufence_wq, &w_wait);
>  
>         if (!(args->flags & DRM_XE_UFENCE_WAIT_ABSTIME)) {
>                 args->timeout -= ktime_to_ns(ktime_sub(ktime_get(),
> start));
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 5cbbb433ce68..d0259865717a 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -873,18 +873,10 @@ struct drm_xe_wait_user_fence {
>         /** @extensions: Pointer to the first extension struct, if
> any */
>         __u64 extensions;
>  
> -       union {
> -               /**
> -                * @addr: user pointer address to wait on, must qword
> aligned
> -                */
> -               __u64 addr;
> -
> -               /**
> -                * @vm_id: The ID of the VM which encounter an error
> used with
> -                * DRM_XE_UFENCE_WAIT_VM_ERROR. Upper 32 bits must be
> clear.
> -                */
> -               __u64 vm_id;
> -       };
> +       /**
> +        * @addr: user pointer address to wait on, must qword aligned
> +        */
> +       __u64 addr;
>  
>  #define DRM_XE_UFENCE_WAIT_EQ  0
>  #define DRM_XE_UFENCE_WAIT_NEQ 1
> @@ -897,7 +889,6 @@ struct drm_xe_wait_user_fence {
>  
>  #define DRM_XE_UFENCE_WAIT_SOFT_OP     (1 << 0)        /* e.g. Wait
> on VM bind */
>  #define DRM_XE_UFENCE_WAIT_ABSTIME     (1 << 1)
> -#define DRM_XE_UFENCE_WAIT_VM_ERROR    (1 << 2)
>         /** @flags: wait flags */
>         __u16 flags;
>  


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

* Re: [Intel-xe] [PATCH 3/6] drm/xe: Remove async worker and rework sync binds
  2023-09-14 20:40 ` [Intel-xe] [PATCH 3/6] drm/xe: Remove async worker and rework sync binds Matthew Brost
@ 2023-09-21  9:09   ` Thomas Hellström
  0 siblings, 0 replies; 21+ messages in thread
From: Thomas Hellström @ 2023-09-21  9:09 UTC (permalink / raw)
  To: Matthew Brost, intel-xe; +Cc: Matthew Brost

On Thu, 2023-09-14 at 13:40 -0700, Matthew Brost wrote:
> Async worker is gone. All jobs and memory allocations done in IOCTL
> to
> align with dma fencing rules.
> 
> Async vs. sync now means when do bind operations complete relative to
> the IOCTL. Async completes when out-syncs signal while sync completes
> when the IOCTL returns. In-syncs and out-syncs are only allowed in
> async
> mode.
> 
> If memory allocations fail in the job creation step the VM is killed.
> This is temporary, eventually a proper unwind will be done and VM
> will
> be usable.
> 
> Signed-off-by: Matthew Brost <mattthew.brost@intel.com>

Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>


> ---
>  drivers/gpu/drm/xe/xe_exec.c             |  43 --
>  drivers/gpu/drm/xe/xe_exec_queue.c       |   7 +-
>  drivers/gpu/drm/xe/xe_exec_queue_types.h |   2 +
>  drivers/gpu/drm/xe/xe_sync.c             |  14 +-
>  drivers/gpu/drm/xe/xe_sync.h             |   2 +-
>  drivers/gpu/drm/xe/xe_vm.c               | 536 +++++----------------
> --
>  drivers/gpu/drm/xe/xe_vm.h               |   2 -
>  drivers/gpu/drm/xe/xe_vm_types.h         |  31 +-
>  include/uapi/drm/xe_drm.h                |  33 +-
>  9 files changed, 127 insertions(+), 543 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_exec.c
> b/drivers/gpu/drm/xe/xe_exec.c
> index 7d0381d41b32..28e84a0bbeb0 100644
> --- a/drivers/gpu/drm/xe/xe_exec.c
> +++ b/drivers/gpu/drm/xe/xe_exec.c
> @@ -196,27 +196,6 @@ int xe_exec_ioctl(struct drm_device *dev, void
> *data, struct drm_file *file)
>                 }
>         }
>  
> -       /*
> -        * We can't install a job into the VM dma-resv shared slot
> before an
> -        * async VM bind passed in as a fence without the risk of
> deadlocking as
> -        * the bind can trigger an eviction which in turn depends on
> anything in
> -        * the VM dma-resv shared slots. Not an ideal solution, but
> we wait for
> -        * all dependent async VM binds to start (install correct
> fences into
> -        * dma-resv slots) before moving forward.
> -        */
> -       if (!xe_vm_no_dma_fences(vm) &&
> -           vm->flags & XE_VM_FLAG_ASYNC_BIND_OPS) {
> -               for (i = 0; i < args->num_syncs; i++) {
> -                       struct dma_fence *fence = syncs[i].fence;
> -
> -                       if (fence) {
> -                               err =
> xe_vm_async_fence_wait_start(fence);
> -                               if (err)
> -                                       goto err_syncs;
> -                       }
> -               }
> -       }
> -
>  retry:
>         if (!xe_vm_no_dma_fences(vm) &&
> xe_vm_userptr_check_repin(vm)) {
>                 err = down_write_killable(&vm->lock);
> @@ -229,28 +208,6 @@ int xe_exec_ioctl(struct drm_device *dev, void
> *data, struct drm_file *file)
>         if (err)
>                 goto err_syncs;
>  
> -       /* We don't allow execs while the VM is in error state */
> -       if (vm->async_ops.error) {
> -               err = vm->async_ops.error;
> -               goto err_unlock_list;
> -       }
> -
> -       /*
> -        * Extreme corner where we exit a VM error state with a
> munmap style VM
> -        * unbind inflight which requires a rebind. In this case the
> rebind
> -        * needs to install some fences into the dma-resv slots. The
> worker to
> -        * do this queued, let that worker make progress by dropping
> vm->lock,
> -        * flushing the worker and retrying the exec.
> -        */
> -       if (vm->async_ops.munmap_rebind_inflight) {
> -               if (write_locked)
> -                       up_write(&vm->lock);
> -               else
> -                       up_read(&vm->lock);
> -               flush_work(&vm->async_ops.work);
> -               goto retry;
> -       }
> -
>         if (write_locked) {
>                 err = xe_vm_userptr_pin(vm);
>                 downgrade_write(&vm->lock);
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c
> b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 6725157d8c1d..e950c9ef9d40 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -661,7 +661,10 @@ int xe_exec_queue_create_ioctl(struct drm_device
> *dev, void *data,
>         if (XE_IOCTL_DBG(xe, eci[0].gt_id >= xe->info.gt_count))
>                 return -EINVAL;
>  
> -       if (eci[0].engine_class == DRM_XE_ENGINE_CLASS_VM_BIND) {
> +       if (eci[0].engine_class >= DRM_XE_ENGINE_CLASS_VM_BIND_ASYNC)
> {
> +               bool sync = eci[0].engine_class ==
> +                       DRM_XE_ENGINE_CLASS_VM_BIND_SYNC;
> +       
>                 for_each_gt(gt, xe, id) {
>                         struct xe_exec_queue *new;
>  
> @@ -687,6 +690,8 @@ int xe_exec_queue_create_ioctl(struct drm_device
> *dev, void *data,
>                                                    args->width, hwe,
>                                                   
> EXEC_QUEUE_FLAG_PERSISTENT |
>                                                    EXEC_QUEUE_FLAG_VM
> |
> +                                                  (sync ? 0 :
> +                                                  
> EXEC_QUEUE_FLAG_VM_ASYNC) |
>                                                    (id ?
>                                                    
> EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD :
>                                                     0));
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> index 347d28442701..b828d8a60adf 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> @@ -66,6 +66,8 @@ struct xe_exec_queue {
>  #define EXEC_QUEUE_FLAG_VM                     BIT(5)
>  /* child of VM queue for multi-tile VM jobs */
>  #define EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD      BIT(6)
> +/* VM jobs for this queue are asynchronous */
> +#define EXEC_QUEUE_FLAG_VM_ASYNC               BIT(7)
>  
>         /**
>          * @flags: flags for this exec queue, should statically setup
> aside from ban
> diff --git a/drivers/gpu/drm/xe/xe_sync.c
> b/drivers/gpu/drm/xe/xe_sync.c
> index 9fcd7802ba30..73ef259aa387 100644
> --- a/drivers/gpu/drm/xe/xe_sync.c
> +++ b/drivers/gpu/drm/xe/xe_sync.c
> @@ -18,7 +18,6 @@
>  #include "xe_sched_job_types.h"
>  
>  #define SYNC_FLAGS_TYPE_MASK 0x3
> -#define SYNC_FLAGS_FENCE_INSTALLED     0x10000
>  
>  struct user_fence {
>         struct xe_device *xe;
> @@ -223,12 +222,11 @@ int xe_sync_entry_add_deps(struct xe_sync_entry
> *sync, struct xe_sched_job *job)
>         return 0;
>  }
>  
> -bool xe_sync_entry_signal(struct xe_sync_entry *sync, struct
> xe_sched_job *job,
> +void xe_sync_entry_signal(struct xe_sync_entry *sync, struct
> xe_sched_job *job,
>                           struct dma_fence *fence)
>  {
> -       if (!(sync->flags & DRM_XE_SYNC_SIGNAL) ||
> -           sync->flags & SYNC_FLAGS_FENCE_INSTALLED)
> -               return false;
> +       if (!(sync->flags & DRM_XE_SYNC_SIGNAL))
> +               return;
>  
>         if (sync->chain_fence) {
>                 drm_syncobj_add_point(sync->syncobj, sync-
> >chain_fence,
> @@ -260,12 +258,6 @@ bool xe_sync_entry_signal(struct xe_sync_entry
> *sync, struct xe_sched_job *job,
>                 job->user_fence.addr = sync->addr;
>                 job->user_fence.value = sync->timeline_value;
>         }
> -
> -       /* TODO: external BO? */
> -
> -       sync->flags |= SYNC_FLAGS_FENCE_INSTALLED;
> -
> -       return true;
>  }
>  
>  void xe_sync_entry_cleanup(struct xe_sync_entry *sync)
> diff --git a/drivers/gpu/drm/xe/xe_sync.h
> b/drivers/gpu/drm/xe/xe_sync.h
> index 4cbcf7a19911..30958ddc4cdc 100644
> --- a/drivers/gpu/drm/xe/xe_sync.h
> +++ b/drivers/gpu/drm/xe/xe_sync.h
> @@ -19,7 +19,7 @@ int xe_sync_entry_parse(struct xe_device *xe,
> struct xe_file *xef,
>  int xe_sync_entry_wait(struct xe_sync_entry *sync);
>  int xe_sync_entry_add_deps(struct xe_sync_entry *sync,
>                            struct xe_sched_job *job);
> -bool xe_sync_entry_signal(struct xe_sync_entry *sync,
> +void xe_sync_entry_signal(struct xe_sync_entry *sync,
>                           struct xe_sched_job *job,
>                           struct dma_fence *fence);
>  void xe_sync_entry_cleanup(struct xe_sync_entry *sync);
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index ea1f089549b1..f9dc9bf6b36b 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -565,7 +565,7 @@ static void preempt_rebind_work_func(struct
> work_struct *w)
>         unsigned int fence_count = 0;
>         LIST_HEAD(preempt_fences);
>         ktime_t end = 0;
> -       int err;
> +       int err = 0;
>         long wait;
>         int __maybe_unused tries = 0;
>  
> @@ -581,22 +581,6 @@ static void preempt_rebind_work_func(struct
> work_struct *w)
>         }
>  
>  retry:
> -       if (vm->async_ops.error)
> -               goto out_unlock_outer;
> -
> -       /*
> -        * Extreme corner where we exit a VM error state with a
> munmap style VM
> -        * unbind inflight which requires a rebind. In this case the
> rebind
> -        * needs to install some fences into the dma-resv slots. The
> worker to
> -        * do this queued, let that worker make progress by dropping
> vm->lock
> -        * and trying this again.
> -        */
> -       if (vm->async_ops.munmap_rebind_inflight) {
> -               up_write(&vm->lock);
> -               flush_work(&vm->async_ops.work);
> -               goto retry;
> -       }
> -
>         if (xe_vm_userptr_check_repin(vm)) {
>                 err = xe_vm_userptr_pin(vm);
>                 if (err)
> @@ -1190,7 +1174,6 @@ static struct drm_gpuva_fn_ops gpuva_ops = {
>         .op_alloc = xe_vm_op_alloc,
>  };
>  
> -static void xe_vma_op_work_func(struct work_struct *w);
>  static void vm_destroy_work_func(struct work_struct *w);
>  
>  struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
> @@ -1224,10 +1207,6 @@ struct xe_vm *xe_vm_create(struct xe_device
> *xe, u32 flags)
>         INIT_LIST_HEAD(&vm->notifier.rebind_list);
>         spin_lock_init(&vm->notifier.list_lock);
>  
> -       INIT_LIST_HEAD(&vm->async_ops.pending);
> -       INIT_WORK(&vm->async_ops.work, xe_vma_op_work_func);
> -       spin_lock_init(&vm->async_ops.lock);
> -
>         INIT_WORK(&vm->destroy_work, vm_destroy_work_func);
>  
>         INIT_LIST_HEAD(&vm->preempt.exec_queues);
> @@ -1281,11 +1260,6 @@ struct xe_vm *xe_vm_create(struct xe_device
> *xe, u32 flags)
>                 vm->batch_invalidate_tlb = false;
>         }
>  
> -       if (flags & XE_VM_FLAG_ASYNC_BIND_OPS) {
> -               vm->async_ops.fence.context =
> dma_fence_context_alloc(1);
> -               vm->flags |= XE_VM_FLAG_ASYNC_BIND_OPS;
> -       }
> -
>         /* Fill pt_root after allocating scratch tables */
>         for_each_tile(tile, xe, id) {
>                 if (!vm->pt_root[id])
> @@ -1301,6 +1275,9 @@ struct xe_vm *xe_vm_create(struct xe_device
> *xe, u32 flags)
>                         struct xe_gt *gt = tile->primary_gt;
>                         struct xe_vm *migrate_vm;
>                         struct xe_exec_queue *q;
> +                       u32 create_flags = EXEC_QUEUE_FLAG_VM |
> +                               ((flags & XE_VM_FLAG_ASYNC_DEFAULT) ?
> +                               EXEC_QUEUE_FLAG_VM_ASYNC : 0);
>  
>                         if (!vm->pt_root[id])
>                                 continue;
> @@ -1308,7 +1285,7 @@ struct xe_vm *xe_vm_create(struct xe_device
> *xe, u32 flags)
>                         migrate_vm = xe_migrate_get_vm(tile-
> >migrate);
>                         q = xe_exec_queue_create_class(xe, gt,
> migrate_vm,
>                                                       
> XE_ENGINE_CLASS_COPY,
> -                                                     
> EXEC_QUEUE_FLAG_VM);
> +                                                      create_flags);
>                         xe_vm_put(migrate_vm);
>                         if (IS_ERR(q)) {
>                                 xe_vm_close_and_put(vm);
> @@ -1363,12 +1340,6 @@ struct xe_vm *xe_vm_create(struct xe_device
> *xe, u32 flags)
>         return ERR_PTR(err);
>  }
>  
> -static void flush_async_ops(struct xe_vm *vm)
> -{
> -       queue_work(system_unbound_wq, &vm->async_ops.work);
> -       flush_work(&vm->async_ops.work);
> -}
> -
>  static void xe_vm_close(struct xe_vm *vm)
>  {
>         down_write(&vm->lock);
> @@ -1388,7 +1359,6 @@ void xe_vm_close_and_put(struct xe_vm *vm)
>         xe_assert(xe, !vm->preempt.num_exec_queues);
>  
>         xe_vm_close(vm);
> -       flush_async_ops(vm);
>         if (xe_vm_in_compute_mode(vm))
>                 flush_work(&vm->preempt.rebind_work);
>  
> @@ -1608,10 +1578,8 @@ xe_vm_unbind_vma(struct xe_vma *vma, struct
> xe_exec_queue *q,
>  
>  err_fences:
>         if (fences) {
> -               while (cur_fence) {
> -                       /* FIXME: Rewind the previous binds? */
> +               while (cur_fence)
>                         dma_fence_put(fences[--cur_fence]);
> -               }
>                 kfree(fences);
>         }
>  
> @@ -1685,100 +1653,24 @@ xe_vm_bind_vma(struct xe_vma *vma, struct
> xe_exec_queue *q,
>  
>  err_fences:
>         if (fences) {
> -               while (cur_fence) {
> -                       /* FIXME: Rewind the previous binds? */
> +               while (cur_fence)
>                         dma_fence_put(fences[--cur_fence]);
> -               }
>                 kfree(fences);
>         }
>  
>         return ERR_PTR(err);
>  }
>  
> -struct async_op_fence {
> -       struct dma_fence fence;
> -       struct dma_fence *wait_fence;
> -       struct dma_fence_cb cb;
> -       struct xe_vm *vm;
> -       wait_queue_head_t wq;
> -       bool started;
> -};
> -
> -static const char *async_op_fence_get_driver_name(struct dma_fence
> *dma_fence)
> -{
> -       return "xe";
> -}
> -
> -static const char *
> -async_op_fence_get_timeline_name(struct dma_fence *dma_fence)
> -{
> -       return "async_op_fence";
> -}
> -
> -static const struct dma_fence_ops async_op_fence_ops = {
> -       .get_driver_name = async_op_fence_get_driver_name,
> -       .get_timeline_name = async_op_fence_get_timeline_name,
> -};
> -
> -static void async_op_fence_cb(struct dma_fence *fence, struct
> dma_fence_cb *cb)
> -{
> -       struct async_op_fence *afence =
> -               container_of(cb, struct async_op_fence, cb);
> -
> -       afence->fence.error = afence->wait_fence->error;
> -       dma_fence_signal(&afence->fence);
> -       xe_vm_put(afence->vm);
> -       dma_fence_put(afence->wait_fence);
> -       dma_fence_put(&afence->fence);
> -}
> -
> -static void add_async_op_fence_cb(struct xe_vm *vm,
> -                                 struct dma_fence *fence,
> -                                 struct async_op_fence *afence)
> +static bool xe_vm_sync_mode(struct xe_vm *vm, struct xe_exec_queue
> *q)
>  {
> -       int ret;
> -
> -       if (!xe_vm_no_dma_fences(vm)) {
> -               afence->started = true;
> -               smp_wmb();
> -               wake_up_all(&afence->wq);
> -       }
> -
> -       afence->wait_fence = dma_fence_get(fence);
> -       afence->vm = xe_vm_get(vm);
> -       dma_fence_get(&afence->fence);
> -       ret = dma_fence_add_callback(fence, &afence->cb,
> async_op_fence_cb);
> -       if (ret == -ENOENT) {
> -               afence->fence.error = afence->wait_fence->error;
> -               dma_fence_signal(&afence->fence);
> -       }
> -       if (ret) {
> -               xe_vm_put(vm);
> -               dma_fence_put(afence->wait_fence);
> -               dma_fence_put(&afence->fence);
> -       }
> -       XE_WARN_ON(ret && ret != -ENOENT);
> -}
> -
> -int xe_vm_async_fence_wait_start(struct dma_fence *fence)
> -{
> -       if (fence->ops == &async_op_fence_ops) {
> -               struct async_op_fence *afence =
> -                       container_of(fence, struct async_op_fence,
> fence);
> -
> -               xe_assert(afence->vm->xe,
> !xe_vm_no_dma_fences(afence->vm));
> -
> -               smp_rmb();
> -               return wait_event_interruptible(afence->wq, afence-
> >started);
> -       }
> -
> -       return 0;
> +       return q ? !(q->flags & EXEC_QUEUE_FLAG_VM_ASYNC) :
> +               !(vm->flags & XE_VM_FLAG_ASYNC_DEFAULT);
>  }
>  
>  static int __xe_vm_bind(struct xe_vm *vm, struct xe_vma *vma,
>                         struct xe_exec_queue *q, struct xe_sync_entry
> *syncs,
> -                       u32 num_syncs, struct async_op_fence *afence,
> -                       bool immediate, bool first_op, bool last_op)
> +                       u32 num_syncs, bool immediate, bool first_op,
> +                       bool last_op)
>  {
>         struct dma_fence *fence;
>  
> @@ -1800,17 +1692,18 @@ static int __xe_vm_bind(struct xe_vm *vm,
> struct xe_vma *vma,
>                                 xe_sync_entry_signal(&syncs[i], NULL,
> fence);
>                 }
>         }
> -       if (afence)
> -               add_async_op_fence_cb(vm, fence, afence);
>  
> +       if (last_op && xe_vm_sync_mode(vm, q))
> +               dma_fence_wait(fence, true);
>         dma_fence_put(fence);
> +
>         return 0;
>  }
>  
>  static int xe_vm_bind(struct xe_vm *vm, struct xe_vma *vma, struct
> xe_exec_queue *q,
>                       struct xe_bo *bo, struct xe_sync_entry *syncs,
> -                     u32 num_syncs, struct async_op_fence *afence,
> -                     bool immediate, bool first_op, bool last_op)
> +                     u32 num_syncs, bool immediate, bool first_op,
> +                     bool last_op)
>  {
>         int err;
>  
> @@ -1823,14 +1716,13 @@ static int xe_vm_bind(struct xe_vm *vm,
> struct xe_vma *vma, struct xe_exec_queue
>                         return err;
>         }
>  
> -       return __xe_vm_bind(vm, vma, q, syncs, num_syncs, afence,
> immediate,
> -                           first_op, last_op);
> +       return __xe_vm_bind(vm, vma, q, syncs, num_syncs, immediate,
> first_op,
> +                           last_op);
>  }
>  
>  static int xe_vm_unbind(struct xe_vm *vm, struct xe_vma *vma,
>                         struct xe_exec_queue *q, struct xe_sync_entry
> *syncs,
> -                       u32 num_syncs, struct async_op_fence *afence,
> -                       bool first_op, bool last_op)
> +                       u32 num_syncs, bool first_op, bool last_op)
>  {
>         struct dma_fence *fence;
>  
> @@ -1840,10 +1732,10 @@ static int xe_vm_unbind(struct xe_vm *vm,
> struct xe_vma *vma,
>         fence = xe_vm_unbind_vma(vma, q, syncs, num_syncs, first_op,
> last_op);
>         if (IS_ERR(fence))
>                 return PTR_ERR(fence);
> -       if (afence)
> -               add_async_op_fence_cb(vm, fence, afence);
>  
>         xe_vma_destroy(vma, fence);
> +       if (last_op && xe_vm_sync_mode(vm, q))
> +               dma_fence_wait(fence, true);
>         dma_fence_put(fence);
>  
>         return 0;
> @@ -1851,7 +1743,7 @@ static int xe_vm_unbind(struct xe_vm *vm,
> struct xe_vma *vma,
>  
>  #define ALL_DRM_XE_VM_CREATE_FLAGS (DRM_XE_VM_CREATE_SCRATCH_PAGE |
> \
>                                     DRM_XE_VM_CREATE_COMPUTE_MODE | \
> -                                   DRM_XE_VM_CREATE_ASYNC_BIND_OPS |
> \
> +                                   DRM_XE_VM_CREATE_ASYNC_DEFAULT |
> \
>                                     DRM_XE_VM_CREATE_FAULT_MODE)
>  
>  int xe_vm_create_ioctl(struct drm_device *dev, void *data,
> @@ -1897,12 +1789,15 @@ int xe_vm_create_ioctl(struct drm_device
> *dev, void *data,
>                          xe_device_in_fault_mode(xe)))
>                 return -EINVAL;
>  
> +       if (XE_IOCTL_DBG(xe, args->extensions))
> +               return -EINVAL;
> +
>         if (args->flags & DRM_XE_VM_CREATE_SCRATCH_PAGE)
>                 flags |= XE_VM_FLAG_SCRATCH_PAGE;
>         if (args->flags & DRM_XE_VM_CREATE_COMPUTE_MODE)
>                 flags |= XE_VM_FLAG_COMPUTE_MODE;
> -       if (args->flags & DRM_XE_VM_CREATE_ASYNC_BIND_OPS)
> -               flags |= XE_VM_FLAG_ASYNC_BIND_OPS;
> +       if (args->flags & DRM_XE_VM_CREATE_ASYNC_DEFAULT)
> +               flags |= XE_VM_FLAG_ASYNC_DEFAULT;
>         if (args->flags & DRM_XE_VM_CREATE_FAULT_MODE)
>                 flags |= XE_VM_FLAG_FAULT_MODE;
>  
> @@ -1979,8 +1874,7 @@ static const u32 region_to_mem_type[] = {
>  static int xe_vm_prefetch(struct xe_vm *vm, struct xe_vma *vma,
>                           struct xe_exec_queue *q, u32 region,
>                           struct xe_sync_entry *syncs, u32 num_syncs,
> -                         struct async_op_fence *afence, bool
> first_op,
> -                         bool last_op)
> +                         bool first_op, bool last_op)
>  {
>         int err;
>  
> @@ -1994,7 +1888,7 @@ static int xe_vm_prefetch(struct xe_vm *vm,
> struct xe_vma *vma,
>  
>         if (vma->tile_mask != (vma->tile_present & ~vma-
> >usm.tile_invalidated)) {
>                 return xe_vm_bind(vm, vma, q, xe_vma_bo(vma), syncs,
> num_syncs,
> -                                 afence, true, first_op, last_op);
> +                                 true, first_op, last_op);
>         } else {
>                 int i;
>  
> @@ -2004,8 +1898,7 @@ static int xe_vm_prefetch(struct xe_vm *vm,
> struct xe_vma *vma,
>                                 xe_sync_entry_signal(&syncs[i], NULL,
>                                                     
> dma_fence_get_stub());
>                 }
> -               if (afence)
> -                       dma_fence_signal(&afence->fence);
> +
>                 return 0;
>         }
>  }
> @@ -2021,51 +1914,6 @@ struct ttm_buffer_object *xe_vm_ttm_bo(struct
> xe_vm *vm)
>         return &vm->pt_root[idx]->bo->ttm;
>  }
>  
> -static void vm_set_async_error(struct xe_vm *vm, int err)
> -{
> -       lockdep_assert_held(&vm->lock);
> -       vm->async_ops.error = err;
> -}
> -
> -static int vm_bind_ioctl_lookup_vma(struct xe_vm *vm, struct xe_bo
> *bo,
> -                                   u64 addr, u64 range, u32 op)
> -{
> -       struct xe_device *xe = vm->xe;
> -       struct xe_vma *vma;
> -       bool async = !!(op & XE_VM_BIND_FLAG_ASYNC);
> -
> -       lockdep_assert_held(&vm->lock);
> -
> -       switch (VM_BIND_OP(op)) {
> -       case XE_VM_BIND_OP_MAP:
> -       case XE_VM_BIND_OP_MAP_USERPTR:
> -               vma = xe_vm_find_overlapping_vma(vm, addr, range);
> -               if (XE_IOCTL_DBG(xe, vma && !async))
> -                       return -EBUSY;
> -               break;
> -       case XE_VM_BIND_OP_UNMAP:
> -       case XE_VM_BIND_OP_PREFETCH:
> -               vma = xe_vm_find_overlapping_vma(vm, addr, range);
> -               if (XE_IOCTL_DBG(xe, !vma))
> -                       /* Not an actual error, IOCTL cleans up
> returns and 0 */
> -                       return -ENODATA;
> -               if (XE_IOCTL_DBG(xe, (xe_vma_start(vma) != addr ||
> -                                     xe_vma_end(vma) != addr +
> range) && !async))
> -                       return -EINVAL;
> -               break;
> -       case XE_VM_BIND_OP_UNMAP_ALL:
> -               if (XE_IOCTL_DBG(xe, list_empty(&bo-
> >ttm.base.gpuva.list)))
> -                       /* Not an actual error, IOCTL cleans up
> returns and 0 */
> -                       return -ENODATA;
> -               break;
> -       default:
> -               drm_warn(&xe->drm, "NOT POSSIBLE");
> -               return -EINVAL;
> -       }
> -
> -       return 0;
> -}
> -
>  static void prep_vma_destroy(struct xe_vm *vm, struct xe_vma *vma,
>                              bool post_commit)
>  {
> @@ -2353,37 +2201,15 @@ static int vm_bind_ioctl_ops_parse(struct
> xe_vm *vm, struct xe_exec_queue *q,
>                                    bool async)
>  {
>         struct xe_vma_op *last_op = NULL;
> -       struct async_op_fence *fence = NULL;
>         struct drm_gpuva_op *__op;
>         int err = 0;
>  
>         lockdep_assert_held_write(&vm->lock);
>  
> -       if (last && num_syncs && async) {
> -               u64 seqno;
> -
> -               fence = kmalloc(sizeof(*fence), GFP_KERNEL);
> -               if (!fence)
> -                       return -ENOMEM;
> -
> -               seqno = q ? ++q->bind.fence_seqno : ++vm-
> >async_ops.fence.seqno;
> -               dma_fence_init(&fence->fence, &async_op_fence_ops,
> -                              &vm->async_ops.lock, q ? q-
> >bind.fence_ctx :
> -                              vm->async_ops.fence.context, seqno);
> -
> -               if (!xe_vm_no_dma_fences(vm)) {
> -                       fence->vm = vm;
> -                       fence->started = false;
> -                       init_waitqueue_head(&fence->wq);
> -               }
> -       }
> -
>         drm_gpuva_for_each_op(__op, ops) {
>                 struct xe_vma_op *op = gpuva_op_to_vma_op(__op);
>                 bool first = list_empty(ops_list);
>  
> -               xe_assert(vm->xe, first || async);
> -
>                 INIT_LIST_HEAD(&op->link);
>                 list_add_tail(&op->link, ops_list);
>  
> @@ -2403,10 +2229,8 @@ static int vm_bind_ioctl_ops_parse(struct
> xe_vm *vm, struct xe_exec_queue *q,
>                         vma = new_vma(vm, &op->base.map,
>                                       op->tile_mask, op-
> >map.read_only,
>                                       op->map.is_null);
> -                       if (IS_ERR(vma)) {
> -                               err = PTR_ERR(vma);
> -                               goto free_fence;
> -                       }
> +                       if (IS_ERR(vma))
> +                               return PTR_ERR(vma);
>  
>                         op->map.vma = vma;
>                         break;
> @@ -2431,10 +2255,8 @@ static int vm_bind_ioctl_ops_parse(struct
> xe_vm *vm, struct xe_exec_queue *q,
>                                 vma = new_vma(vm, op-
> >base.remap.prev,
>                                               op->tile_mask,
> read_only,
>                                               is_null);
> -                               if (IS_ERR(vma)) {
> -                                       err = PTR_ERR(vma);
> -                                       goto free_fence;
> -                               }
> +                               if (IS_ERR(vma))
> +                                       return PTR_ERR(vma);
>  
>                                 op->remap.prev = vma;
>  
> @@ -2467,10 +2289,8 @@ static int vm_bind_ioctl_ops_parse(struct
> xe_vm *vm, struct xe_exec_queue *q,
>                                 vma = new_vma(vm, op-
> >base.remap.next,
>                                               op->tile_mask,
> read_only,
>                                               is_null);
> -                               if (IS_ERR(vma)) {
> -                                       err = PTR_ERR(vma);
> -                                       goto free_fence;
> -                               }
> +                               if (IS_ERR(vma))
> +                                       return PTR_ERR(vma);
>  
>                                 op->remap.next = vma;
>  
> @@ -2502,27 +2322,23 @@ static int vm_bind_ioctl_ops_parse(struct
> xe_vm *vm, struct xe_exec_queue *q,
>  
>                 err = xe_vma_op_commit(vm, op);
>                 if (err)
> -                       goto free_fence;
> +                       return err;
>         }
>  
>         /* FIXME: Unhandled corner case */
>         XE_WARN_ON(!last_op && last && !list_empty(ops_list));
>  
>         if (!last_op)
> -               goto free_fence;
> +               return 0;
> +
>         last_op->ops = ops;
>         if (last) {
>                 last_op->flags |= XE_VMA_OP_LAST;
>                 last_op->num_syncs = num_syncs;
>                 last_op->syncs = syncs;
> -               last_op->fence = fence;
>         }
>  
>         return 0;
> -
> -free_fence:
> -       kfree(fence);
> -       return err;
>  }
>  
>  static int op_execute(struct drm_exec *exec, struct xe_vm *vm,
> @@ -2542,7 +2358,7 @@ static int op_execute(struct drm_exec *exec,
> struct xe_vm *vm,
>         switch (op->base.op) {
>         case DRM_GPUVA_OP_MAP:
>                 err = xe_vm_bind(vm, vma, op->q, xe_vma_bo(vma),
> -                                op->syncs, op->num_syncs, op->fence,
> +                                op->syncs, op->num_syncs,
>                                  op->map.immediate ||
> !xe_vm_in_fault_mode(vm),
>                                  op->flags & XE_VMA_OP_FIRST,
>                                  op->flags & XE_VMA_OP_LAST);
> @@ -2553,16 +2369,13 @@ static int op_execute(struct drm_exec *exec,
> struct xe_vm *vm,
>                 bool next = !!op->remap.next;
>  
>                 if (!op->remap.unmap_done) {
> -                       if (prev || next) {
> -                               vm->async_ops.munmap_rebind_inflight
> = true;
> +                       if (prev || next)
>                                 vma->gpuva.flags |=
> XE_VMA_FIRST_REBIND;
> -                       }
>                         err = xe_vm_unbind(vm, vma, op->q, op->syncs,
>                                            op->num_syncs,
> -                                          !prev && !next ? op->fence
> : NULL,
>                                            op->flags &
> XE_VMA_OP_FIRST,
> -                                          op->flags & XE_VMA_OP_LAST
> && !prev &&
> -                                          !next);
> +                                          op->flags & XE_VMA_OP_LAST
> &&
> +                                          !prev && !next);
>                         if (err)
>                                 break;
>                         op->remap.unmap_done = true;
> @@ -2572,8 +2385,7 @@ static int op_execute(struct drm_exec *exec,
> struct xe_vm *vm,
>                         op->remap.prev->gpuva.flags |=
> XE_VMA_LAST_REBIND;
>                         err = xe_vm_bind(vm, op->remap.prev, op->q,
>                                          xe_vma_bo(op->remap.prev),
> op->syncs,
> -                                        op->num_syncs,
> -                                        !next ? op->fence : NULL,
> true, false,
> +                                        op->num_syncs, true, false,
>                                          op->flags & XE_VMA_OP_LAST
> && !next);
>                         op->remap.prev->gpuva.flags &=
> ~XE_VMA_LAST_REBIND;
>                         if (err)
> @@ -2586,26 +2398,24 @@ static int op_execute(struct drm_exec *exec,
> struct xe_vm *vm,
>                         err = xe_vm_bind(vm, op->remap.next, op->q,
>                                          xe_vma_bo(op->remap.next),
>                                          op->syncs, op->num_syncs,
> -                                        op->fence, true, false,
> +                                        true, false,
>                                          op->flags & XE_VMA_OP_LAST);
>                         op->remap.next->gpuva.flags &=
> ~XE_VMA_LAST_REBIND;
>                         if (err)
>                                 break;
>                         op->remap.next = NULL;
>                 }
> -               vm->async_ops.munmap_rebind_inflight = false;
>  
>                 break;
>         }
>         case DRM_GPUVA_OP_UNMAP:
>                 err = xe_vm_unbind(vm, vma, op->q, op->syncs,
> -                                  op->num_syncs, op->fence,
> -                                  op->flags & XE_VMA_OP_FIRST,
> +                                  op->num_syncs, op->flags &
> XE_VMA_OP_FIRST,
>                                    op->flags & XE_VMA_OP_LAST);
>                 break;
>         case DRM_GPUVA_OP_PREFETCH:
>                 err = xe_vm_prefetch(vm, vma, op->q, op-
> >prefetch.region,
> -                                    op->syncs, op->num_syncs, op-
> >fence,
> +                                    op->syncs, op->num_syncs,
>                                      op->flags & XE_VMA_OP_FIRST,
>                                      op->flags & XE_VMA_OP_LAST);
>                 break;
> @@ -2704,14 +2514,9 @@ static void xe_vma_op_cleanup(struct xe_vm
> *vm, struct xe_vma_op *op)
>                 kfree(op->syncs);
>                 if (op->q)
>                         xe_exec_queue_put(op->q);
> -               if (op->fence)
> -                       dma_fence_put(&op->fence->fence);
>         }
> -       if (!list_empty(&op->link)) {
> -               spin_lock_irq(&vm->async_ops.lock);
> +       if (!list_empty(&op->link))
>                 list_del(&op->link);
> -               spin_unlock_irq(&vm->async_ops.lock);
> -       }
>         if (op->ops)
>                 drm_gpuva_ops_free(&vm->mgr, op->ops);
>         if (last)
> @@ -2773,130 +2578,6 @@ static void xe_vma_op_unwind(struct xe_vm
> *vm, struct xe_vma_op *op,
>         }
>  }
>  
> -static struct xe_vma_op *next_vma_op(struct xe_vm *vm)
> -{
> -       return list_first_entry_or_null(&vm->async_ops.pending,
> -                                       struct xe_vma_op, link);
> -}
> -
> -static void xe_vma_op_work_func(struct work_struct *w)
> -{
> -       struct xe_vm *vm = container_of(w, struct xe_vm,
> async_ops.work);
> -
> -       for (;;) {
> -               struct xe_vma_op *op;
> -               int err;
> -
> -               if (vm->async_ops.error && !xe_vm_is_closed(vm))
> -                       break;
> -
> -               spin_lock_irq(&vm->async_ops.lock);
> -               op = next_vma_op(vm);
> -               spin_unlock_irq(&vm->async_ops.lock);
> -
> -               if (!op)
> -                       break;
> -
> -               if (!xe_vm_is_closed(vm)) {
> -                       down_write(&vm->lock);
> -                       err = xe_vma_op_execute(vm, op);
> -                       if (err) {
> -                               drm_warn(&vm->xe->drm,
> -                                        "Async VM op(%d) failed with
> %d",
> -                                        op->base.op, err);
> -                               vm_set_async_error(vm, err);
> -                               up_write(&vm->lock);
> -
> -                               break;
> -                       }
> -                       up_write(&vm->lock);
> -               } else {
> -                       struct xe_vma *vma;
> -
> -                       switch (op->base.op) {
> -                       case DRM_GPUVA_OP_REMAP:
> -                               vma = gpuva_to_vma(op-
> >base.remap.unmap->va);
> -                               trace_xe_vma_flush(vma);
> -
> -                               down_write(&vm->lock);
> -                               xe_vma_destroy_unlocked(vma);
> -                               up_write(&vm->lock);
> -                               break;
> -                       case DRM_GPUVA_OP_UNMAP:
> -                               vma = gpuva_to_vma(op-
> >base.unmap.va);
> -                               trace_xe_vma_flush(vma);
> -
> -                               down_write(&vm->lock);
> -                               xe_vma_destroy_unlocked(vma);
> -                               up_write(&vm->lock);
> -                               break;
> -                       default:
> -                               /* Nothing to do */
> -                               break;
> -                       }
> -
> -                       if (op->fence &&
> !test_bit(DMA_FENCE_FLAG_SIGNALED_BIT,
> -                                                  &op->fence-
> >fence.flags)) {
> -                               if (!xe_vm_no_dma_fences(vm)) {
> -                                       op->fence->started = true;
> -                                       wake_up_all(&op->fence->wq);
> -                               }
> -                               dma_fence_signal(&op->fence->fence);
> -                       }
> -               }
> -
> -               xe_vma_op_cleanup(vm, op);
> -       }
> -}
> -
> -static int vm_bind_ioctl_ops_execute(struct xe_vm *vm,
> -                                    struct list_head *ops_list, bool
> async)
> -{
> -       struct xe_vma_op *op, *last_op, *next;
> -       int err;
> -
> -       lockdep_assert_held_write(&vm->lock);
> -
> -       list_for_each_entry(op, ops_list, link)
> -               last_op = op;
> -
> -       if (!async) {
> -               err = xe_vma_op_execute(vm, last_op);
> -               if (err)
> -                       goto unwind;
> -               xe_vma_op_cleanup(vm, last_op);
> -       } else {
> -               int i;
> -               bool installed = false;
> -
> -               for (i = 0; i < last_op->num_syncs; i++)
> -                       installed |= xe_sync_entry_signal(&last_op-
> >syncs[i],
> -                                                         NULL,
> -                                                         &last_op-
> >fence->fence);
> -               if (!installed && last_op->fence)
> -                       dma_fence_signal(&last_op->fence->fence);
> -
> -               spin_lock_irq(&vm->async_ops.lock);
> -               list_splice_tail(ops_list, &vm->async_ops.pending);
> -               spin_unlock_irq(&vm->async_ops.lock);
> -
> -               if (!vm->async_ops.error)
> -                       queue_work(system_unbound_wq, &vm-
> >async_ops.work);
> -       }
> -
> -       return 0;
> -
> -unwind:
> -       list_for_each_entry_reverse(op, ops_list, link)
> -               xe_vma_op_unwind(vm, op, op->flags &
> XE_VMA_OP_COMMITTED,
> -                                op->flags &
> XE_VMA_OP_PREV_COMMITTED,
> -                                op->flags &
> XE_VMA_OP_NEXT_COMMITTED);
> -       list_for_each_entry_safe(op, next, ops_list, link)
> -               xe_vma_op_cleanup(vm, op);
> -
> -       return err;
> -}
> -
>  static void vm_bind_ioctl_ops_unwind(struct xe_vm *vm,
>                                      struct drm_gpuva_ops **ops,
>                                      int num_ops_list)
> @@ -2923,6 +2604,31 @@ static void vm_bind_ioctl_ops_unwind(struct
> xe_vm *vm,
>         }
>  }
>  
> +static int vm_bind_ioctl_ops_execute(struct xe_vm *vm,
> +                                    struct list_head *ops_list)
> +{
> +       struct xe_vma_op *op, *next;
> +       int err;
> +
> +       lockdep_assert_held_write(&vm->lock);
> +
> +       list_for_each_entry_safe(op, next, ops_list, link) {
> +               err = xe_vma_op_execute(vm, op);
> +               if (err) {
> +                       drm_warn(&vm->xe->drm, "VM op(%d) failed with
> %d",
> +                                op->base.op, err);
> +                       /*
> +                        * FIXME: Killing VM rather than proper error
> handling
> +                        */
> +                       xe_vm_kill(vm);
> +                       return -ENOSPC;
> +               }
> +               xe_vma_op_cleanup(vm, op);
> +       }
> +
> +       return 0;
> +}
> +
>  #ifdef TEST_VM_ASYNC_OPS_ERROR
>  #define SUPPORTED_FLAGS        \
>         (FORCE_ASYNC_OP_ERROR | XE_VM_BIND_FLAG_ASYNC | \
> @@ -2931,7 +2637,8 @@ static void vm_bind_ioctl_ops_unwind(struct
> xe_vm *vm,
>  #else
>  #define SUPPORTED_FLAGS        \
>         (XE_VM_BIND_FLAG_ASYNC | XE_VM_BIND_FLAG_READONLY | \
> -        XE_VM_BIND_FLAG_IMMEDIATE | XE_VM_BIND_FLAG_NULL | 0xffff)
> +        XE_VM_BIND_FLAG_IMMEDIATE | XE_VM_BIND_FLAG_NULL | \
> +        0xffff)
>  #endif
>  #define XE_64K_PAGE_MASK 0xffffull
>  
> @@ -2981,22 +2688,12 @@ static int vm_bind_ioctl_check_args(struct
> xe_device *xe,
>  
>                 if (i == 0) {
>                         *async = !!(op & XE_VM_BIND_FLAG_ASYNC);
> -               } else if (XE_IOCTL_DBG(xe, !*async) ||
> -                          XE_IOCTL_DBG(xe, !(op &
> XE_VM_BIND_FLAG_ASYNC)) ||
> -                          XE_IOCTL_DBG(xe, VM_BIND_OP(op) ==
> -                                       XE_VM_BIND_OP_RESTART)) {
> -                       err = -EINVAL;
> -                       goto free_bind_ops;
> -               }
> -
> -               if (XE_IOCTL_DBG(xe, !*async &&
> -                                VM_BIND_OP(op) ==
> XE_VM_BIND_OP_UNMAP_ALL)) {
> -                       err = -EINVAL;
> -                       goto free_bind_ops;
> -               }
> -
> -               if (XE_IOCTL_DBG(xe, !*async &&
> -                                VM_BIND_OP(op) ==
> XE_VM_BIND_OP_PREFETCH)) {
> +                       if (XE_IOCTL_DBG(xe, !*async && args-
> >num_syncs)) {
> +                               err = -EINVAL;
> +                               goto free_bind_ops;
> +                       }
> +               } else if (XE_IOCTL_DBG(xe, *async !=
> +                                       !!(op &
> XE_VM_BIND_FLAG_ASYNC))) {
>                         err = -EINVAL;
>                         goto free_bind_ops;
>                 }
> @@ -3034,8 +2731,7 @@ static int vm_bind_ioctl_check_args(struct
> xe_device *xe,
>                 if (XE_IOCTL_DBG(xe, obj_offset & ~PAGE_MASK) ||
>                     XE_IOCTL_DBG(xe, addr & ~PAGE_MASK) ||
>                     XE_IOCTL_DBG(xe, range & ~PAGE_MASK) ||
> -                   XE_IOCTL_DBG(xe, !range && VM_BIND_OP(op) !=
> -                                XE_VM_BIND_OP_RESTART &&
> +                   XE_IOCTL_DBG(xe, !range &&
>                                  VM_BIND_OP(op) !=
> XE_VM_BIND_OP_UNMAP_ALL)) {
>                         err = -EINVAL;
>                         goto free_bind_ops;
> @@ -3083,6 +2779,12 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>                         err = -EINVAL;
>                         goto put_exec_queue;
>                 }
> +
> +               if (XE_IOCTL_DBG(xe, async !=
> +                                !!(q->flags &
> EXEC_QUEUE_FLAG_VM_ASYNC))) {
> +                       err = -EINVAL;
> +                       goto put_exec_queue;
> +               }
>         }
>  
>         vm = xe_vm_lookup(xef, args->vm_id);
> @@ -3091,6 +2793,14 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>                 goto put_exec_queue;
>         }
>  
> +       if (!args->exec_queue_id) {
> +               if (XE_IOCTL_DBG(xe, async !=
> +                                !!(vm->flags &
> XE_VM_FLAG_ASYNC_DEFAULT))) {
> +                       err = -EINVAL;
> +                       goto put_vm;
> +               }
> +       }
> +
>         err = down_write_killable(&vm->lock);
>         if (err)
>                 goto put_vm;
> @@ -3100,34 +2810,6 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>                 goto release_vm_lock;
>         }
>  
> -       if (VM_BIND_OP(bind_ops[0].op) == XE_VM_BIND_OP_RESTART) {
> -               if (XE_IOCTL_DBG(xe, !(vm->flags &
> XE_VM_FLAG_ASYNC_BIND_OPS)))
> -                       err = -EOPNOTSUPP;
> -               if (XE_IOCTL_DBG(xe, !err && args->num_syncs))
> -                       err = EINVAL;
> -               if (XE_IOCTL_DBG(xe, !err && !vm->async_ops.error))
> -                       err = -EPROTO;
> -
> -               if (!err) {
> -                       trace_xe_vm_restart(vm);
> -                       vm_set_async_error(vm, 0);
> -
> -                       queue_work(system_unbound_wq, &vm-
> >async_ops.work);
> -
> -                       /* Rebinds may have been blocked, give worker
> a kick */
> -                       if (xe_vm_in_compute_mode(vm))
> -                               xe_vm_queue_rebind_worker(vm);
> -               }
> -
> -               goto release_vm_lock;
> -       }
> -
> -       if (XE_IOCTL_DBG(xe, !vm->async_ops.error &&
> -                        async != !!(vm->flags &
> XE_VM_FLAG_ASYNC_BIND_OPS))) {
> -               err = -EOPNOTSUPP;
> -               goto release_vm_lock;
> -       }
> -
>         for (i = 0; i < args->num_binds; ++i) {
>                 u64 range = bind_ops[i].range;
>                 u64 addr = bind_ops[i].addr;
> @@ -3213,17 +2895,6 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>                         goto free_syncs;
>         }
>  
> -       /* Do some error checking first to make the unwind easier */
> -       for (i = 0; i < args->num_binds; ++i) {
> -               u64 range = bind_ops[i].range;
> -               u64 addr = bind_ops[i].addr;
> -               u32 op = bind_ops[i].op;
> -
> -               err = vm_bind_ioctl_lookup_vma(vm, bos[i], addr,
> range, op);
> -               if (err)
> -                       goto free_syncs;
> -       }
> -
>         for (i = 0; i < args->num_binds; ++i) {
>                 u64 range = bind_ops[i].range;
>                 u64 addr = bind_ops[i].addr;
> @@ -3255,10 +2926,19 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>                 goto unwind_ops;
>         }
>  
> -       err = vm_bind_ioctl_ops_execute(vm, &ops_list, async);
> +       xe_vm_get(vm);
> +       if (q)
> +               xe_exec_queue_get(q);
> +
> +       err = vm_bind_ioctl_ops_execute(vm, &ops_list);
> +
>         up_write(&vm->lock);
>  
> -       for (i = 0; i < args->num_binds; ++i)
> +       if (q)
> +               xe_exec_queue_put(q);
> +       xe_vm_put(vm);
> +
> +       for (i = 0; bos && i < args->num_binds; ++i)
>                 xe_bo_put(bos[i]);
>  
>         kfree(bos);
> diff --git a/drivers/gpu/drm/xe/xe_vm.h b/drivers/gpu/drm/xe/xe_vm.h
> index f966ed39b711..384ec6ea8318 100644
> --- a/drivers/gpu/drm/xe/xe_vm.h
> +++ b/drivers/gpu/drm/xe/xe_vm.h
> @@ -179,8 +179,6 @@ struct dma_fence *xe_vm_rebind(struct xe_vm *vm,
> bool rebind_worker);
>  
>  int xe_vm_invalidate_vma(struct xe_vma *vma);
>  
> -int xe_vm_async_fence_wait_start(struct dma_fence *fence);
> -
>  extern struct ttm_device_funcs xe_ttm_funcs;
>  
>  struct ttm_buffer_object *xe_vm_ttm_bo(struct xe_vm *vm);
> diff --git a/drivers/gpu/drm/xe/xe_vm_types.h
> b/drivers/gpu/drm/xe/xe_vm_types.h
> index 3dc3da1386cb..917b7a16c3a7 100644
> --- a/drivers/gpu/drm/xe/xe_vm_types.h
> +++ b/drivers/gpu/drm/xe/xe_vm_types.h
> @@ -17,7 +17,6 @@
>  #include "xe_pt_types.h"
>  #include "xe_range_fence.h"
>  
> -struct async_op_fence;
>  struct xe_bo;
>  struct xe_sync_entry;
>  struct xe_vm;
> @@ -163,7 +162,7 @@ struct xe_vm {
>          */
>  #define XE_VM_FLAG_64K                 BIT(0)
>  #define XE_VM_FLAG_COMPUTE_MODE                BIT(1)
> -#define XE_VM_FLAG_ASYNC_BIND_OPS      BIT(2)
> +#define XE_VM_FLAG_ASYNC_DEFAULT       BIT(2)
>  #define XE_VM_FLAG_MIGRATION           BIT(3)
>  #define XE_VM_FLAG_SCRATCH_PAGE                BIT(4)
>  #define XE_VM_FLAG_FAULT_MODE          BIT(5)
> @@ -214,30 +213,6 @@ struct xe_vm {
>                 struct list_head list;
>         } extobj;
>  
> -       /** @async_ops: async VM operations (bind / unbinds) */
> -       struct {
> -               /** @list: list of pending async VM ops */
> -               struct list_head pending;
> -               /** @work: worker to execute async VM ops */
> -               struct work_struct work;
> -               /** @lock: protects list of pending async VM ops and
> fences */
> -               spinlock_t lock;
> -               /** @fence: fence state */
> -               struct {
> -                       /** @context: context of async fence */
> -                       u64 context;
> -                       /** @seqno: seqno of async fence */
> -                       u32 seqno;
> -               } fence;
> -               /** @error: error state for async VM ops */
> -               int error;
> -               /**
> -                * @munmap_rebind_inflight: an munmap style VM bind
> is in the
> -                * middle of a set of ops which requires a rebind at
> the end.
> -                */
> -               bool munmap_rebind_inflight;
> -       } async_ops;
> -
>         /** @userptr: user pointer state */
>         struct {
>                 /**
> @@ -397,10 +372,6 @@ struct xe_vma_op {
>         u32 num_syncs;
>         /** @link: async operation link */
>         struct list_head link;
> -       /**
> -        * @fence: async operation fence, signaled on last operation
> complete
> -        */
> -       struct async_op_fence *fence;
>         /** @tile_mask: gt mask for this operation */
>         u8 tile_mask;
>         /** @flags: operation flags */
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index d0259865717a..baa104d502ce 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -486,7 +486,7 @@ struct drm_xe_vm_create {
>  
>  #define DRM_XE_VM_CREATE_SCRATCH_PAGE  (0x1 << 0)
>  #define DRM_XE_VM_CREATE_COMPUTE_MODE  (0x1 << 1)
> -#define DRM_XE_VM_CREATE_ASYNC_BIND_OPS        (0x1 << 2)
> +#define DRM_XE_VM_CREATE_ASYNC_DEFAULT (0x1 << 2)
>  #define DRM_XE_VM_CREATE_FAULT_MODE    (0x1 << 3)
>         /** @flags: Flags */
>         __u32 flags;
> @@ -546,32 +546,10 @@ struct drm_xe_vm_bind_op {
>  #define XE_VM_BIND_OP_MAP              0x0
>  #define XE_VM_BIND_OP_UNMAP            0x1
>  #define XE_VM_BIND_OP_MAP_USERPTR      0x2
> -#define XE_VM_BIND_OP_RESTART          0x3
> -#define XE_VM_BIND_OP_UNMAP_ALL                0x4
> -#define XE_VM_BIND_OP_PREFETCH         0x5
> +#define XE_VM_BIND_OP_UNMAP_ALL                0x3
> +#define XE_VM_BIND_OP_PREFETCH         0x4
>  
>  #define XE_VM_BIND_FLAG_READONLY       (0x1 << 16)
> -       /*
> -        * A bind ops completions are always async, hence the support
> for out
> -        * sync. This flag indicates the allocation of the memory for
> new page
> -        * tables and the job to program the pages tables is
> asynchronous
> -        * relative to the IOCTL. That part of a bind operation can
> fail under
> -        * memory pressure, the job in practice can't fail unless the
> system is
> -        * totally shot.
> -        *
> -        * If this flag is clear and the IOCTL doesn't return an
> error, in
> -        * practice the bind op is good and will complete.
> -        *
> -        * If this flag is set and doesn't return an error, the bind
> op can
> -        * still fail and recovery is needed. It should free memory
> -        * via non-async unbinds, and then restart all queued async
> binds op via
> -        * XE_VM_BIND_OP_RESTART. Or alternatively the user should
> destroy the
> -        * VM.
> -        *
> -        * This flag is only allowed when
> DRM_XE_VM_CREATE_ASYNC_BIND_OPS is
> -        * configured in the VM and must be set if the VM is
> configured with
> -        * DRM_XE_VM_CREATE_ASYNC_BIND_OPS and not in an error state.
> -        */
>  #define XE_VM_BIND_FLAG_ASYNC          (0x1 << 17)
>         /*
>          * Valid on a faulting VM only, do the MAP operation
> immediately rather
> @@ -700,10 +678,11 @@ struct drm_xe_engine_class_instance {
>  #define DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE      3
>  #define DRM_XE_ENGINE_CLASS_COMPUTE            4
>         /*
> -        * Kernel only class (not actual hardware engine class). Used
> for
> +        * Kernel only classes (not actual hardware engine class).
> Used for
>          * creating ordered queues of VM bind operations.
>          */
> -#define DRM_XE_ENGINE_CLASS_VM_BIND            5
> +#define DRM_XE_ENGINE_CLASS_VM_BIND_ASYNC      5
> +#define DRM_XE_ENGINE_CLASS_VM_BIND_SYNC       6
>         __u16 engine_class;
>  
>         __u16 engine_instance;


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

* Re: [Intel-xe] [PATCH 4/6] drm/xe: Fix VM bind out-sync signaling ordering
  2023-09-14 20:40 ` [Intel-xe] [PATCH 4/6] drm/xe: Fix VM bind out-sync signaling ordering Matthew Brost
@ 2023-09-21  9:15   ` Thomas Hellström
  0 siblings, 0 replies; 21+ messages in thread
From: Thomas Hellström @ 2023-09-21  9:15 UTC (permalink / raw)
  To: Matthew Brost, intel-xe

On Thu, 2023-09-14 at 13:40 -0700, Matthew Brost wrote:
> A case existed where an out-sync of a later VM bind operation could
> signal before a previous one if the later operation results in a NOP
> (e.g. a unbind or prefetch to a VA range without any mappings). This
> breaks the ordering rules, fix this. This patch also lays the
> groundwork
> for users to pass in num_binds == 0 and out-syncs.
> 
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>

Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>

> ---
>  drivers/gpu/drm/xe/xe_exec_queue.c       | 75
> ++++++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_exec_queue.h       |  7 +++
>  drivers/gpu/drm/xe/xe_exec_queue_types.h |  6 ++
>  drivers/gpu/drm/xe/xe_vm.c               | 45 +++++++++++---
>  4 files changed, 125 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c
> b/drivers/gpu/drm/xe/xe_exec_queue.c
> index e950c9ef9d40..8722ab6ba00a 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -156,6 +156,7 @@ void xe_exec_queue_destroy(struct kref *ref)
>         struct xe_exec_queue *q = container_of(ref, struct
> xe_exec_queue, refcount);
>         struct xe_exec_queue *eq, *next;
>  
> +       xe_exec_queue_last_fence_put_unlocked(q);
>         if (!(q->flags & EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD)) {
>                 list_for_each_entry_safe(eq, next, &q->multi_gt_list,
>                                          multi_gt_link)
> @@ -959,3 +960,77 @@ int xe_exec_queue_set_property_ioctl(struct
> drm_device *dev, void *data,
>  
>         return ret;
>  }
> +
> +static void xe_exec_queue_last_fence_lockdep_assert(struct
> xe_exec_queue *q,
> +                                                   struct xe_vm *vm)
> +{
> +       lockdep_assert_held_write(&vm->lock);
> +}
> +
> +/**
> + * xe_exec_queue_last_fence_put() - Drop ref to last fence
> + * @q: The exec queue
> + * @vm: The VM the engine does a bind or exec for
> + */
> +void xe_exec_queue_last_fence_put(struct xe_exec_queue *q, struct
> xe_vm *vm)
> +{
> +       xe_exec_queue_last_fence_lockdep_assert(q, vm);
> +
> +       if (q->last_fence) {
> +               dma_fence_put(q->last_fence);
> +               q->last_fence = NULL;
> +       }
> +}
> +
> +/**
> + * xe_exec_queue_last_fence_put_unlocked() - Drop ref to last fence
> unlocked
> + * @q: The exec queue
> + *
> + * Only safe to be called from xe_exec_queue_destroy().
> + */
> +void xe_exec_queue_last_fence_put_unlocked(struct xe_exec_queue *q)
> +{
> +       if (q->last_fence) {
> +               dma_fence_put(q->last_fence);
> +               q->last_fence = NULL;
> +       }
> +}
> +
> +/**
> + * xe_exec_queue_last_fence_get() - Get last fence
> + * @q: The exec queue
> + * @vm: The VM the engine does a bind or exec for
> + *
> + * Get last fence, does not take a ref
> + *
> + * Returns: last fence if not signaled, dma fence stub if signaled
> + */
> +struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue
> *q,
> +                                              struct xe_vm *vm)
> +{
> +       xe_exec_queue_last_fence_lockdep_assert(q, vm);
> +
> +       if (q->last_fence &&
> +           test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &q->last_fence-
> >flags))
> +               xe_exec_queue_last_fence_put(q, vm);
> +
> +       return q->last_fence ? q->last_fence : dma_fence_get_stub();
> +}
> +
> +/**
> + * xe_exec_queue_last_fence_set() - Set last fence
> + * @q: The exec queue
> + * @vm: The VM the engine does a bind or exec for
> + * @fence: The fence
> + *
> + * Set the last fence for the engine. Increases reference count for
> fence, when
> + * closing engine xe_exec_queue_last_fence_put should be called.
> + */
> +void xe_exec_queue_last_fence_set(struct xe_exec_queue *q, struct
> xe_vm *vm,
> +                                 struct dma_fence *fence)
> +{
> +       xe_exec_queue_last_fence_lockdep_assert(q, vm);
> +
> +       xe_exec_queue_last_fence_put(q, vm);
> +       q->last_fence = dma_fence_get(fence);
> +}
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h
> b/drivers/gpu/drm/xe/xe_exec_queue.h
> index ce1ec2243b6a..59a54bfb9a8c 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.h
> @@ -61,4 +61,11 @@ int xe_exec_queue_get_property_ioctl(struct
> drm_device *dev, void *data,
>                                      struct drm_file *file);
>  enum drm_sched_priority xe_exec_queue_device_get_max_priority(struct
> xe_device *xe);
>  
> +void xe_exec_queue_last_fence_put(struct xe_exec_queue *e, struct
> xe_vm *vm);
> +void xe_exec_queue_last_fence_put_unlocked(struct xe_exec_queue *e);
> +struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue
> *e,
> +                                              struct xe_vm *vm);
> +void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct
> xe_vm *vm,
> +                                 struct dma_fence *fence);
> +
>  #endif
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> index b828d8a60adf..71ed8d22a8a1 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> @@ -52,6 +52,12 @@ struct xe_exec_queue {
>         /** @fence_irq: fence IRQ used to signal job completion */
>         struct xe_hw_fence_irq *fence_irq;
>  
> +       /**
> +        * @last_fence: last fence on engine, protected by vm->lock
> in write
> +        * mode if bind engine
> +        */
> +       struct dma_fence *last_fence;
> +
>  /* queue no longer allowed to submit */
>  #define EXEC_QUEUE_FLAG_BANNED                 BIT(0)
>  /* queue used for kernel submission only */
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index f9dc9bf6b36b..49c745d53b41 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -1362,6 +1362,13 @@ void xe_vm_close_and_put(struct xe_vm *vm)
>         if (xe_vm_in_compute_mode(vm))
>                 flush_work(&vm->preempt.rebind_work);
>  
> +       down_write(&vm->lock);
> +       for_each_tile(tile, xe, id) {
> +               if (vm->q[id])
> +                       xe_exec_queue_last_fence_put(vm->q[id], vm);
> +       }
> +       up_write(&vm->lock);
> +
>         for_each_tile(tile, xe, id) {
>                 if (vm->q[id]) {
>                         xe_exec_queue_kill(vm->q[id]);
> @@ -1513,16 +1520,23 @@ u64 xe_vm_pdp4_descriptor(struct xe_vm *vm,
> struct xe_tile *tile)
>                              XE_CACHE_WB);
>  }
>  
> +static struct xe_exec_queue *
> +to_wait_exec_queue(struct xe_vm *vm, struct xe_exec_queue *q)
> +{
> +       return q ? q : vm->q[0];
> +}
> +
>  static struct dma_fence *
>  xe_vm_unbind_vma(struct xe_vma *vma, struct xe_exec_queue *q,
>                  struct xe_sync_entry *syncs, u32 num_syncs,
>                  bool first_op, bool last_op)
>  {
> +       struct xe_vm *vm = xe_vma_vm(vma);
> +       struct xe_exec_queue *wait_exec_queue =
> to_wait_exec_queue(vm, q);
>         struct xe_tile *tile;
>         struct dma_fence *fence = NULL;
>         struct dma_fence **fences = NULL;
>         struct dma_fence_array *cf = NULL;
> -       struct xe_vm *vm = xe_vma_vm(vma);
>         int cur_fence = 0, i;
>         int number_tiles = hweight8(vma->tile_present);
>         int err;
> @@ -1574,7 +1588,8 @@ xe_vm_unbind_vma(struct xe_vma *vma, struct
> xe_exec_queue *q,
>                                              cf ? &cf->base : fence);
>         }
>  
> -       return cf ? &cf->base : !fence ? dma_fence_get_stub() :
> fence;
> +       return cf ? &cf->base : !fence ?
> +               xe_exec_queue_last_fence_get(wait_exec_queue, vm) :
> fence;
>  
>  err_fences:
>         if (fences) {
> @@ -1673,6 +1688,7 @@ static int __xe_vm_bind(struct xe_vm *vm,
> struct xe_vma *vma,
>                         bool last_op)
>  {
>         struct dma_fence *fence;
> +       struct xe_exec_queue *wait_exec_queue =
> to_wait_exec_queue(vm, q);
>  
>         xe_vm_assert_held(vm);
>  
> @@ -1686,13 +1702,15 @@ static int __xe_vm_bind(struct xe_vm *vm,
> struct xe_vma *vma,
>  
>                 xe_assert(vm->xe, xe_vm_in_fault_mode(vm));
>  
> -               fence = dma_fence_get_stub();
> +               fence = xe_exec_queue_last_fence_get(wait_exec_queue,
> vm);
>                 if (last_op) {
>                         for (i = 0; i < num_syncs; i++)
>                                 xe_sync_entry_signal(&syncs[i], NULL,
> fence);
>                 }
>         }
>  
> +       if (last_op)
> +               xe_exec_queue_last_fence_set(wait_exec_queue, vm,
> fence);
>         if (last_op && xe_vm_sync_mode(vm, q))
>                 dma_fence_wait(fence, true);
>         dma_fence_put(fence);
> @@ -1725,6 +1743,7 @@ static int xe_vm_unbind(struct xe_vm *vm,
> struct xe_vma *vma,
>                         u32 num_syncs, bool first_op, bool last_op)
>  {
>         struct dma_fence *fence;
> +       struct xe_exec_queue *wait_exec_queue =
> to_wait_exec_queue(vm, q);
>  
>         xe_vm_assert_held(vm);
>         xe_bo_assert_held(xe_vma_bo(vma));
> @@ -1734,6 +1753,8 @@ static int xe_vm_unbind(struct xe_vm *vm,
> struct xe_vma *vma,
>                 return PTR_ERR(fence);
>  
>         xe_vma_destroy(vma, fence);
> +       if (last_op)
> +               xe_exec_queue_last_fence_set(wait_exec_queue, vm,
> fence);
>         if (last_op && xe_vm_sync_mode(vm, q))
>                 dma_fence_wait(fence, true);
>         dma_fence_put(fence);
> @@ -1876,6 +1897,7 @@ static int xe_vm_prefetch(struct xe_vm *vm,
> struct xe_vma *vma,
>                           struct xe_sync_entry *syncs, u32 num_syncs,
>                           bool first_op, bool last_op)
>  {
> +       struct xe_exec_queue *wait_exec_queue =
> to_wait_exec_queue(vm, q);
>         int err;
>  
>         xe_assert(vm->xe, region <= ARRAY_SIZE(region_to_mem_type));
> @@ -1894,9 +1916,12 @@ static int xe_vm_prefetch(struct xe_vm *vm,
> struct xe_vma *vma,
>  
>                 /* Nothing to do, signal fences now */
>                 if (last_op) {
> -                       for (i = 0; i < num_syncs; i++)
> -                               xe_sync_entry_signal(&syncs[i], NULL,
> -                                                   
> dma_fence_get_stub());
> +                       for (i = 0; i < num_syncs; i++) {
> +                               struct dma_fence *fence =
> +                                       xe_exec_queue_last_fence_get(
> wait_exec_queue, vm);
> +
> +                               xe_sync_entry_signal(&syncs[i], NULL,
> fence);
> +                       }
>                 }
>  
>                 return 0;
> @@ -2951,8 +2976,12 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>  unwind_ops:
>         vm_bind_ioctl_ops_unwind(vm, ops, args->num_binds);
>  free_syncs:
> -       for (i = 0; err == -ENODATA && i < num_syncs; i++)
> -               xe_sync_entry_signal(&syncs[i], NULL,
> dma_fence_get_stub());
> +       for (i = 0; err == -ENODATA && i < num_syncs; i++) {
> +               struct dma_fence *fence =
> +                       xe_exec_queue_last_fence_get(to_wait_exec_que
> ue(vm, q), vm);
> +
> +               xe_sync_entry_signal(&syncs[i], NULL, fence);
> +       }
>         while (num_syncs--)
>                 xe_sync_entry_cleanup(&syncs[num_syncs]);
>  


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

* Re: [Intel-xe] [PATCH 5/6] drm/xe: Allow num_binds == 0 in VM bind IOCTL
  2023-09-14 20:40 ` [Intel-xe] [PATCH 5/6] drm/xe: Allow num_binds == 0 in VM bind IOCTL Matthew Brost
@ 2023-09-21  9:32   ` Thomas Hellström
  2023-09-21 18:27     ` Matthew Brost
  0 siblings, 1 reply; 21+ messages in thread
From: Thomas Hellström @ 2023-09-21  9:32 UTC (permalink / raw)
  To: Matthew Brost, intel-xe

Hi, Matt!

On Thu, 2023-09-14 at 13:40 -0700, Matthew Brost wrote:
> The idea being out-syncs can signal indicating all previous
> operations
> on the bind queue are complete. An example use case of this would be
> support for implementing vkQueueWaitForIdle easily.
> 
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>

One question below.

> ---
>  drivers/gpu/drm/xe/xe_vm.c | 30 ++++++++++++++++++------------
>  1 file changed, 18 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 49c745d53b41..0e2f3ab453ea 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -2678,7 +2678,6 @@ static int vm_bind_ioctl_check_args(struct
> xe_device *xe,
>         int i;
>  
>         if (XE_IOCTL_DBG(xe, args->extensions) ||
> -           XE_IOCTL_DBG(xe, !args->num_binds) ||
>             XE_IOCTL_DBG(xe, args->num_binds > MAX_BINDS))
>                 return -EINVAL;
>  
> @@ -2805,7 +2804,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>                         goto put_exec_queue;
>                 }
>  
> -               if (XE_IOCTL_DBG(xe, async !=
> +               if (XE_IOCTL_DBG(xe, args->num_binds && async !=
>                                  !!(q->flags &
> EXEC_QUEUE_FLAG_VM_ASYNC))) {
>                         err = -EINVAL;
>                         goto put_exec_queue;
> @@ -2819,7 +2818,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>         }
>  
>         if (!args->exec_queue_id) {
> -               if (XE_IOCTL_DBG(xe, async !=
> +               if (XE_IOCTL_DBG(xe, args->num_binds && async !=
>                                  !!(vm->flags &
> XE_VM_FLAG_ASYNC_DEFAULT))) {
>                         err = -EINVAL;
>                         goto put_vm;
> @@ -2856,16 +2855,18 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>                 }
>         }
>  
> -       bos = kzalloc(sizeof(*bos) * args->num_binds, GFP_KERNEL);
> -       if (!bos) {
> -               err = -ENOMEM;
> -               goto release_vm_lock;
> -       }
> +       if (args->num_binds) {
> +               bos = kzalloc(sizeof(*bos) * args->num_binds,
> GFP_KERNEL);
> +               if (!bos) {
> +                       err = -ENOMEM;
> +                       goto release_vm_lock;
> +               }
>  
> -       ops = kzalloc(sizeof(*ops) * args->num_binds, GFP_KERNEL);
> -       if (!ops) {
> -               err = -ENOMEM;
> -               goto release_vm_lock;
> +               ops = kzalloc(sizeof(*ops) * args->num_binds,
> GFP_KERNEL);
> +               if (!ops) {
> +                       err = -ENOMEM;
> +                       goto release_vm_lock;
> +               }
>         }
>  
>         for (i = 0; i < args->num_binds; ++i) {
> @@ -2920,6 +2921,11 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>                         goto free_syncs;
>         }
>  
> +       if (!args->num_binds) {
> +               err = -ENODATA;
> +               goto free_syncs;
> +       }
> +

Hmm. Here it appears we reject num_binds == 0? 

>         for (i = 0; i < args->num_binds; ++i) {
>                 u64 range = bind_ops[i].range;
>                 u64 addr = bind_ops[i].addr;


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

* Re: [Intel-xe] [PATCH 6/6] drm/xe: Allow num_batch_buffer == 0 in exec IOCTL
  2023-09-14 20:40 ` [Intel-xe] [PATCH 6/6] drm/xe: Allow num_batch_buffer == 0 in exec IOCTL Matthew Brost
@ 2023-09-21  9:42   ` Thomas Hellström
  2023-09-21 18:33     ` Matthew Brost
  0 siblings, 1 reply; 21+ messages in thread
From: Thomas Hellström @ 2023-09-21  9:42 UTC (permalink / raw)
  To: Matthew Brost, intel-xe

Hi, Matthew,

On Thu, 2023-09-14 at 13:40 -0700, Matthew Brost wrote:
> The idea being out-syncs can signal indicating all previous
> operations
> on the exec queue are complete. An example use case of this would be
> support for implementing vkQueueWaitForIdle easily.
> 
> v2: Don't add last_fence for VM's that do not support dma fences

Question here: Since we seem to need to add some special-casing for the
last patches here, and it seems to me that UMD could easily keep track
of the last out-fence, did we get a request for this from UMD?

What happens if this zero-batch-buffer job has a number of unmet
dependencies? Will the next job on the queue wait for those
dependencies to be met?

If patch 4 fixes a bug, Could we make 5 and 6 a separate series?

Thanks,
/Thomas


> 
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_exec.c             | 22 +++++++++++++++++++---
>  drivers/gpu/drm/xe/xe_exec_queue.c       |  5 ++++-
>  drivers/gpu/drm/xe/xe_exec_queue_types.h |  5 +++--
>  drivers/gpu/drm/xe/xe_sync.c             |  5 ++++-
>  drivers/gpu/drm/xe/xe_sync.h             |  2 +-
>  drivers/gpu/drm/xe/xe_vm.c               |  2 +-
>  6 files changed, 32 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_exec.c
> b/drivers/gpu/drm/xe/xe_exec.c
> index 28e84a0bbeb0..4666f5b145f7 100644
> --- a/drivers/gpu/drm/xe/xe_exec.c
> +++ b/drivers/gpu/drm/xe/xe_exec.c
> @@ -161,7 +161,8 @@ int xe_exec_ioctl(struct drm_device *dev, void
> *data, struct drm_file *file)
>         if (XE_IOCTL_DBG(xe, q->flags & EXEC_QUEUE_FLAG_VM))
>                 return -EINVAL;
>  
> -       if (XE_IOCTL_DBG(xe, q->width != args->num_batch_buffer))
> +       if (XE_IOCTL_DBG(xe, args->num_batch_buffer &&
> +                        q->width != args->num_batch_buffer))
>                 return -EINVAL;
>  
>         if (XE_IOCTL_DBG(xe, q->flags & EXEC_QUEUE_FLAG_BANNED)) {
> @@ -182,12 +183,13 @@ int xe_exec_ioctl(struct drm_device *dev, void
> *data, struct drm_file *file)
>         for (i = 0; i < args->num_syncs; i++) {
>                 err = xe_sync_entry_parse(xe, xef,
> &syncs[num_syncs++],
>                                           &syncs_user[i], true,
> -                                         xe_vm_no_dma_fences(vm));
> +                                         xe_vm_no_dma_fences(vm),
> +                                         !args->num_batch_buffer);
>                 if (err)
>                         goto err_syncs;
>         }
>  
> -       if (xe_exec_queue_is_parallel(q)) {
> +       if (args->num_batch_buffer && xe_exec_queue_is_parallel(q)) {
>                 err = __copy_from_user(addresses, addresses_user,
> sizeof(u64) *
>                                        q->width);
>                 if (err) {
> @@ -234,6 +236,18 @@ int xe_exec_ioctl(struct drm_device *dev, void
> *data, struct drm_file *file)
>                 goto err_exec;
>         }
>  
> +       if (!args->num_batch_buffer) {
> +               if (!xe_vm_no_dma_fences(vm)) {
> +                       struct dma_fence *fence =
> +                               xe_exec_queue_last_fence_get(q, vm);
> +
> +                       for (i = 0; i < num_syncs; i++)
> +                               xe_sync_entry_signal(&syncs[i], NULL,
> fence);
> +               }
> +
> +               goto err_exec;
> +       }
> +
>         if (xe_exec_queue_is_lr(q) && xe_exec_queue_ring_full(q)) {
>                 err = -EWOULDBLOCK;
>                 goto err_exec;
> @@ -327,6 +341,8 @@ int xe_exec_ioctl(struct drm_device *dev, void
> *data, struct drm_file *file)
>  
>         if (xe_exec_queue_is_lr(q))
>                 q->ring_ops->emit_job(job);
> +       if (!xe_vm_no_dma_fences(vm))
> +               xe_exec_queue_last_fence_set(q, vm, &job-
> >drm.s_fence->finished);
>         xe_sched_job_push(job);
>         xe_vm_reactivate_rebind(vm);
>  
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c
> b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 8722ab6ba00a..9fe91f66f776 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -964,7 +964,10 @@ int xe_exec_queue_set_property_ioctl(struct
> drm_device *dev, void *data,
>  static void xe_exec_queue_last_fence_lockdep_assert(struct
> xe_exec_queue *q,
>                                                     struct xe_vm *vm)
>  {
> -       lockdep_assert_held_write(&vm->lock);
> +       if (q->flags & EXEC_QUEUE_FLAG_VM)
> +               lockdep_assert_held_write(&vm->lock);
> +       else
> +               xe_vm_assert_held(vm);
>  }
>  
>  /**
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> index 71ed8d22a8a1..9648b2bbabc9 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> @@ -53,8 +53,9 @@ struct xe_exec_queue {
>         struct xe_hw_fence_irq *fence_irq;
>  
>         /**
> -        * @last_fence: last fence on engine, protected by vm->lock
> in write
> -        * mode if bind engine
> +        * @last_fence: last fence on exec queue, protected by vm-
> >lock in write
> +        * mode if bind exec queue, protected by dma resv lock if
> non-bind exec
> +        * queue
>          */
>         struct dma_fence *last_fence;
>  
> diff --git a/drivers/gpu/drm/xe/xe_sync.c
> b/drivers/gpu/drm/xe/xe_sync.c
> index 73ef259aa387..2461e7d4814c 100644
> --- a/drivers/gpu/drm/xe/xe_sync.c
> +++ b/drivers/gpu/drm/xe/xe_sync.c
> @@ -100,7 +100,7 @@ static void user_fence_cb(struct dma_fence
> *fence, struct dma_fence_cb *cb)
>  int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
>                         struct xe_sync_entry *sync,
>                         struct drm_xe_sync __user *sync_user,
> -                       bool exec, bool no_dma_fences)
> +                       bool exec, bool no_dma_fences, bool exec_nop)
>  {
>         struct drm_xe_sync sync_in;
>         int err;
> @@ -171,6 +171,9 @@ int xe_sync_entry_parse(struct xe_device *xe,
> struct xe_file *xef,
>                 break;
>  
>         case DRM_XE_SYNC_USER_FENCE:
> +               if (XE_IOCTL_DBG(xe, exec_nop))
> +                       return -EOPNOTSUPP;
> +
>                 if (XE_IOCTL_DBG(xe, !signal))
>                         return -EOPNOTSUPP;
>  
> diff --git a/drivers/gpu/drm/xe/xe_sync.h
> b/drivers/gpu/drm/xe/xe_sync.h
> index 30958ddc4cdc..98f02bb34637 100644
> --- a/drivers/gpu/drm/xe/xe_sync.h
> +++ b/drivers/gpu/drm/xe/xe_sync.h
> @@ -15,7 +15,7 @@ struct xe_sched_job;
>  int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
>                         struct xe_sync_entry *sync,
>                         struct drm_xe_sync __user *sync_user,
> -                       bool exec, bool compute_mode);
> +                       bool exec, bool compute_mode, bool exec_nop);
>  int xe_sync_entry_wait(struct xe_sync_entry *sync);
>  int xe_sync_entry_add_deps(struct xe_sync_entry *sync,
>                            struct xe_sched_job *job);
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 0e2f3ab453ea..c2526950cf60 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -2916,7 +2916,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> void *data, struct drm_file *file)
>         for (num_syncs = 0; num_syncs < args->num_syncs; num_syncs++)
> {
>                 err = xe_sync_entry_parse(xe, xef, &syncs[num_syncs],
>                                           &syncs_user[num_syncs],
> false,
> -                                         xe_vm_no_dma_fences(vm));
> +                                         xe_vm_no_dma_fences(vm),
> false);
>                 if (err)
>                         goto free_syncs;
>         }


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

* Re: [Intel-xe] [PATCH 5/6] drm/xe: Allow num_binds == 0 in VM bind IOCTL
  2023-09-21  9:32   ` Thomas Hellström
@ 2023-09-21 18:27     ` Matthew Brost
  0 siblings, 0 replies; 21+ messages in thread
From: Matthew Brost @ 2023-09-21 18:27 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

On Thu, Sep 21, 2023 at 11:32:17AM +0200, Thomas Hellström wrote:
> Hi, Matt!
> 
> On Thu, 2023-09-14 at 13:40 -0700, Matthew Brost wrote:
> > The idea being out-syncs can signal indicating all previous
> > operations
> > on the bind queue are complete. An example use case of this would be
> > support for implementing vkQueueWaitForIdle easily.
> > 
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> 
> One question below.
> 
> > ---
> >  drivers/gpu/drm/xe/xe_vm.c | 30 ++++++++++++++++++------------
> >  1 file changed, 18 insertions(+), 12 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> > index 49c745d53b41..0e2f3ab453ea 100644
> > --- a/drivers/gpu/drm/xe/xe_vm.c
> > +++ b/drivers/gpu/drm/xe/xe_vm.c
> > @@ -2678,7 +2678,6 @@ static int vm_bind_ioctl_check_args(struct
> > xe_device *xe,
> >         int i;
> >  
> >         if (XE_IOCTL_DBG(xe, args->extensions) ||
> > -           XE_IOCTL_DBG(xe, !args->num_binds) ||
> >             XE_IOCTL_DBG(xe, args->num_binds > MAX_BINDS))
> >                 return -EINVAL;
> >  
> > @@ -2805,7 +2804,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> > void *data, struct drm_file *file)
> >                         goto put_exec_queue;
> >                 }
> >  
> > -               if (XE_IOCTL_DBG(xe, async !=
> > +               if (XE_IOCTL_DBG(xe, args->num_binds && async !=
> >                                  !!(q->flags &
> > EXEC_QUEUE_FLAG_VM_ASYNC))) {
> >                         err = -EINVAL;
> >                         goto put_exec_queue;
> > @@ -2819,7 +2818,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> > void *data, struct drm_file *file)
> >         }
> >  
> >         if (!args->exec_queue_id) {
> > -               if (XE_IOCTL_DBG(xe, async !=
> > +               if (XE_IOCTL_DBG(xe, args->num_binds && async !=
> >                                  !!(vm->flags &
> > XE_VM_FLAG_ASYNC_DEFAULT))) {
> >                         err = -EINVAL;
> >                         goto put_vm;
> > @@ -2856,16 +2855,18 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> > void *data, struct drm_file *file)
> >                 }
> >         }
> >  
> > -       bos = kzalloc(sizeof(*bos) * args->num_binds, GFP_KERNEL);
> > -       if (!bos) {
> > -               err = -ENOMEM;
> > -               goto release_vm_lock;
> > -       }
> > +       if (args->num_binds) {
> > +               bos = kzalloc(sizeof(*bos) * args->num_binds,
> > GFP_KERNEL);
> > +               if (!bos) {
> > +                       err = -ENOMEM;
> > +                       goto release_vm_lock;
> > +               }
> >  
> > -       ops = kzalloc(sizeof(*ops) * args->num_binds, GFP_KERNEL);
> > -       if (!ops) {
> > -               err = -ENOMEM;
> > -               goto release_vm_lock;
> > +               ops = kzalloc(sizeof(*ops) * args->num_binds,
> > GFP_KERNEL);
> > +               if (!ops) {
> > +                       err = -ENOMEM;
> > +                       goto release_vm_lock;
> > +               }
> >         }
> >  
> >         for (i = 0; i < args->num_binds; ++i) {
> > @@ -2920,6 +2921,11 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> > void *data, struct drm_file *file)
> >                         goto free_syncs;
> >         }
> >  
> > +       if (!args->num_binds) {
> > +               err = -ENODATA;
> > +               goto free_syncs;
> > +       }
> > +
> 
> Hmm. Here it appears we reject num_binds == 0? 
> 

Below -ENODATA is interrupted as a non-error which signals the
out-fences on the last fence of the queue. Another example of -ENODATA
is doing an unmap operations that doesn't result in any unbinds (e.g.
unmapping a range without any mappings).

Matt

> >         for (i = 0; i < args->num_binds; ++i) {
> >                 u64 range = bind_ops[i].range;
> >                 u64 addr = bind_ops[i].addr;
> 

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

* Re: [Intel-xe] [PATCH 6/6] drm/xe: Allow num_batch_buffer == 0 in exec IOCTL
  2023-09-21  9:42   ` Thomas Hellström
@ 2023-09-21 18:33     ` Matthew Brost
  0 siblings, 0 replies; 21+ messages in thread
From: Matthew Brost @ 2023-09-21 18:33 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

On Thu, Sep 21, 2023 at 11:42:43AM +0200, Thomas Hellström wrote:
> Hi, Matthew,
> 
> On Thu, 2023-09-14 at 13:40 -0700, Matthew Brost wrote:
> > The idea being out-syncs can signal indicating all previous
> > operations
> > on the exec queue are complete. An example use case of this would be
> > support for implementing vkQueueWaitForIdle easily.
> > 
> > v2: Don't add last_fence for VM's that do not support dma fences
> 
> Question here: Since we seem to need to add some special-casing for the
> last patches here, and it seems to me that UMD could easily keep track
> of the last out-fence, did we get a request for this from UMD?
>

I believe this was a discussion between in Faith, Danilo, and Dave I
picked up on. vkQueueWaitForIdle is implemented in user space via a
dummy BB or bind I believe but since the ask was for the KMD to allow a
zero number of binds / execs to implement this.

> What happens if this zero-batch-buffer job has a number of unmet
> dependencies? Will the next job on the queue wait for those
> dependencies to be met?
>

Hmm, that is a gap. If zero-batch-buffer job has unmet dependencies it
may signal immediately.

Maybe for now we return -EINVAL if num_binds / num_exec == 0 with
in-syncs?

If we want to support this the easiest way would be a NOP job in the
queue.

> If patch 4 fixes a bug, Could we make 5 and 6 a separate series?
> 

Yes. Rodrigo is including 1-4 in his uAPI change series anyways. Will
repost 5-6 in a new series once his series is merged.

Matt

> Thanks,
> /Thomas
> 
> 
> > 
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> >  drivers/gpu/drm/xe/xe_exec.c             | 22 +++++++++++++++++++---
> >  drivers/gpu/drm/xe/xe_exec_queue.c       |  5 ++++-
> >  drivers/gpu/drm/xe/xe_exec_queue_types.h |  5 +++--
> >  drivers/gpu/drm/xe/xe_sync.c             |  5 ++++-
> >  drivers/gpu/drm/xe/xe_sync.h             |  2 +-
> >  drivers/gpu/drm/xe/xe_vm.c               |  2 +-
> >  6 files changed, 32 insertions(+), 9 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_exec.c
> > b/drivers/gpu/drm/xe/xe_exec.c
> > index 28e84a0bbeb0..4666f5b145f7 100644
> > --- a/drivers/gpu/drm/xe/xe_exec.c
> > +++ b/drivers/gpu/drm/xe/xe_exec.c
> > @@ -161,7 +161,8 @@ int xe_exec_ioctl(struct drm_device *dev, void
> > *data, struct drm_file *file)
> >         if (XE_IOCTL_DBG(xe, q->flags & EXEC_QUEUE_FLAG_VM))
> >                 return -EINVAL;
> >  
> > -       if (XE_IOCTL_DBG(xe, q->width != args->num_batch_buffer))
> > +       if (XE_IOCTL_DBG(xe, args->num_batch_buffer &&
> > +                        q->width != args->num_batch_buffer))
> >                 return -EINVAL;
> >  
> >         if (XE_IOCTL_DBG(xe, q->flags & EXEC_QUEUE_FLAG_BANNED)) {
> > @@ -182,12 +183,13 @@ int xe_exec_ioctl(struct drm_device *dev, void
> > *data, struct drm_file *file)
> >         for (i = 0; i < args->num_syncs; i++) {
> >                 err = xe_sync_entry_parse(xe, xef,
> > &syncs[num_syncs++],
> >                                           &syncs_user[i], true,
> > -                                         xe_vm_no_dma_fences(vm));
> > +                                         xe_vm_no_dma_fences(vm),
> > +                                         !args->num_batch_buffer);
> >                 if (err)
> >                         goto err_syncs;
> >         }
> >  
> > -       if (xe_exec_queue_is_parallel(q)) {
> > +       if (args->num_batch_buffer && xe_exec_queue_is_parallel(q)) {
> >                 err = __copy_from_user(addresses, addresses_user,
> > sizeof(u64) *
> >                                        q->width);
> >                 if (err) {
> > @@ -234,6 +236,18 @@ int xe_exec_ioctl(struct drm_device *dev, void
> > *data, struct drm_file *file)
> >                 goto err_exec;
> >         }
> >  
> > +       if (!args->num_batch_buffer) {
> > +               if (!xe_vm_no_dma_fences(vm)) {
> > +                       struct dma_fence *fence =
> > +                               xe_exec_queue_last_fence_get(q, vm);
> > +
> > +                       for (i = 0; i < num_syncs; i++)
> > +                               xe_sync_entry_signal(&syncs[i], NULL,
> > fence);
> > +               }
> > +
> > +               goto err_exec;
> > +       }
> > +
> >         if (xe_exec_queue_is_lr(q) && xe_exec_queue_ring_full(q)) {
> >                 err = -EWOULDBLOCK;
> >                 goto err_exec;
> > @@ -327,6 +341,8 @@ int xe_exec_ioctl(struct drm_device *dev, void
> > *data, struct drm_file *file)
> >  
> >         if (xe_exec_queue_is_lr(q))
> >                 q->ring_ops->emit_job(job);
> > +       if (!xe_vm_no_dma_fences(vm))
> > +               xe_exec_queue_last_fence_set(q, vm, &job-
> > >drm.s_fence->finished);
> >         xe_sched_job_push(job);
> >         xe_vm_reactivate_rebind(vm);
> >  
> > diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c
> > b/drivers/gpu/drm/xe/xe_exec_queue.c
> > index 8722ab6ba00a..9fe91f66f776 100644
> > --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> > +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> > @@ -964,7 +964,10 @@ int xe_exec_queue_set_property_ioctl(struct
> > drm_device *dev, void *data,
> >  static void xe_exec_queue_last_fence_lockdep_assert(struct
> > xe_exec_queue *q,
> >                                                     struct xe_vm *vm)
> >  {
> > -       lockdep_assert_held_write(&vm->lock);
> > +       if (q->flags & EXEC_QUEUE_FLAG_VM)
> > +               lockdep_assert_held_write(&vm->lock);
> > +       else
> > +               xe_vm_assert_held(vm);
> >  }
> >  
> >  /**
> > diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> > b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> > index 71ed8d22a8a1..9648b2bbabc9 100644
> > --- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
> > +++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
> > @@ -53,8 +53,9 @@ struct xe_exec_queue {
> >         struct xe_hw_fence_irq *fence_irq;
> >  
> >         /**
> > -        * @last_fence: last fence on engine, protected by vm->lock
> > in write
> > -        * mode if bind engine
> > +        * @last_fence: last fence on exec queue, protected by vm-
> > >lock in write
> > +        * mode if bind exec queue, protected by dma resv lock if
> > non-bind exec
> > +        * queue
> >          */
> >         struct dma_fence *last_fence;
> >  
> > diff --git a/drivers/gpu/drm/xe/xe_sync.c
> > b/drivers/gpu/drm/xe/xe_sync.c
> > index 73ef259aa387..2461e7d4814c 100644
> > --- a/drivers/gpu/drm/xe/xe_sync.c
> > +++ b/drivers/gpu/drm/xe/xe_sync.c
> > @@ -100,7 +100,7 @@ static void user_fence_cb(struct dma_fence
> > *fence, struct dma_fence_cb *cb)
> >  int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
> >                         struct xe_sync_entry *sync,
> >                         struct drm_xe_sync __user *sync_user,
> > -                       bool exec, bool no_dma_fences)
> > +                       bool exec, bool no_dma_fences, bool exec_nop)
> >  {
> >         struct drm_xe_sync sync_in;
> >         int err;
> > @@ -171,6 +171,9 @@ int xe_sync_entry_parse(struct xe_device *xe,
> > struct xe_file *xef,
> >                 break;
> >  
> >         case DRM_XE_SYNC_USER_FENCE:
> > +               if (XE_IOCTL_DBG(xe, exec_nop))
> > +                       return -EOPNOTSUPP;
> > +
> >                 if (XE_IOCTL_DBG(xe, !signal))
> >                         return -EOPNOTSUPP;
> >  
> > diff --git a/drivers/gpu/drm/xe/xe_sync.h
> > b/drivers/gpu/drm/xe/xe_sync.h
> > index 30958ddc4cdc..98f02bb34637 100644
> > --- a/drivers/gpu/drm/xe/xe_sync.h
> > +++ b/drivers/gpu/drm/xe/xe_sync.h
> > @@ -15,7 +15,7 @@ struct xe_sched_job;
> >  int xe_sync_entry_parse(struct xe_device *xe, struct xe_file *xef,
> >                         struct xe_sync_entry *sync,
> >                         struct drm_xe_sync __user *sync_user,
> > -                       bool exec, bool compute_mode);
> > +                       bool exec, bool compute_mode, bool exec_nop);
> >  int xe_sync_entry_wait(struct xe_sync_entry *sync);
> >  int xe_sync_entry_add_deps(struct xe_sync_entry *sync,
> >                            struct xe_sched_job *job);
> > diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> > index 0e2f3ab453ea..c2526950cf60 100644
> > --- a/drivers/gpu/drm/xe/xe_vm.c
> > +++ b/drivers/gpu/drm/xe/xe_vm.c
> > @@ -2916,7 +2916,7 @@ int xe_vm_bind_ioctl(struct drm_device *dev,
> > void *data, struct drm_file *file)
> >         for (num_syncs = 0; num_syncs < args->num_syncs; num_syncs++)
> > {
> >                 err = xe_sync_entry_parse(xe, xef, &syncs[num_syncs],
> >                                           &syncs_user[num_syncs],
> > false,
> > -                                         xe_vm_no_dma_fences(vm));
> > +                                         xe_vm_no_dma_fences(vm),
> > false);
> >                 if (err)
> >                         goto free_syncs;
> >         }
> 

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

end of thread, other threads:[~2023-09-21 18:38 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-14 20:40 [Intel-xe] [PATCH 0/6] uAPI changes to align with async binds Matthew Brost
2023-09-14 20:40 ` [Intel-xe] [PATCH 1/6] drm/xe/uapi: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension Matthew Brost
2023-09-21  8:55   ` Thomas Hellström
2023-09-14 20:40 ` [Intel-xe] [PATCH 2/6] drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR Matthew Brost
2023-09-21  8:57   ` Thomas Hellström
2023-09-14 20:40 ` [Intel-xe] [PATCH 3/6] drm/xe: Remove async worker and rework sync binds Matthew Brost
2023-09-21  9:09   ` Thomas Hellström
2023-09-14 20:40 ` [Intel-xe] [PATCH 4/6] drm/xe: Fix VM bind out-sync signaling ordering Matthew Brost
2023-09-21  9:15   ` Thomas Hellström
2023-09-14 20:40 ` [Intel-xe] [PATCH 5/6] drm/xe: Allow num_binds == 0 in VM bind IOCTL Matthew Brost
2023-09-21  9:32   ` Thomas Hellström
2023-09-21 18:27     ` Matthew Brost
2023-09-14 20:40 ` [Intel-xe] [PATCH 6/6] drm/xe: Allow num_batch_buffer == 0 in exec IOCTL Matthew Brost
2023-09-21  9:42   ` Thomas Hellström
2023-09-21 18:33     ` Matthew Brost
2023-09-14 22:22 ` [Intel-xe] ✓ CI.Patch_applied: success for uAPI changes to align with async binds Patchwork
2023-09-14 22:22 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-09-14 22:23 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-09-14 22:30 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-09-14 22:31 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
2023-09-14 22:32 ` [Intel-xe] ✓ CI.checksparse: " Patchwork

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