Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
@ 2023-07-15 15:45 Thomas Hellström
  2023-07-15 15:48 ` [Intel-xe] ✓ CI.Patch_applied: success for Documentation/gpu: Add a VM_BIND async draft document (rev3) Patchwork
                   ` (9 more replies)
  0 siblings, 10 replies; 17+ messages in thread
From: Thomas Hellström @ 2023-07-15 15:45 UTC (permalink / raw)
  To: intel-xe
  Cc: Francois Dugast, Joonas Lahtinen, linux-kernel, Oak Zeng,
	Danilo Krummrich, dri-devel, Daniel Vetter, Nirmoy Das

Add a motivation for and description of asynchronous VM_BIND operation

v2:
- Fix typos (Nirmoy Das)
- Improve the description of a memory fence (Oak Zeng)
- Add a reference to the document in the Xe RFC.
- Add pointers to sample uAPI suggestions
v3:
- Address review comments (Danilo Krummrich)
- Formatting fixes
v4:
- Address typos (Francois Dugast)
- Explain why in-fences are not allowed for VM_BIND operations for long-
  running workloads (Matthew Brost)
v5:
- More typo- and style fixing
- Further clarify the implications of disallowing in-fences for VM_BIND
  operations for long-running workloads (Matthew Brost)

Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Acked-by: Nirmoy Das <nirmoy.das@intel.com>
---
 Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
 Documentation/gpu/rfc/xe.rst            |   4 +-
 2 files changed, 173 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/gpu/drm-vm-bind-async.rst

diff --git a/Documentation/gpu/drm-vm-bind-async.rst b/Documentation/gpu/drm-vm-bind-async.rst
new file mode 100644
index 000000000000..d2b02a38198a
--- /dev/null
+++ b/Documentation/gpu/drm-vm-bind-async.rst
@@ -0,0 +1,171 @@
+====================
+Asynchronous VM_BIND
+====================
+
+Nomenclature:
+=============
+
+* ``VRAM``: On-device memory. Sometimes referred to as device local memory.
+
+* ``gpu_vm``: A GPU address space. Typically per process, but can be shared by
+  multiple processes.
+
+* ``VM_BIND``: An operation or a list of operations to modify a gpu_vm using
+  an IOCTL. The operations include mapping and unmapping system- or
+  VRAM memory.
+
+* ``syncobj``: A container that abstracts synchronization objects. The
+  synchronization objects can be either generic, like dma-fences or
+  driver specific. A syncobj typically indicates the type of the
+  underlying synchronization object.
+
+* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
+  for these before starting.
+
+* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
+  signals these when the bind operation is complete.
+
+* ``memory fence``: A synchronization object, different from a dma-fence.
+  A memory fence uses the value of a specified memory location to determine
+  signaled status. A memory fence can be awaited and signaled by both
+  the GPU and CPU. Memory fences are sometimes referred to as
+  user-fences, userspace-fences or gpu futexes and do not necessarily obey
+  the dma-fence rule of signaling within a "reasonable amount of time".
+  The kernel should thus avoid waiting for memory fences with locks held.
+
+* ``long-running workload``: A workload that may take more than the
+  current stipulated dma-fence maximum signal delay to complete and
+  which therefore needs to set the gpu_vm or the GPU execution context in
+  a certain mode that disallows completion dma-fences.
+
+* ``exec function``: An exec function is a function that revalidates all
+  affected gpu_vmas, submits a GPU command batch and registers the
+  dma_fence representing the GPU command's activity with all affected
+  dma_resvs. For completeness, although not covered by this document,
+  it's worth mentioning that an exec function may also be the
+  revalidation worker that is used by some drivers in compute /
+  long-running mode.
+
+* ``bind context``: A context identifier used for the VM_BIND
+  operation. VM_BIND operations that use the same bind context can be
+  assumed, where it matters, to complete in order of submission. No such
+  assumptions can be made for VM_BIND operations using separate bind contexts.
+
+* ``UMD``: User-mode driver.
+
+* ``KMD``: Kernel-mode driver.
+
+
+Synchronous / Asynchronous VM_BIND operation
+============================================
+
+Synchronous VM_BIND
+___________________
+With Synchronous VM_BIND, the VM_BIND operations all complete before the
+IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
+out-fences. Synchronous VM_BIND may block and wait for GPU operations;
+for example swap-in or clearing, or even previous binds.
+
+Asynchronous VM_BIND
+____________________
+Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
+IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
+before modifying the GPU page-tables, and signal the out-syncobjs when
+the modification is done in the sense that the next exec function that
+awaits for the out-syncobjs will see the change. Errors are reported
+synchronously assuming that the asynchronous part of the job never errors.
+In low-memory situations the implementation may block, performing the
+VM_BIND synchronously, because there might not be enough memory
+immediately available for preparing the asynchronous operation.
+
+If the VM_BIND IOCTL takes a list or an array of operations as an argument,
+the in-syncobjs needs to signal before the first operation starts to
+execute, and the out-syncobjs signal after the last operation
+completes. Operations in the operation list can be assumed, where it
+matters, to complete in order.
+
+Since asynchronous VM_BIND operations may use dma-fences embedded in
+out-syncobjs and internally in KMD to signal bind completion,  any
+memory fences given as VM_BIND in-fences need to be awaited
+synchronously before the VM_BIND ioctl returns, since dma-fences,
+required to signal in a reasonable amount of time, can never be made
+to depend on memory fences that don't have such a restriction.
+
+To aid in supporting user-space queues, the VM_BIND may take a bind context.
+
+The purpose of an Asynchronous VM_BIND operation is for user-mode
+drivers to be able to pipeline interleaved gpu_vm modifications and
+exec functions. For long-running workloads, such pipelining of a bind
+operation is not allowed and any in-fences need to be awaited
+synchronously. The reason for this is twofold. First, any memory
+fences gated by a long-running workload and used as in-syncobjs for the
+VM_BIND operation will need to be awaited synchronously anyway (see
+above). Second, any dma-fences used as in-syncobjs for VM_BIND
+operations for long-running workloads will not allow for pipelining
+anyway since long-running workloads don't allow for dma-fences as
+out-syncobjs, so while theoretically possible the use of them is
+questionable and should be rejected until there is a valuable use-case.
+Note that this is not a limitation imposed by dma-fence rules, but
+rather a limitation imposed to keep KMD implementation simple. It does
+not affect using dma-fences as dependencies for the long-running
+workload itself, which is allowed by dma-fence rules, but rather for
+the VM_BIND operation only.
+
+Also for VM_BINDS for long-running gpu_vms the user-mode driver should typically
+select memory fences as out-fences since that gives greater flexibility for
+the kernel mode driver to inject other operations into the bind /
+unbind operations. Like for example inserting breakpoints into batch
+buffers. The workload execution can then easily be pipelined behind
+the bind completion using the memory out-fence as the signal condition
+for a GPU semaphore embedded by UMD in the workload.
+
+Multi-operation VM_BIND IOCTL error handling and interrupts
+===========================================================
+
+The VM_BIND operations of the IOCTL may error due to lack of resources
+to complete and also due to interrupted waits. In both situations UMD
+should preferably restart the IOCTL after taking suitable action. If
+UMD has over-committed a memory resource, an -ENOSPC error will be
+returned, and UMD may then unbind resources that are not used at the
+moment and restart the IOCTL. On -EINTR, UMD should simply restart the
+IOCTL and on -ENOMEM user-space may either attempt to free known
+system memory resources or abort the operation. If aborting as a
+result of a failed operation in a list of operations, some operations
+may still have completed, and to get back to a known state, user-space
+should therefore attempt to unbind all virtual memory regions touched
+by the failing IOCTL.
+Unbind operations are guaranteed not to cause any errors due to
+resource constraints.
+In between a failed VM_BIND IOCTL and a successful restart there may
+be implementation defined restrictions on the use of the gpu_vm. For a
+description why, please see KMD implementation details under `error
+state saving`_.
+
+Sample uAPI implementations
+===========================
+Suggested uAPI implementations at the moment of writing can be found for
+the Nouveau driver `here
+<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_.
+and for the Xe driver `here
+<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_.
+
+KMD implementation details
+==========================
+
+Error state saving
+__________________
+Open: When the VM_BIND IOCTL returns an error, some or even parts of
+an operation may have been completed. If the IOCTL is restarted, in
+order to know where to restart, the KMD can either put the gpu_vm in
+an error state and save one instance of the needed restart state
+internally. In this case, KMD needs to block further modifications of
+the gpu_vm state that may cause additional failures requiring a
+restart state save, until the error has been fully resolved. If the
+uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
+struct, it could also choose to store the restart state in that cookie.
+
+The restart state may, for example, be the number of successfully
+completed operations.
+
+Easiest for UMD would of course be if KMD did a full unwind on error
+so that no error state needs to be saved.
diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
index 2516fe141db6..0f062e1346d2 100644
--- a/Documentation/gpu/rfc/xe.rst
+++ b/Documentation/gpu/rfc/xe.rst
@@ -138,8 +138,8 @@ memory fences. Ideally with helper support so people don't get it wrong in all
 possible ways.
 
 As a key measurable result, the benefits of ASYNC VM_BIND and a discussion of
-various flavors, error handling and a sample API should be documented here or in
-a separate document pointed to by this document.
+various flavors, error handling and sample API suggestions are documented in
+Documentation/gpu/drm-vm-bind-async.rst
 
 Userptr integration and vm_bind
 -------------------------------
-- 
2.40.1


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

* [Intel-xe] ✓ CI.Patch_applied: success for Documentation/gpu: Add a VM_BIND async draft document (rev3)
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
@ 2023-07-15 15:48 ` Patchwork
  2023-07-15 15:48 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-15 15:48 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: Documentation/gpu: Add a VM_BIND async draft document (rev3)
URL   : https://patchwork.freedesktop.org/series/119672/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-xe-next' with base: ===
Base commit: 0a6690458 drm/xe: Fix lockdep warning from xe_vm_madvise
=== git am output follows ===
Applying: Documentation/gpu: Add a VM_BIND async draft document



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

* [Intel-xe] ✗ CI.checkpatch: warning for Documentation/gpu: Add a VM_BIND async draft document (rev3)
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
  2023-07-15 15:48 ` [Intel-xe] ✓ CI.Patch_applied: success for Documentation/gpu: Add a VM_BIND async draft document (rev3) Patchwork
@ 2023-07-15 15:48 ` Patchwork
  2023-07-15 15:50 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-15 15:48 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: Documentation/gpu: Add a VM_BIND async draft document (rev3)
URL   : https://patchwork.freedesktop.org/series/119672/
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
c7d32770e3cd31d9fc134ce41f329b10aa33ee15
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit cfb9158c7650224e80ab13ae333bcc5260d062da
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date:   Sat Jul 15 17:45:43 2023 +0200

    Documentation/gpu: Add a VM_BIND async draft document
    
    Add a motivation for and description of asynchronous VM_BIND operation
    
    v2:
    - Fix typos (Nirmoy Das)
    - Improve the description of a memory fence (Oak Zeng)
    - Add a reference to the document in the Xe RFC.
    - Add pointers to sample uAPI suggestions
    v3:
    - Address review comments (Danilo Krummrich)
    - Formatting fixes
    v4:
    - Address typos (Francois Dugast)
    - Explain why in-fences are not allowed for VM_BIND operations for long-
      running workloads (Matthew Brost)
    v5:
    - More typo- and style fixing
    - Further clarify the implications of disallowing in-fences for VM_BIND
      operations for long-running workloads (Matthew Brost)
    
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Acked-by: Nirmoy Das <nirmoy.das@intel.com>
+ /mt/dim checkpatch 0a669045802054506d777ae41b063335c8923b6b drm-intel
cfb9158c7 Documentation/gpu: Add a VM_BIND async draft document
-:32: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#32: 
new file mode 100644

-:37: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier tag in line 1
#37: FILE: Documentation/gpu/drm-vm-bind-async.rst:1:
+====================

total: 0 errors, 2 warnings, 0 checks, 181 lines checked



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

* [Intel-xe] ✓ CI.KUnit: success for Documentation/gpu: Add a VM_BIND async draft document (rev3)
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
  2023-07-15 15:48 ` [Intel-xe] ✓ CI.Patch_applied: success for Documentation/gpu: Add a VM_BIND async draft document (rev3) Patchwork
  2023-07-15 15:48 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
@ 2023-07-15 15:50 ` Patchwork
  2023-07-15 15:53 ` [Intel-xe] ✓ CI.Build: " Patchwork
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-15 15:50 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: Documentation/gpu: Add a VM_BIND async draft document (rev3)
URL   : https://patchwork.freedesktop.org/series/119672/
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
[15:48:51] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:48:55] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[15:49:14] Starting KUnit Kernel (1/1)...
[15:49:14] ============================================================
[15:49:14] ==================== xe_bo (2 subtests) ====================
[15:49:14] [SKIPPED] xe_ccs_migrate_kunit
[15:49:14] [SKIPPED] xe_bo_evict_kunit
[15:49:14] ===================== [SKIPPED] xe_bo ======================
[15:49:14] ================== xe_dma_buf (1 subtest) ==================
[15:49:14] [SKIPPED] xe_dma_buf_kunit
[15:49:14] =================== [SKIPPED] xe_dma_buf ===================
[15:49:14] ================== xe_migrate (1 subtest) ==================
[15:49:14] [SKIPPED] xe_migrate_sanity_kunit
[15:49:14] =================== [SKIPPED] xe_migrate ===================
[15:49:14] =================== xe_pci (2 subtests) ====================
[15:49:14] [PASSED] xe_gmdid_graphics_ip
[15:49:14] [PASSED] xe_gmdid_media_ip
[15:49:14] ===================== [PASSED] xe_pci ======================
[15:49:14] ==================== xe_rtp (1 subtest) ====================
[15:49:14] ================== xe_rtp_process_tests  ===================
[15:49:14] [PASSED] coalesce-same-reg
[15:49:14] [PASSED] no-match-no-add
[15:49:14] [PASSED] no-match-no-add-multiple-rules
[15:49:14] [PASSED] two-regs-two-entries
[15:49:14] [PASSED] clr-one-set-other
[15:49:14] [PASSED] set-field
[15:49:14] [PASSED] conflict-duplicate
[15:49:14] [PASSED] conflict-not-disjoint
[15:49:14] [PASSED] conflict-reg-type
[15:49:14] ============== [PASSED] xe_rtp_process_tests ===============
[15:49:14] ===================== [PASSED] xe_rtp ======================
[15:49:14] ==================== xe_wa (1 subtest) =====================
[15:49:14] ======================== xe_wa_gt  =========================
[15:49:14] [PASSED] TIGERLAKE (B0)
[15:49:14] [PASSED] DG1 (A0)
[15:49:14] [PASSED] DG1 (B0)
[15:49:14] [PASSED] ALDERLAKE_S (A0)
[15:49:14] [PASSED] ALDERLAKE_S (B0)
[15:49:14] [PASSED] ALDERLAKE_S (C0)
[15:49:14] [PASSED] ALDERLAKE_S (D0)
[15:49:14] [PASSED] ALDERLAKE_P (A0)
[15:49:14] [PASSED] ALDERLAKE_P (B0)
[15:49:14] [PASSED] ALDERLAKE_P (C0)
[15:49:14] [PASSED] DG2_G10 (A0)
[15:49:14] [PASSED] DG2_G10 (A1)
[15:49:14] [PASSED] DG2_G10 (B0)
[15:49:14] [PASSED] DG2_G10 (C0)
[15:49:14] [PASSED] DG2_G11 (A0)
[15:49:14] [PASSED] DG2_G11 (B0)
[15:49:14] [PASSED] DG2_G11 (B1)
[15:49:14] [PASSED] DG2_G12 (A0)
[15:49:14] [PASSED] DG2_G12 (A1)
[15:49:14] [PASSED] PVC (B0)
[15:49:14] [PASSED] PVC (B1)
[15:49:14] [PASSED] PVC (C0)
[15:49:14] ==================== [PASSED] xe_wa_gt =====================
[15:49:14] ====================== [PASSED] xe_wa ======================
[15:49:14] ============================================================
[15:49:14] Testing complete. Ran 37 tests: passed: 33, skipped: 4
[15:49:14] Elapsed time: 23.853s total, 4.296s configuring, 19.388s building, 0.138s running

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

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



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

* [Intel-xe] ✓ CI.Build: success for Documentation/gpu: Add a VM_BIND async draft document (rev3)
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
                   ` (2 preceding siblings ...)
  2023-07-15 15:50 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
@ 2023-07-15 15:53 ` Patchwork
  2023-07-15 15:54 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-15 15:53 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

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



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

* [Intel-xe] ✓ CI.Hooks: success for Documentation/gpu: Add a VM_BIND async draft document (rev3)
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
                   ` (3 preceding siblings ...)
  2023-07-15 15:53 ` [Intel-xe] ✓ CI.Build: " Patchwork
@ 2023-07-15 15:54 ` Patchwork
  2023-07-15 15:55 ` [Intel-xe] ✓ CI.checksparse: " Patchwork
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-15 15:54 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: Documentation/gpu: Add a VM_BIND async draft document (rev3)
URL   : https://patchwork.freedesktop.org/series/119672/
State : success

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ pwd
+ ls -la
/workspace
total 484
drwxrwxr-x 10 1003 1003   4096 Jul 15 15:54 .
drwxr-xr-x  1 root root   4096 Jul 15 15:54 ..
-rw-rw-r--  1 1003 1003 389402 Jul 15 15:53 build.log
-rw-rw-r--  1 1003 1003   1864 Jul 15 15:48 checkpatch.log
drwxrwxr-x  5 1003 1003   4096 Jul 15 15:46 ci
drwxrwxr-x  9 1003 1003   4096 Jul 15 15:46 docker
drwxrwxr-x  8 1003 1003   4096 Jul 15 15:46 .git
-rw-rw-r--  1 1003 1003    231 Jul 15 15:48 git_apply.log
drwxrwxr-x  3 1003 1003   4096 Jul 15 15:46 .github
-rw-rw-r--  1 1003 1003    233 Jul 15 15:46 .groovylintrc.json
-rw-rw-r--  1 1003 1003     78 Jul 15 15:54 hooks.log
drwxrwxr-x 31 1003 1003   4096 Jul 15 15:53 kernel
-rw-rw-r--  1 1003 1003  11227 Jul 15 15:48 kernel.mbox
-rw-rw-r--  1 1003 1003  26091 Jul 15 15:49 kunit.log
drwxrwxr-x 44 1003 1003   4096 Jul 15 15:46 pipelines
-rw-rw-r--  1 1003 1003    793 Jul 15 15:46 README.adoc
drwxrwxr-x  3 1003 1003   4096 Jul 15 15:46 scripts
drwxrwxr-x  2 1003 1003   4096 Jul 15 15:46 .vscode
+ uname -a
Linux df1d4ac14419 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"
declare -x CI_KERNEL_IMAGES_DIR="/workspace/kernel/archive/boot"
declare -x CI_KERNEL_MODULES_DIR="/workspace/kernel/archive"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_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
cfb9158c7 Documentation/gpu: Add a VM_BIND async draft document
0a6690458 drm/xe: Fix lockdep warning from xe_vm_madvise
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64 ']'
+ BUILD_DIR=/workspace/kernel/build64
+ cd /workspace/kernel
+ grep -q -e '^CONFIG_DRM_XE_DISPLAY=[yY]' /workspace/kernel/build64/.config
+ RESTORE_DISPLAY_CONFIG=1
+ trap cleanup EXIT
+ ./scripts/config --file /workspace/kernel/build64/.config --disable CONFIG_DRM_XE_DISPLAY
++ nproc
+ make -j48 O=/workspace/kernel/build64 modules_prepare
make[1]: Entering directory '/workspace/kernel/build64'
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile
  GEN     Makefile
  UPD     include/config/kernel.release
  UPD     include/generated/compile.h
  UPD     include/generated/utsrelease.h
  DESCEND objtool
  CALL    ../scripts/checksyscalls.sh
  HOSTCC  /workspace/kernel/build64/tools/objtool/fixdep.o
  HOSTLD  /workspace/kernel/build64/tools/objtool/fixdep-in.o
  LINK    /workspace/kernel/build64/tools/objtool/fixdep
  INSTALL libsubcmd_headers
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/exec-cmd.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/help.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/pager.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/parse-options.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/run-command.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/sigchain.o
  CC      /workspace/kernel/build64/tools/objtool/libsubcmd/subcmd-config.o
  LD      /workspace/kernel/build64/tools/objtool/libsubcmd/libsubcmd-in.o
  AR      /workspace/kernel/build64/tools/objtool/libsubcmd/libsubcmd.a
  CC      /workspace/kernel/build64/tools/objtool/weak.o
  CC      /workspace/kernel/build64/tools/objtool/check.o
  CC      /workspace/kernel/build64/tools/objtool/special.o
  CC      /workspace/kernel/build64/tools/objtool/builtin-check.o
  CC      /workspace/kernel/build64/tools/objtool/elf.o
  CC      /workspace/kernel/build64/tools/objtool/objtool.o
  CC      /workspace/kernel/build64/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64/tools/objtool/libstring.o
  CC      /workspace/kernel/build64/tools/objtool/libctype.o
  CC      /workspace/kernel/build64/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64/tools/objtool/arch/x86/decode.o
  LD      /workspace/kernel/build64/tools/objtool/arch/x86/objtool-in.o
  LD      /workspace/kernel/build64/tools/objtool/objtool-in.o
  LINK    /workspace/kernel/build64/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64'
++ nproc
+ make -j48 O=/workspace/kernel/build64 M=drivers/gpu/drm/xe W=1
make[1]: Entering directory '/workspace/kernel/build64'
  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_dma_buf.o
  CC [M]  drivers/gpu/drm/xe/xe_engine.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_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_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_migrate.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_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.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
  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_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
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_guc_regs.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_gt_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_regs.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_gpu_commands.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.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
  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_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_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_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_exec.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_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_hwconfig.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_fwif.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_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_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pci.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode_api.h
  HDRTEST drivers/gpu/drm/xe/xe_platform_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pm.h
  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_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_ring_ops.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
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.mod.o
  LD [M]  drivers/gpu/drm/xe/xe.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_bo_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_wa_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_pci_test.ko
make[1]: Leaving directory '/workspace/kernel/build64'
+ cleanup
+ '[' 1 -eq 1 ']'
+ ./scripts/config --file /workspace/kernel/build64/.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] 17+ messages in thread

* [Intel-xe] ✓ CI.checksparse: success for Documentation/gpu: Add a VM_BIND async draft document (rev3)
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
                   ` (4 preceding siblings ...)
  2023-07-15 15:54 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
@ 2023-07-15 15:55 ` Patchwork
  2023-07-15 16:30 ` [Intel-xe] ○ CI.BAT: info " Patchwork
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-15 15:55 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

== Series Details ==

Series: Documentation/gpu: Add a VM_BIND async draft document (rev3)
URL   : https://patchwork.freedesktop.org/series/119672/
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 0a669045802054506d777ae41b063335c8923b6b
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] 17+ messages in thread

* [Intel-xe] ○ CI.BAT: info for Documentation/gpu: Add a VM_BIND async draft document (rev3)
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
                   ` (5 preceding siblings ...)
  2023-07-15 15:55 ` [Intel-xe] ✓ CI.checksparse: " Patchwork
@ 2023-07-15 16:30 ` Patchwork
  2023-07-19 14:24 ` [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Danilo Krummrich
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2023-07-15 16:30 UTC (permalink / raw)
  To: Thomas Hellström; +Cc: intel-xe

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

== Series Details ==

Series: Documentation/gpu: Add a VM_BIND async draft document (rev3)
URL   : https://patchwork.freedesktop.org/series/119672/
State : info

== Summary ==

Participating hosts:
bat-pvc-2
bat-atsm-2
bat-dg2-oem2
bat-adlp-7
Missing hosts results[0]:
Results: [xe-pw-119672v3](https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-119672v3/index.html)



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

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

* Re: [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
                   ` (6 preceding siblings ...)
  2023-07-15 16:30 ` [Intel-xe] ○ CI.BAT: info " Patchwork
@ 2023-07-19 14:24 ` Danilo Krummrich
  2023-08-14 10:21   ` Thomas Hellström
  2023-07-19 19:50 ` Zanoni, Paulo R
  2023-07-20 21:00 ` Matthew Brost
  9 siblings, 1 reply; 17+ messages in thread
From: Danilo Krummrich @ 2023-07-19 14:24 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: Francois Dugast, linux-kernel, dri-devel, Oak Zeng, intel-xe,
	Nirmoy Das

On 7/15/23 17:45, Thomas Hellström wrote:
> Add a motivation for and description of asynchronous VM_BIND operation
> 
> v2:
> - Fix typos (Nirmoy Das)
> - Improve the description of a memory fence (Oak Zeng)
> - Add a reference to the document in the Xe RFC.
> - Add pointers to sample uAPI suggestions
> v3:
> - Address review comments (Danilo Krummrich)
> - Formatting fixes
> v4:
> - Address typos (Francois Dugast)
> - Explain why in-fences are not allowed for VM_BIND operations for long-
>    running workloads (Matthew Brost)
> v5:
> - More typo- and style fixing
> - Further clarify the implications of disallowing in-fences for VM_BIND
>    operations for long-running workloads (Matthew Brost)
> 
> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Acked-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
>   Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
>   Documentation/gpu/rfc/xe.rst            |   4 +-
>   2 files changed, 173 insertions(+), 2 deletions(-)
>   create mode 100644 Documentation/gpu/drm-vm-bind-async.rst
> 
> diff --git a/Documentation/gpu/drm-vm-bind-async.rst b/Documentation/gpu/drm-vm-bind-async.rst
> new file mode 100644
> index 000000000000..d2b02a38198a
> --- /dev/null
> +++ b/Documentation/gpu/drm-vm-bind-async.rst
> @@ -0,0 +1,171 @@
> +====================
> +Asynchronous VM_BIND
> +====================
> +
> +Nomenclature:
> +=============
> +
> +* ``VRAM``: On-device memory. Sometimes referred to as device local memory.
> +
> +* ``gpu_vm``: A GPU address space. Typically per process, but can be shared by
> +  multiple processes.

Again, pretty obvious, but I suggest to be explicit "GPU virtual address 
space".

Also, you might want to remove "draft" from the patch subject.

Otherwise: Reviewed-by: Danilo Krummrich <dakr@redhat.com>

> +
> +* ``VM_BIND``: An operation or a list of operations to modify a gpu_vm using
> +  an IOCTL. The operations include mapping and unmapping system- or
> +  VRAM memory.
> +
> +* ``syncobj``: A container that abstracts synchronization objects. The
> +  synchronization objects can be either generic, like dma-fences or
> +  driver specific. A syncobj typically indicates the type of the
> +  underlying synchronization object.
> +
> +* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
> +  for these before starting.
> +
> +* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
> +  signals these when the bind operation is complete.
> +
> +* ``memory fence``: A synchronization object, different from a dma-fence.
> +  A memory fence uses the value of a specified memory location to determine
> +  signaled status. A memory fence can be awaited and signaled by both
> +  the GPU and CPU. Memory fences are sometimes referred to as
> +  user-fences, userspace-fences or gpu futexes and do not necessarily obey
> +  the dma-fence rule of signaling within a "reasonable amount of time".
> +  The kernel should thus avoid waiting for memory fences with locks held.
> +
> +* ``long-running workload``: A workload that may take more than the
> +  current stipulated dma-fence maximum signal delay to complete and
> +  which therefore needs to set the gpu_vm or the GPU execution context in
> +  a certain mode that disallows completion dma-fences.
> +
> +* ``exec function``: An exec function is a function that revalidates all
> +  affected gpu_vmas, submits a GPU command batch and registers the
> +  dma_fence representing the GPU command's activity with all affected
> +  dma_resvs. For completeness, although not covered by this document,
> +  it's worth mentioning that an exec function may also be the
> +  revalidation worker that is used by some drivers in compute /
> +  long-running mode.
> +
> +* ``bind context``: A context identifier used for the VM_BIND
> +  operation. VM_BIND operations that use the same bind context can be
> +  assumed, where it matters, to complete in order of submission. No such
> +  assumptions can be made for VM_BIND operations using separate bind contexts.
> +
> +* ``UMD``: User-mode driver.
> +
> +* ``KMD``: Kernel-mode driver.
> +
> +
> +Synchronous / Asynchronous VM_BIND operation
> +============================================
> +
> +Synchronous VM_BIND
> +___________________
> +With Synchronous VM_BIND, the VM_BIND operations all complete before the
> +IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
> +out-fences. Synchronous VM_BIND may block and wait for GPU operations;
> +for example swap-in or clearing, or even previous binds.
> +
> +Asynchronous VM_BIND
> +____________________
> +Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
> +IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
> +before modifying the GPU page-tables, and signal the out-syncobjs when
> +the modification is done in the sense that the next exec function that
> +awaits for the out-syncobjs will see the change. Errors are reported
> +synchronously assuming that the asynchronous part of the job never errors.
> +In low-memory situations the implementation may block, performing the
> +VM_BIND synchronously, because there might not be enough memory
> +immediately available for preparing the asynchronous operation.
> +
> +If the VM_BIND IOCTL takes a list or an array of operations as an argument,
> +the in-syncobjs needs to signal before the first operation starts to
> +execute, and the out-syncobjs signal after the last operation
> +completes. Operations in the operation list can be assumed, where it
> +matters, to complete in order.
> +
> +Since asynchronous VM_BIND operations may use dma-fences embedded in
> +out-syncobjs and internally in KMD to signal bind completion,  any
> +memory fences given as VM_BIND in-fences need to be awaited
> +synchronously before the VM_BIND ioctl returns, since dma-fences,

IOCTL

> +required to signal in a reasonable amount of time, can never be made
> +to depend on memory fences that don't have such a restriction.
> +
> +To aid in supporting user-space queues, the VM_BIND may take a bind context.
> +
> +The purpose of an Asynchronous VM_BIND operation is for user-mode
> +drivers to be able to pipeline interleaved gpu_vm modifications and
> +exec functions. For long-running workloads, such pipelining of a bind
> +operation is not allowed and any in-fences need to be awaited
> +synchronously. The reason for this is twofold. First, any memory
> +fences gated by a long-running workload and used as in-syncobjs for the
> +VM_BIND operation will need to be awaited synchronously anyway (see
> +above). Second, any dma-fences used as in-syncobjs for VM_BIND
> +operations for long-running workloads will not allow for pipelining
> +anyway since long-running workloads don't allow for dma-fences as
> +out-syncobjs, so while theoretically possible the use of them is
> +questionable and should be rejected until there is a valuable use-case.
> +Note that this is not a limitation imposed by dma-fence rules, but
> +rather a limitation imposed to keep KMD implementation simple. It does
> +not affect using dma-fences as dependencies for the long-running
> +workload itself, which is allowed by dma-fence rules, but rather for
> +the VM_BIND operation only.
> +
> +Also for VM_BINDS for long-running gpu_vms the user-mode driver should typically
> +select memory fences as out-fences since that gives greater flexibility for
> +the kernel mode driver to inject other operations into the bind /
> +unbind operations. Like for example inserting breakpoints into batch
> +buffers. The workload execution can then easily be pipelined behind
> +the bind completion using the memory out-fence as the signal condition
> +for a GPU semaphore embedded by UMD in the workload.
> +
> +Multi-operation VM_BIND IOCTL error handling and interrupts
> +===========================================================
> +
> +The VM_BIND operations of the IOCTL may error due to lack of resources
> +to complete and also due to interrupted waits. In both situations UMD
> +should preferably restart the IOCTL after taking suitable action. If
> +UMD has over-committed a memory resource, an -ENOSPC error will be
> +returned, and UMD may then unbind resources that are not used at the
> +moment and restart the IOCTL. On -EINTR, UMD should simply restart the
> +IOCTL and on -ENOMEM user-space may either attempt to free known
> +system memory resources or abort the operation. If aborting as a
> +result of a failed operation in a list of operations, some operations
> +may still have completed, and to get back to a known state, user-space
> +should therefore attempt to unbind all virtual memory regions touched
> +by the failing IOCTL.
> +Unbind operations are guaranteed not to cause any errors due to
> +resource constraints.
> +In between a failed VM_BIND IOCTL and a successful restart there may
> +be implementation defined restrictions on the use of the gpu_vm. For a
> +description why, please see KMD implementation details under `error
> +state saving`_.
> +
> +Sample uAPI implementations
> +===========================
> +Suggested uAPI implementations at the moment of writing can be found for
> +the Nouveau driver `here
> +<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_.
> +and for the Xe driver `here
> +<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_.
> +
> +KMD implementation details
> +==========================
> +
> +Error state saving
> +__________________
> +Open: When the VM_BIND IOCTL returns an error, some or even parts of
> +an operation may have been completed. If the IOCTL is restarted, in
> +order to know where to restart, the KMD can either put the gpu_vm in
> +an error state and save one instance of the needed restart state
> +internally. In this case, KMD needs to block further modifications of
> +the gpu_vm state that may cause additional failures requiring a
> +restart state save, until the error has been fully resolved. If the
> +uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
> +struct, it could also choose to store the restart state in that cookie.
> +
> +The restart state may, for example, be the number of successfully
> +completed operations.
> +
> +Easiest for UMD would of course be if KMD did a full unwind on error
> +so that no error state needs to be saved.
> diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
> index 2516fe141db6..0f062e1346d2 100644
> --- a/Documentation/gpu/rfc/xe.rst
> +++ b/Documentation/gpu/rfc/xe.rst
> @@ -138,8 +138,8 @@ memory fences. Ideally with helper support so people don't get it wrong in all
>   possible ways.
>   
>   As a key measurable result, the benefits of ASYNC VM_BIND and a discussion of
> -various flavors, error handling and a sample API should be documented here or in
> -a separate document pointed to by this document.
> +various flavors, error handling and sample API suggestions are documented in
> +Documentation/gpu/drm-vm-bind-async.rst
>   
>   Userptr integration and vm_bind
>   -------------------------------


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

* Re: [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
                   ` (7 preceding siblings ...)
  2023-07-19 14:24 ` [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Danilo Krummrich
@ 2023-07-19 19:50 ` Zanoni, Paulo R
  2023-08-04 20:02   ` Rodrigo Vivi
  2023-07-20 21:00 ` Matthew Brost
  9 siblings, 1 reply; 17+ messages in thread
From: Zanoni, Paulo R @ 2023-07-19 19:50 UTC (permalink / raw)
  To: intel-xe@lists.freedesktop.org, thomas.hellstrom@linux.intel.com
  Cc: Dugast, Francois, joonas.lahtinen@linux.intel.com,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	dakr@redhat.com, Zeng,  Oak, daniel@ffwll.ch, Das, Nirmoy

On Sat, 2023-07-15 at 17:45 +0200, Thomas Hellström wrote:
> Add a motivation for and description of asynchronous VM_BIND operation

I think I may have missed some other documentation, which would explain
some of my questions below, so please be patient with my
misunderstandings. But here's a review from the POV of a UMD person.


> 
> v2:
> - Fix typos (Nirmoy Das)
> - Improve the description of a memory fence (Oak Zeng)
> - Add a reference to the document in the Xe RFC.
> - Add pointers to sample uAPI suggestions
> v3:
> - Address review comments (Danilo Krummrich)
> - Formatting fixes
> v4:
> - Address typos (Francois Dugast)
> - Explain why in-fences are not allowed for VM_BIND operations for long-
>   running workloads (Matthew Brost)
> v5:
> - More typo- and style fixing
> - Further clarify the implications of disallowing in-fences for VM_BIND
>   operations for long-running workloads (Matthew Brost)
> 
> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Acked-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
>  Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
>  Documentation/gpu/rfc/xe.rst            |   4 +-
>  2 files changed, 173 insertions(+), 2 deletions(-)
>  create mode 100644 Documentation/gpu/drm-vm-bind-async.rst
> 
> diff --git a/Documentation/gpu/drm-vm-bind-async.rst b/Documentation/gpu/drm-vm-bind-async.rst
> new file mode 100644
> index 000000000000..d2b02a38198a
> --- /dev/null
> +++ b/Documentation/gpu/drm-vm-bind-async.rst
> @@ -0,0 +1,171 @@
> +====================
> +Asynchronous VM_BIND
> +====================
> +
> +Nomenclature:
> +=============
> +
> +* ``VRAM``: On-device memory. Sometimes referred to as device local memory.
> +
> +* ``gpu_vm``: A GPU address space. Typically per process, but can be shared by
> +  multiple processes.
> +
> +* ``VM_BIND``: An operation or a list of operations to modify a gpu_vm using
> +  an IOCTL. The operations include mapping and unmapping system- or
> +  VRAM memory.
> +
> +* ``syncobj``: A container that abstracts synchronization objects. The
> +  synchronization objects can be either generic, like dma-fences or
> +  driver specific. A syncobj typically indicates the type of the
> +  underlying synchronization object.
> +
> +* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
> +  for these before starting.
> +
> +* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
> +  signals these when the bind operation is complete.
> +
> +* ``memory fence``: A synchronization object, different from a dma-fence.

Since you've mentioned it twice in this document already, for
completeness would you mind also giving a definition for dma-fence in
what it relates/contrasts to the rest of the text?


> +  A memory fence uses the value of a specified memory location to determine
> +  signaled status. A memory fence can be awaited and signaled by both
> +  the GPU and CPU. Memory fences are sometimes referred to as
> +  user-fences, userspace-fences or gpu futexes and do not necessarily obey
> +  the dma-fence rule of signaling within a "reasonable amount of time".
> +  The kernel should thus avoid waiting for memory fences with locks held.
> +
> +* ``long-running workload``: A workload that may take more than the
> +  current stipulated dma-fence maximum signal delay to complete and

Where is this delay defined? Is this the same as the gpuhang timer?


> +  which therefore needs to set the gpu_vm or the GPU execution context in
> +  a certain mode that disallows completion dma-fences.
> +
> +* ``exec function``: An exec function is a function that revalidates all
> +  affected gpu_vmas, submits a GPU command batch and registers the
> +  dma_fence representing the GPU command's activity with all affected
> +  dma_resvs. For completeness, although not covered by this document,
> +  it's worth mentioning that an exec function may also be the
> +  revalidation worker that is used by some drivers in compute /
> +  long-running mode.
> +
> +* ``bind context``: A context identifier used for the VM_BIND
> +  operation. VM_BIND operations that use the same bind context can be
> +  assumed, where it matters, to complete in order of submission. No such
> +  assumptions can be made for VM_BIND operations using separate bind contexts.
> +
> +* ``UMD``: User-mode driver.
> +
> +* ``KMD``: Kernel-mode driver.
> +
> +
> +Synchronous / Asynchronous VM_BIND operation
> +============================================
> +
> +Synchronous VM_BIND
> +___________________
> +With Synchronous VM_BIND, the VM_BIND operations all complete before the
> +IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
> +out-fences. Synchronous VM_BIND may block and wait for GPU operations;
> +for example swap-in or clearing, or even previous binds.
> +
> +Asynchronous VM_BIND
> +____________________
> +Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
> +IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
> +before modifying the GPU page-tables, and signal the out-syncobjs when
> +the modification is done in the sense that the next exec function that
> +awaits for the out-syncobjs will see the change. Errors are reported
> +synchronously assuming that the asynchronous part of the job never errors.

There's a small degree of uncertainty here, which I think we can
eliminate. Can you please make the text clearer? Do you mean "some
errors will be reported synchronously but some others won't"? In what
conditions can the async part error?


> +In low-memory situations the implementation may block, performing the
> +VM_BIND synchronously, because there might not be enough memory
> +immediately available for preparing the asynchronous operation.
> +
> +If the VM_BIND IOCTL takes a list or an array of operations as an argument,
> +the in-syncobjs needs to signal before the first operation starts to
> +execute, and the out-syncobjs signal after the last operation
> +completes. Operations in the operation list can be assumed, where it
> +matters, to complete in order.
> +
> +Since asynchronous VM_BIND operations may use dma-fences embedded in
> +out-syncobjs and internally in KMD to signal bind completion,  any
> +memory fences given as VM_BIND in-fences need to be awaited
> +synchronously before the VM_BIND ioctl returns, since dma-fences,
> +required to signal in a reasonable amount of time, can never be made
> +to depend on memory fences that don't have such a restriction.
> +
> +To aid in supporting user-space queues, the VM_BIND may take a bind context.
> +
> +The purpose of an Asynchronous VM_BIND operation is for user-mode
> +drivers to be able to pipeline interleaved gpu_vm modifications and
> +exec functions. For long-running workloads, such pipelining of a bind
> +operation is not allowed and any in-fences need to be awaited
> +synchronously. The reason for this is twofold. First, any memory
> +fences gated by a long-running workload and used as in-syncobjs for the
> +VM_BIND operation will need to be awaited synchronously anyway (see
> +above). Second, any dma-fences used as in-syncobjs for VM_BIND
> +operations for long-running workloads will not allow for pipelining
> +anyway since long-running workloads don't allow for dma-fences as
> +out-syncobjs, so while theoretically possible the use of them is
> +questionable and should be rejected until there is a valuable use-case.
> +Note that this is not a limitation imposed by dma-fence rules, but
> +rather a limitation imposed to keep KMD implementation simple. It does
> +not affect using dma-fences as dependencies for the long-running
> +workload itself, which is allowed by dma-fence rules, but rather for
> +the VM_BIND operation only.
> +
> +Also for VM_BINDS for long-running gpu_vms the user-mode driver should typically
> +select memory fences as out-fences since that gives greater flexibility for
> +the kernel mode driver to inject other operations into the bind /
> +unbind operations. Like for example inserting breakpoints into batch
> +buffers. The workload execution can then easily be pipelined behind
> +the bind completion using the memory out-fence as the signal condition
> +for a GPU semaphore embedded by UMD in the workload.
> +
> +Multi-operation VM_BIND IOCTL error handling and interrupts
> +===========================================================

What do you mean by multi-operation here? Is it where I pass multiple
addresses to a single vm_bind ioctl? If yes, where is the section for
single-operation errors? What differs between multi-operation and
single-operation?


> +
> +The VM_BIND operations of the IOCTL may error due to lack of resources
> +to complete and also due to interrupted waits. In both situations UMD

Earlier you talked about two classes of errors: ones that get signaled
when the ioctl returns, and ones that happen during the "asynchronous
part of the job". It seems here you're talking about the first. But
then, what about the second class of errors?



> +should preferably restart the IOCTL after taking suitable action. If
> +UMD has over-committed a memory resource, an -ENOSPC error will be
> +returned, and UMD may then unbind resources that are not used at the
> +moment and restart the IOCTL. On -EINTR, UMD should simply restart the
> +IOCTL and on -ENOMEM user-space may either attempt to free known
> +system memory resources or abort the operation. If aborting as a
> +result of a failed operation in a list of operations, some operations
> +may still have completed, and to get back to a known state, user-space
> +should therefore attempt to unbind all virtual memory regions touched
> +by the failing IOCTL.
> +Unbind operations are guaranteed not to cause any errors due to
> +resource constraints.
> +In between a failed VM_BIND IOCTL and a successful restart there may

Wait a minute, the paragraphs above just say "if things fail, try
clearing resources and then try again". What constitutes of a
"successful restart"? Is there some kind of state machine involved? Is
this talking about errors after the ioctl returns? Why don't errors
simply undo everything and leave user space in the same state as before
the ioctl?


> +be implementation defined restrictions on the use of the gpu_vm. For a
> +description why, please see KMD implementation details under `error
> +state saving`_.
> +
> +Sample uAPI implementations
> +===========================
> +Suggested uAPI implementations at the moment of writing can be found for
> +the Nouveau driver `here
> +<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_.
> +and for the Xe driver `here
> +<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_.
> +
> +KMD implementation details
> +==========================
> +
> +Error state saving
> +__________________
> +Open: When the VM_BIND IOCTL returns an error, some or even parts of
> +an operation may have been completed. If the IOCTL is restarted, in
> +order to know where to restart, the KMD can either put the gpu_vm in
> +an error state and save one instance of the needed restart state
> +internally. In this case, KMD needs to block further modifications of
> +the gpu_vm state that may cause additional failures requiring a
> +restart state save, until the error has been fully resolved. If the
> +uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
> +struct, it could also choose to store the restart state in that cookie.

Ok, so there is some kind of state machine here, but either I don't
understand or it's not fully explained. This whole "restart state" part
is confusing to me, please clarify.


> +
> +The restart state may, for example, be the number of successfully
> +completed operations.
> +
> +Easiest for UMD would of course be if KMD did a full unwind on error
> +so that no error state needs to be saved.

But does KMD do it? As a UMD person, what should I expect?


> diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
> index 2516fe141db6..0f062e1346d2 100644
> --- a/Documentation/gpu/rfc/xe.rst
> +++ b/Documentation/gpu/rfc/xe.rst
> @@ -138,8 +138,8 @@ memory fences. Ideally with helper support so people don't get it wrong in all
>  possible ways.
>  
>  As a key measurable result, the benefits of ASYNC VM_BIND and a discussion of
> -various flavors, error handling and a sample API should be documented here or in
> -a separate document pointed to by this document.
> +various flavors, error handling and sample API suggestions are documented in
> +Documentation/gpu/drm-vm-bind-async.rst
>  
>  Userptr integration and vm_bind
>  -------------------------------


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

* Re: [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
  2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
                   ` (8 preceding siblings ...)
  2023-07-19 19:50 ` Zanoni, Paulo R
@ 2023-07-20 21:00 ` Matthew Brost
  9 siblings, 0 replies; 17+ messages in thread
From: Matthew Brost @ 2023-07-20 21:00 UTC (permalink / raw)
  To: Thomas Hellström
  Cc: Francois Dugast, Joonas Lahtinen, linux-kernel, Oak Zeng,
	Danilo Krummrich, dri-devel, Daniel Vetter, intel-xe, Nirmoy Das

On Sat, Jul 15, 2023 at 05:45:43PM +0200, Thomas Hellström wrote:
> Add a motivation for and description of asynchronous VM_BIND operation
> 
> v2:
> - Fix typos (Nirmoy Das)
> - Improve the description of a memory fence (Oak Zeng)
> - Add a reference to the document in the Xe RFC.
> - Add pointers to sample uAPI suggestions
> v3:
> - Address review comments (Danilo Krummrich)
> - Formatting fixes
> v4:
> - Address typos (Francois Dugast)
> - Explain why in-fences are not allowed for VM_BIND operations for long-
>   running workloads (Matthew Brost)
> v5:
> - More typo- and style fixing
> - Further clarify the implications of disallowing in-fences for VM_BIND
>   operations for long-running workloads (Matthew Brost)
> 
> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>

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

> Acked-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
>  Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
>  Documentation/gpu/rfc/xe.rst            |   4 +-
>  2 files changed, 173 insertions(+), 2 deletions(-)
>  create mode 100644 Documentation/gpu/drm-vm-bind-async.rst
> 
> diff --git a/Documentation/gpu/drm-vm-bind-async.rst b/Documentation/gpu/drm-vm-bind-async.rst
> new file mode 100644
> index 000000000000..d2b02a38198a
> --- /dev/null
> +++ b/Documentation/gpu/drm-vm-bind-async.rst
> @@ -0,0 +1,171 @@
> +====================
> +Asynchronous VM_BIND
> +====================
> +
> +Nomenclature:
> +=============
> +
> +* ``VRAM``: On-device memory. Sometimes referred to as device local memory.
> +
> +* ``gpu_vm``: A GPU address space. Typically per process, but can be shared by
> +  multiple processes.
> +
> +* ``VM_BIND``: An operation or a list of operations to modify a gpu_vm using
> +  an IOCTL. The operations include mapping and unmapping system- or
> +  VRAM memory.
> +
> +* ``syncobj``: A container that abstracts synchronization objects. The
> +  synchronization objects can be either generic, like dma-fences or
> +  driver specific. A syncobj typically indicates the type of the
> +  underlying synchronization object.
> +
> +* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
> +  for these before starting.
> +
> +* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
> +  signals these when the bind operation is complete.
> +
> +* ``memory fence``: A synchronization object, different from a dma-fence.
> +  A memory fence uses the value of a specified memory location to determine
> +  signaled status. A memory fence can be awaited and signaled by both
> +  the GPU and CPU. Memory fences are sometimes referred to as
> +  user-fences, userspace-fences or gpu futexes and do not necessarily obey
> +  the dma-fence rule of signaling within a "reasonable amount of time".
> +  The kernel should thus avoid waiting for memory fences with locks held.
> +
> +* ``long-running workload``: A workload that may take more than the
> +  current stipulated dma-fence maximum signal delay to complete and
> +  which therefore needs to set the gpu_vm or the GPU execution context in
> +  a certain mode that disallows completion dma-fences.
> +
> +* ``exec function``: An exec function is a function that revalidates all
> +  affected gpu_vmas, submits a GPU command batch and registers the
> +  dma_fence representing the GPU command's activity with all affected
> +  dma_resvs. For completeness, although not covered by this document,
> +  it's worth mentioning that an exec function may also be the
> +  revalidation worker that is used by some drivers in compute /
> +  long-running mode.
> +
> +* ``bind context``: A context identifier used for the VM_BIND
> +  operation. VM_BIND operations that use the same bind context can be
> +  assumed, where it matters, to complete in order of submission. No such
> +  assumptions can be made for VM_BIND operations using separate bind contexts.
> +
> +* ``UMD``: User-mode driver.
> +
> +* ``KMD``: Kernel-mode driver.
> +
> +
> +Synchronous / Asynchronous VM_BIND operation
> +============================================
> +
> +Synchronous VM_BIND
> +___________________
> +With Synchronous VM_BIND, the VM_BIND operations all complete before the
> +IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
> +out-fences. Synchronous VM_BIND may block and wait for GPU operations;
> +for example swap-in or clearing, or even previous binds.
> +
> +Asynchronous VM_BIND
> +____________________
> +Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
> +IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
> +before modifying the GPU page-tables, and signal the out-syncobjs when
> +the modification is done in the sense that the next exec function that
> +awaits for the out-syncobjs will see the change. Errors are reported
> +synchronously assuming that the asynchronous part of the job never errors.
> +In low-memory situations the implementation may block, performing the
> +VM_BIND synchronously, because there might not be enough memory
> +immediately available for preparing the asynchronous operation.
> +
> +If the VM_BIND IOCTL takes a list or an array of operations as an argument,
> +the in-syncobjs needs to signal before the first operation starts to
> +execute, and the out-syncobjs signal after the last operation
> +completes. Operations in the operation list can be assumed, where it
> +matters, to complete in order.
> +
> +Since asynchronous VM_BIND operations may use dma-fences embedded in
> +out-syncobjs and internally in KMD to signal bind completion,  any
> +memory fences given as VM_BIND in-fences need to be awaited
> +synchronously before the VM_BIND ioctl returns, since dma-fences,
> +required to signal in a reasonable amount of time, can never be made
> +to depend on memory fences that don't have such a restriction.
> +
> +To aid in supporting user-space queues, the VM_BIND may take a bind context.
> +
> +The purpose of an Asynchronous VM_BIND operation is for user-mode
> +drivers to be able to pipeline interleaved gpu_vm modifications and
> +exec functions. For long-running workloads, such pipelining of a bind
> +operation is not allowed and any in-fences need to be awaited
> +synchronously. The reason for this is twofold. First, any memory
> +fences gated by a long-running workload and used as in-syncobjs for the
> +VM_BIND operation will need to be awaited synchronously anyway (see
> +above). Second, any dma-fences used as in-syncobjs for VM_BIND
> +operations for long-running workloads will not allow for pipelining
> +anyway since long-running workloads don't allow for dma-fences as
> +out-syncobjs, so while theoretically possible the use of them is
> +questionable and should be rejected until there is a valuable use-case.
> +Note that this is not a limitation imposed by dma-fence rules, but
> +rather a limitation imposed to keep KMD implementation simple. It does
> +not affect using dma-fences as dependencies for the long-running
> +workload itself, which is allowed by dma-fence rules, but rather for
> +the VM_BIND operation only.
> +
> +Also for VM_BINDS for long-running gpu_vms the user-mode driver should typically
> +select memory fences as out-fences since that gives greater flexibility for
> +the kernel mode driver to inject other operations into the bind /
> +unbind operations. Like for example inserting breakpoints into batch
> +buffers. The workload execution can then easily be pipelined behind
> +the bind completion using the memory out-fence as the signal condition
> +for a GPU semaphore embedded by UMD in the workload.
> +
> +Multi-operation VM_BIND IOCTL error handling and interrupts
> +===========================================================
> +
> +The VM_BIND operations of the IOCTL may error due to lack of resources
> +to complete and also due to interrupted waits. In both situations UMD
> +should preferably restart the IOCTL after taking suitable action. If
> +UMD has over-committed a memory resource, an -ENOSPC error will be
> +returned, and UMD may then unbind resources that are not used at the
> +moment and restart the IOCTL. On -EINTR, UMD should simply restart the
> +IOCTL and on -ENOMEM user-space may either attempt to free known
> +system memory resources or abort the operation. If aborting as a
> +result of a failed operation in a list of operations, some operations
> +may still have completed, and to get back to a known state, user-space
> +should therefore attempt to unbind all virtual memory regions touched
> +by the failing IOCTL.
> +Unbind operations are guaranteed not to cause any errors due to
> +resource constraints.
> +In between a failed VM_BIND IOCTL and a successful restart there may
> +be implementation defined restrictions on the use of the gpu_vm. For a
> +description why, please see KMD implementation details under `error
> +state saving`_.
> +
> +Sample uAPI implementations
> +===========================
> +Suggested uAPI implementations at the moment of writing can be found for
> +the Nouveau driver `here
> +<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_.
> +and for the Xe driver `here
> +<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_.
> +
> +KMD implementation details
> +==========================
> +
> +Error state saving
> +__________________
> +Open: When the VM_BIND IOCTL returns an error, some or even parts of
> +an operation may have been completed. If the IOCTL is restarted, in
> +order to know where to restart, the KMD can either put the gpu_vm in
> +an error state and save one instance of the needed restart state
> +internally. In this case, KMD needs to block further modifications of
> +the gpu_vm state that may cause additional failures requiring a
> +restart state save, until the error has been fully resolved. If the
> +uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
> +struct, it could also choose to store the restart state in that cookie.
> +
> +The restart state may, for example, be the number of successfully
> +completed operations.
> +
> +Easiest for UMD would of course be if KMD did a full unwind on error
> +so that no error state needs to be saved.
> diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
> index 2516fe141db6..0f062e1346d2 100644
> --- a/Documentation/gpu/rfc/xe.rst
> +++ b/Documentation/gpu/rfc/xe.rst
> @@ -138,8 +138,8 @@ memory fences. Ideally with helper support so people don't get it wrong in all
>  possible ways.
>  
>  As a key measurable result, the benefits of ASYNC VM_BIND and a discussion of
> -various flavors, error handling and a sample API should be documented here or in
> -a separate document pointed to by this document.
> +various flavors, error handling and sample API suggestions are documented in
> +Documentation/gpu/drm-vm-bind-async.rst
>  
>  Userptr integration and vm_bind
>  -------------------------------
> -- 
> 2.40.1
> 

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

* Re: [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
  2023-07-19 19:50 ` Zanoni, Paulo R
@ 2023-08-04 20:02   ` Rodrigo Vivi
  2023-08-04 21:30     ` Zanoni, Paulo R
  0 siblings, 1 reply; 17+ messages in thread
From: Rodrigo Vivi @ 2023-08-04 20:02 UTC (permalink / raw)
  To: Zanoni, Paulo R
  Cc: Dugast, Francois, joonas.lahtinen@linux.intel.com,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	dakr@redhat.com, daniel@ffwll.ch, intel-xe@lists.freedesktop.org,
	Das, Nirmoy

On Wed, Jul 19, 2023 at 07:50:21PM +0000, Zanoni, Paulo R wrote:
> On Sat, 2023-07-15 at 17:45 +0200, Thomas Hellström wrote:
> > Add a motivation for and description of asynchronous VM_BIND operation
> 
> I think I may have missed some other documentation, which would explain
> some of my questions below, so please be patient with my
> misunderstandings. But here's a review from the POV of a UMD person.
> 
> 
> > 
> > v2:
> > - Fix typos (Nirmoy Das)
> > - Improve the description of a memory fence (Oak Zeng)
> > - Add a reference to the document in the Xe RFC.
> > - Add pointers to sample uAPI suggestions
> > v3:
> > - Address review comments (Danilo Krummrich)
> > - Formatting fixes
> > v4:
> > - Address typos (Francois Dugast)
> > - Explain why in-fences are not allowed for VM_BIND operations for long-
> >   running workloads (Matthew Brost)
> > v5:
> > - More typo- and style fixing
> > - Further clarify the implications of disallowing in-fences for VM_BIND
> >   operations for long-running workloads (Matthew Brost)
> > 
> > Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > Acked-by: Nirmoy Das <nirmoy.das@intel.com>
> > ---
> >  Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
> >  Documentation/gpu/rfc/xe.rst            |   4 +-
> >  2 files changed, 173 insertions(+), 2 deletions(-)
> >  create mode 100644 Documentation/gpu/drm-vm-bind-async.rst
> > 
> > diff --git a/Documentation/gpu/drm-vm-bind-async.rst b/Documentation/gpu/drm-vm-bind-async.rst
> > new file mode 100644
> > index 000000000000..d2b02a38198a
> > --- /dev/null
> > +++ b/Documentation/gpu/drm-vm-bind-async.rst
> > @@ -0,0 +1,171 @@
> > +====================
> > +Asynchronous VM_BIND
> > +====================
> > +
> > +Nomenclature:
> > +=============
> > +
> > +* ``VRAM``: On-device memory. Sometimes referred to as device local memory.
> > +
> > +* ``gpu_vm``: A GPU address space. Typically per process, but can be shared by
> > +  multiple processes.
> > +
> > +* ``VM_BIND``: An operation or a list of operations to modify a gpu_vm using
> > +  an IOCTL. The operations include mapping and unmapping system- or
> > +  VRAM memory.
> > +
> > +* ``syncobj``: A container that abstracts synchronization objects. The
> > +  synchronization objects can be either generic, like dma-fences or
> > +  driver specific. A syncobj typically indicates the type of the
> > +  underlying synchronization object.
> > +
> > +* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
> > +  for these before starting.
> > +
> > +* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
> > +  signals these when the bind operation is complete.
> > +
> > +* ``memory fence``: A synchronization object, different from a dma-fence.
> 
> Since you've mentioned it twice in this document already, for
> completeness would you mind also giving a definition for dma-fence in
> what it relates/contrasts to the rest of the text?

Maybe worth a link to the dma-fence doc itself?
(somehow making sphinx to point out to driver-api/dma-buf.html#dma-fences)

But the differences are written below Paulo:

> 
> 
> > +  A memory fence uses the value of a specified memory location to determine
> > +  signaled status. A memory fence can be awaited and signaled by both
> > +  the GPU and CPU. Memory fences are sometimes referred to as
> > +  user-fences, userspace-fences or gpu futexes and do not necessarily obey
> > +  the dma-fence rule of signaling within a "reasonable amount of time".
> > +  The kernel should thus avoid waiting for memory fences with locks held.

^

> > +
> > +* ``long-running workload``: A workload that may take more than the
> > +  current stipulated dma-fence maximum signal delay to complete and
> 
> Where is this delay defined? Is this the same as the gpuhang timer?

dma-fence defines it in a very "cool" way: "reasonable amount of time":
https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html#dma-fences

so, in contrast, long-running workload is *anything* above that
"reasonable amount of time".

> 
> 
> > +  which therefore needs to set the gpu_vm or the GPU execution context in
> > +  a certain mode that disallows completion dma-fences.
> > +
> > +* ``exec function``: An exec function is a function that revalidates all
> > +  affected gpu_vmas, submits a GPU command batch and registers the
> > +  dma_fence representing the GPU command's activity with all affected
> > +  dma_resvs. For completeness, although not covered by this document,
> > +  it's worth mentioning that an exec function may also be the
> > +  revalidation worker that is used by some drivers in compute /
> > +  long-running mode.
> > +
> > +* ``bind context``: A context identifier used for the VM_BIND
> > +  operation. VM_BIND operations that use the same bind context can be
> > +  assumed, where it matters, to complete in order of submission. No such
> > +  assumptions can be made for VM_BIND operations using separate bind contexts.
> > +
> > +* ``UMD``: User-mode driver.
> > +
> > +* ``KMD``: Kernel-mode driver.
> > +
> > +
> > +Synchronous / Asynchronous VM_BIND operation
> > +============================================
> > +
> > +Synchronous VM_BIND
> > +___________________
> > +With Synchronous VM_BIND, the VM_BIND operations all complete before the
> > +IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
> > +out-fences. Synchronous VM_BIND may block and wait for GPU operations;
> > +for example swap-in or clearing, or even previous binds.
> > +
> > +Asynchronous VM_BIND
> > +____________________
> > +Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
> > +IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
> > +before modifying the GPU page-tables, and signal the out-syncobjs when
> > +the modification is done in the sense that the next exec function that
> > +awaits for the out-syncobjs will see the change. Errors are reported
> > +synchronously assuming that the asynchronous part of the job never errors.
> 
> There's a small degree of uncertainty here, which I think we can
> eliminate. Can you please make the text clearer? Do you mean "some
> errors will be reported synchronously but some others won't"? In what
> conditions can the async part error?

"assuming that the asynchronous part of the job ***never*** errors"

Errors are only reported synchronously.

> 
> 
> > +In low-memory situations the implementation may block, performing the
> > +VM_BIND synchronously, because there might not be enough memory
> > +immediately available for preparing the asynchronous operation.
> > +
> > +If the VM_BIND IOCTL takes a list or an array of operations as an argument,
> > +the in-syncobjs needs to signal before the first operation starts to
> > +execute, and the out-syncobjs signal after the last operation
> > +completes. Operations in the operation list can be assumed, where it
> > +matters, to complete in order.
> > +
> > +Since asynchronous VM_BIND operations may use dma-fences embedded in
> > +out-syncobjs and internally in KMD to signal bind completion,  any
> > +memory fences given as VM_BIND in-fences need to be awaited
> > +synchronously before the VM_BIND ioctl returns, since dma-fences,
> > +required to signal in a reasonable amount of time, can never be made
> > +to depend on memory fences that don't have such a restriction.
> > +
> > +To aid in supporting user-space queues, the VM_BIND may take a bind context.
> > +
> > +The purpose of an Asynchronous VM_BIND operation is for user-mode
> > +drivers to be able to pipeline interleaved gpu_vm modifications and
> > +exec functions. For long-running workloads, such pipelining of a bind
> > +operation is not allowed and any in-fences need to be awaited
> > +synchronously. The reason for this is twofold. First, any memory
> > +fences gated by a long-running workload and used as in-syncobjs for the
> > +VM_BIND operation will need to be awaited synchronously anyway (see
> > +above). Second, any dma-fences used as in-syncobjs for VM_BIND
> > +operations for long-running workloads will not allow for pipelining
> > +anyway since long-running workloads don't allow for dma-fences as
> > +out-syncobjs, so while theoretically possible the use of them is
> > +questionable and should be rejected until there is a valuable use-case.
> > +Note that this is not a limitation imposed by dma-fence rules, but
> > +rather a limitation imposed to keep KMD implementation simple. It does
> > +not affect using dma-fences as dependencies for the long-running
> > +workload itself, which is allowed by dma-fence rules, but rather for
> > +the VM_BIND operation only.
> > +
> > +Also for VM_BINDS for long-running gpu_vms the user-mode driver should typically
> > +select memory fences as out-fences since that gives greater flexibility for
> > +the kernel mode driver to inject other operations into the bind /
> > +unbind operations. Like for example inserting breakpoints into batch
> > +buffers. The workload execution can then easily be pipelined behind
> > +the bind completion using the memory out-fence as the signal condition
> > +for a GPU semaphore embedded by UMD in the workload.
> > +
> > +Multi-operation VM_BIND IOCTL error handling and interrupts
> > +===========================================================
> 
> What do you mean by multi-operation here? Is it where I pass multiple
> addresses to a single vm_bind ioctl? If yes, where is the section for
> single-operation errors? What differs between multi-operation and
> single-operation?

I don't feel that we need a single-operation mode, because if it failed
it failed by itself without dependency tracking. The problem comes only
on the multi-operation.

> 
> 
> > +
> > +The VM_BIND operations of the IOCTL may error due to lack of resources
> > +to complete and also due to interrupted waits. In both situations UMD
> 
> Earlier you talked about two classes of errors: ones that get signaled
> when the ioctl returns, and ones that happen during the "asynchronous
> part of the job". It seems here you're talking about the first. But
> then, what about the second class of errors?

there's only synchronously errors.

> 
> 
> 
> > +should preferably restart the IOCTL after taking suitable action. If
> > +UMD has over-committed a memory resource, an -ENOSPC error will be
> > +returned, and UMD may then unbind resources that are not used at the
> > +moment and restart the IOCTL. On -EINTR, UMD should simply restart the
> > +IOCTL and on -ENOMEM user-space may either attempt to free known
> > +system memory resources or abort the operation. If aborting as a
> > +result of a failed operation in a list of operations, some operations
> > +may still have completed, and to get back to a known state, user-space
> > +should therefore attempt to unbind all virtual memory regions touched
> > +by the failing IOCTL.
> > +Unbind operations are guaranteed not to cause any errors due to
> > +resource constraints.
> > +In between a failed VM_BIND IOCTL and a successful restart there may
> 
> Wait a minute, the paragraphs above just say "if things fail, try
> clearing resources and then try again". What constitutes of a
> "successful restart"? Is there some kind of state machine involved? Is
> this talking about errors after the ioctl returns? Why don't errors
> simply undo everything and leave user space in the same state as before
> the ioctl?

This is exactly the "Open:" documented below.

> 
> 
> > +be implementation defined restrictions on the use of the gpu_vm. For a
> > +description why, please see KMD implementation details under `error
> > +state saving`_.
> > +
> > +Sample uAPI implementations
> > +===========================
> > +Suggested uAPI implementations at the moment of writing can be found for
> > +the Nouveau driver `here
> > +<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_.
> > +and for the Xe driver `here
> > +<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_.
> > +
> > +KMD implementation details
> > +==========================
> > +
> > +Error state saving
> > +__________________
> > +Open: When the VM_BIND IOCTL returns an error, some or even parts of

     ^ Note the "Open:" here.

> > +an operation may have been completed. If the IOCTL is restarted, in
> > +order to know where to restart, the KMD can either put the gpu_vm in
> > +an error state and save one instance of the needed restart state
> > +internally. In this case, KMD needs to block further modifications of
> > +the gpu_vm state that may cause additional failures requiring a
> > +restart state save, until the error has been fully resolved. If the
> > +uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
> > +struct, it could also choose to store the restart state in that cookie.
> 
> Ok, so there is some kind of state machine here, but either I don't
> understand or it's not fully explained. This whole "restart state" part
> is confusing to me, please clarify.

It is an open that we still need to define...

> 
> 
> > +
> > +The restart state may, for example, be the number of successfully
> > +completed operations.
> > +
> > +Easiest for UMD would of course be if KMD did a full unwind on error
> > +so that no error state needs to be saved.
> 
> But does KMD do it? As a UMD person, what should I expect?\

it is an open question. I believe we should rewind all the operations
in the same ioctl. Possible? Easy? I don't know, but it would be good
to have UMD input here.

Should KMD rewind everything that succedded before the error? or
have the cookie idea and block all the further operations on that
vm unless if the cookie information is valid?

> 
> 
> > diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
> > index 2516fe141db6..0f062e1346d2 100644
> > --- a/Documentation/gpu/rfc/xe.rst
> > +++ b/Documentation/gpu/rfc/xe.rst
> > @@ -138,8 +138,8 @@ memory fences. Ideally with helper support so people don't get it wrong in all
> >  possible ways.
> >  
> >  As a key measurable result, the benefits of ASYNC VM_BIND and a discussion of
> > -various flavors, error handling and a sample API should be documented here or in
> > -a separate document pointed to by this document.
> > +various flavors, error handling and sample API suggestions are documented in
> > +Documentation/gpu/drm-vm-bind-async.rst
> >  
> >  Userptr integration and vm_bind
> >  -------------------------------
> 

While writing this answers I had to read everything again.
I agree with Danilo on ensuring we explicitly add the 'virtual'
to the gpu_vm description. And with that:

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

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

* Re: [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
  2023-08-04 20:02   ` Rodrigo Vivi
@ 2023-08-04 21:30     ` Zanoni, Paulo R
  2023-08-10 19:49       ` Thomas Hellström
  0 siblings, 1 reply; 17+ messages in thread
From: Zanoni, Paulo R @ 2023-08-04 21:30 UTC (permalink / raw)
  To: Vivi, Rodrigo
  Cc: Dugast, Francois, joonas.lahtinen@linux.intel.com,
	linux-kernel@vger.kernel.org, dakr@redhat.com,
	dri-devel@lists.freedesktop.org, daniel@ffwll.ch,
	intel-xe@lists.freedesktop.org, Das,  Nirmoy

On Fri, 2023-08-04 at 16:02 -0400, Rodrigo Vivi wrote:
> On Wed, Jul 19, 2023 at 07:50:21PM +0000, Zanoni, Paulo R wrote:
> > On Sat, 2023-07-15 at 17:45 +0200, Thomas Hellström wrote:
> > > Add a motivation for and description of asynchronous VM_BIND operation
> > 
> > I think I may have missed some other documentation, which would explain
> > some of my questions below, so please be patient with my
> > misunderstandings. But here's a review from the POV of a UMD person.
> > 
> > 
> > > 
> > > v2:
> > > - Fix typos (Nirmoy Das)
> > > - Improve the description of a memory fence (Oak Zeng)
> > > - Add a reference to the document in the Xe RFC.
> > > - Add pointers to sample uAPI suggestions
> > > v3:
> > > - Address review comments (Danilo Krummrich)
> > > - Formatting fixes
> > > v4:
> > > - Address typos (Francois Dugast)
> > > - Explain why in-fences are not allowed for VM_BIND operations for long-
> > >   running workloads (Matthew Brost)
> > > v5:
> > > - More typo- and style fixing
> > > - Further clarify the implications of disallowing in-fences for VM_BIND
> > >   operations for long-running workloads (Matthew Brost)
> > > 
> > > Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > > Acked-by: Nirmoy Das <nirmoy.das@intel.com>
> > > ---
> > >  Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
> > >  Documentation/gpu/rfc/xe.rst            |   4 +-
> > >  2 files changed, 173 insertions(+), 2 deletions(-)
> > >  create mode 100644 Documentation/gpu/drm-vm-bind-async.rst
> > > 
> > > diff --git a/Documentation/gpu/drm-vm-bind-async.rst b/Documentation/gpu/drm-vm-bind-async.rst
> > > new file mode 100644
> > > index 000000000000..d2b02a38198a
> > > --- /dev/null
> > > +++ b/Documentation/gpu/drm-vm-bind-async.rst
> > > @@ -0,0 +1,171 @@
> > > +====================
> > > +Asynchronous VM_BIND
> > > +====================
> > > +
> > > +Nomenclature:
> > > +=============
> > > +
> > > +* ``VRAM``: On-device memory. Sometimes referred to as device local memory.
> > > +
> > > +* ``gpu_vm``: A GPU address space. Typically per process, but can be shared by
> > > +  multiple processes.
> > > +
> > > +* ``VM_BIND``: An operation or a list of operations to modify a gpu_vm using
> > > +  an IOCTL. The operations include mapping and unmapping system- or
> > > +  VRAM memory.
> > > +
> > > +* ``syncobj``: A container that abstracts synchronization objects. The
> > > +  synchronization objects can be either generic, like dma-fences or
> > > +  driver specific. A syncobj typically indicates the type of the
> > > +  underlying synchronization object.
> > > +
> > > +* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
> > > +  for these before starting.
> > > +
> > > +* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
> > > +  signals these when the bind operation is complete.
> > > +
> > > +* ``memory fence``: A synchronization object, different from a dma-fence.
> > 
> > Since you've mentioned it twice in this document already, for
> > completeness would you mind also giving a definition for dma-fence in
> > what it relates/contrasts to the rest of the text?
> 
> Maybe worth a link to the dma-fence doc itself?
> (somehow making sphinx to point out to driver-api/dma-buf.html#dma-fences)
> 
> But the differences are written below Paulo:
> 
> > 
> > 
> > > +  A memory fence uses the value of a specified memory location to determine
> > > +  signaled status. A memory fence can be awaited and signaled by both
> > > +  the GPU and CPU. Memory fences are sometimes referred to as
> > > +  user-fences, userspace-fences or gpu futexes and do not necessarily obey
> > > +  the dma-fence rule of signaling within a "reasonable amount of time".
> > > +  The kernel should thus avoid waiting for memory fences with locks held.
> 
> ^
> 
> > > +
> > > +* ``long-running workload``: A workload that may take more than the
> > > +  current stipulated dma-fence maximum signal delay to complete and
> > 
> > Where is this delay defined? Is this the same as the gpuhang timer?
> 
> dma-fence defines it in a very "cool" way: "reasonable amount of time":
> https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html#dma-fences
> 
> so, in contrast, long-running workload is *anything* above that
> "reasonable amount of time".

That answers it but doesn't exactly answer it either. In practice, how
much is that "reasonable amount of time"? This is documentation, it
should avoid using vague statements or hypothetical cases. The
documentation you posted suggested this may be the same as the GPU hang
timeout, but doesn't give a definitive answer (because multiple drivers
may define it differently, apparently). In practice, what do drivers
do? As a user-space developer, how long can I wait before things fail?
Is there a way to figure out, maybe query a parameter somewhere? Which
driver waits the least? Which driver waits the most?  Is 10 seconds
"reasonable amount of time"? My grandma thinks 2 weeks is a reasonable
amount of time when waiting for things.

> 
> > 
> > 
> > > +  which therefore needs to set the gpu_vm or the GPU execution context in
> > > +  a certain mode that disallows completion dma-fences.
> > > +
> > > +* ``exec function``: An exec function is a function that revalidates all
> > > +  affected gpu_vmas, submits a GPU command batch and registers the
> > > +  dma_fence representing the GPU command's activity with all affected
> > > +  dma_resvs. For completeness, although not covered by this document,
> > > +  it's worth mentioning that an exec function may also be the
> > > +  revalidation worker that is used by some drivers in compute /
> > > +  long-running mode.
> > > +
> > > +* ``bind context``: A context identifier used for the VM_BIND
> > > +  operation. VM_BIND operations that use the same bind context can be
> > > +  assumed, where it matters, to complete in order of submission. No such
> > > +  assumptions can be made for VM_BIND operations using separate bind contexts.
> > > +
> > > +* ``UMD``: User-mode driver.
> > > +
> > > +* ``KMD``: Kernel-mode driver.
> > > +
> > > +
> > > +Synchronous / Asynchronous VM_BIND operation
> > > +============================================
> > > +
> > > +Synchronous VM_BIND
> > > +___________________
> > > +With Synchronous VM_BIND, the VM_BIND operations all complete before the
> > > +IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
> > > +out-fences. Synchronous VM_BIND may block and wait for GPU operations;
> > > +for example swap-in or clearing, or even previous binds.
> > > +
> > > +Asynchronous VM_BIND
> > > +____________________
> > > +Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
> > > +IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
> > > +before modifying the GPU page-tables, and signal the out-syncobjs when
> > > +the modification is done in the sense that the next exec function that
> > > +awaits for the out-syncobjs will see the change. Errors are reported
> > > +synchronously assuming that the asynchronous part of the job never errors.
> > 
> > There's a small degree of uncertainty here, which I think we can
> > eliminate. Can you please make the text clearer? Do you mean "some
> > errors will be reported synchronously but some others won't"? In what
> > conditions can the async part error?
> 
> "assuming that the asynchronous part of the job ***never*** errors"
> 
> Errors are only reported synchronously.

This is documentation, that "assumption" there really throws things up
in the air. We need a precise statement: can things EVER fail after the
ioctl returns? If yes, how can user space know about it and how should
it proceed? If no, please adjust the text. Is it the case that some
drivers can but others can't? Which ones?


> 
> > 
> > 
> > > +In low-memory situations the implementation may block, performing the
> > > +VM_BIND synchronously, because there might not be enough memory
> > > +immediately available for preparing the asynchronous operation.
> > > +
> > > +If the VM_BIND IOCTL takes a list or an array of operations as an argument,
> > > +the in-syncobjs needs to signal before the first operation starts to
> > > +execute, and the out-syncobjs signal after the last operation
> > > +completes. Operations in the operation list can be assumed, where it
> > > +matters, to complete in order.
> > > +
> > > +Since asynchronous VM_BIND operations may use dma-fences embedded in
> > > +out-syncobjs and internally in KMD to signal bind completion,  any
> > > +memory fences given as VM_BIND in-fences need to be awaited
> > > +synchronously before the VM_BIND ioctl returns, since dma-fences,
> > > +required to signal in a reasonable amount of time, can never be made
> > > +to depend on memory fences that don't have such a restriction.
> > > +
> > > +To aid in supporting user-space queues, the VM_BIND may take a bind context.
> > > +
> > > +The purpose of an Asynchronous VM_BIND operation is for user-mode
> > > +drivers to be able to pipeline interleaved gpu_vm modifications and
> > > +exec functions. For long-running workloads, such pipelining of a bind
> > > +operation is not allowed and any in-fences need to be awaited
> > > +synchronously. The reason for this is twofold. First, any memory
> > > +fences gated by a long-running workload and used as in-syncobjs for the
> > > +VM_BIND operation will need to be awaited synchronously anyway (see
> > > +above). Second, any dma-fences used as in-syncobjs for VM_BIND
> > > +operations for long-running workloads will not allow for pipelining
> > > +anyway since long-running workloads don't allow for dma-fences as
> > > +out-syncobjs, so while theoretically possible the use of them is
> > > +questionable and should be rejected until there is a valuable use-case.
> > > +Note that this is not a limitation imposed by dma-fence rules, but
> > > +rather a limitation imposed to keep KMD implementation simple. It does
> > > +not affect using dma-fences as dependencies for the long-running
> > > +workload itself, which is allowed by dma-fence rules, but rather for
> > > +the VM_BIND operation only.
> > > +
> > > +Also for VM_BINDS for long-running gpu_vms the user-mode driver should typically
> > > +select memory fences as out-fences since that gives greater flexibility for
> > > +the kernel mode driver to inject other operations into the bind /
> > > +unbind operations. Like for example inserting breakpoints into batch
> > > +buffers. The workload execution can then easily be pipelined behind
> > > +the bind completion using the memory out-fence as the signal condition
> > > +for a GPU semaphore embedded by UMD in the workload.
> > > +
> > > +Multi-operation VM_BIND IOCTL error handling and interrupts
> > > +===========================================================
> > 
> > What do you mean by multi-operation here? Is it where I pass multiple
> > addresses to a single vm_bind ioctl? If yes, where is the section for
> > single-operation errors? What differs between multi-operation and
> > single-operation?
> 
> I don't feel that we need a single-operation mode, because if it failed
> it failed by itself without dependency tracking. The problem comes only
> on the multi-operation.

That doesn't answer my question. It would be good if the text precisely
defined what multi-operation means, what single-operation means and how
things behave during single-operation.


> 
> > 
> > 
> > > +
> > > +The VM_BIND operations of the IOCTL may error due to lack of resources
> > > +to complete and also due to interrupted waits. In both situations UMD
> > 
> > Earlier you talked about two classes of errors: ones that get signaled
> > when the ioctl returns, and ones that happen during the "asynchronous
> > part of the job". It seems here you're talking about the first. But
> > then, what about the second class of errors?
> 
> there's only synchronously errors.

Do you mean "there is only reporting for synchronous errors" or "there
can't be errors in the asynchronous part"?

The whole description of "when things fail, the system may be left in
an undefined state where only some operations were done" doesn't seem
to align with what I would expect of a "gather all resources earlier,
fail if we can't, then do things asynchronously later in a way which
they can't fail" mode, because "some things completed and others
didn't, but you got an error code synchronously" kinda suggests that
the operation was synchronous instead of asynchronous, unless there's a
way of  traveling back in time to give the error before the ioctl
returned, or I'm way off in my interpretation.

> 
> > 
> > 
> > 
> > > +should preferably restart the IOCTL after taking suitable action. If
> > > +UMD has over-committed a memory resource, an -ENOSPC error will be
> > > +returned, and UMD may then unbind resources that are not used at the
> > > +moment and restart the IOCTL. On -EINTR, UMD should simply restart the
> > > +IOCTL and on -ENOMEM user-space may either attempt to free known
> > > +system memory resources or abort the operation. If aborting as a
> > > +result of a failed operation in a list of operations, some operations
> > > +may still have completed, and to get back to a known state, user-space
> > > +should therefore attempt to unbind all virtual memory regions touched
> > > +by the failing IOCTL.
> > > +Unbind operations are guaranteed not to cause any errors due to
> > > +resource constraints.
> > > +In between a failed VM_BIND IOCTL and a successful restart there may
> > 
> > Wait a minute, the paragraphs above just say "if things fail, try
> > clearing resources and then try again". What constitutes of a
> > "successful restart"? Is there some kind of state machine involved? Is
> > this talking about errors after the ioctl returns? Why don't errors
> > simply undo everything and leave user space in the same state as before
> > the ioctl?
> 
> This is exactly the "Open:" documented below.
> 
> > 
> > 
> > > +be implementation defined restrictions on the use of the gpu_vm. For a
> > > +description why, please see KMD implementation details under `error
> > > +state saving`_.
> > > +
> > > +Sample uAPI implementations
> > > +===========================
> > > +Suggested uAPI implementations at the moment of writing can be found for
> > > +the Nouveau driver `here
> > > +<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_.
> > > +and for the Xe driver `here
> > > +<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_.
> > > +
> > > +KMD implementation details
> > > +==========================
> > > +
> > > +Error state saving
> > > +__________________
> > > +Open: When the VM_BIND IOCTL returns an error, some or even parts of
> 
>      ^ Note the "Open:" here.
> 
> > > +an operation may have been completed. If the IOCTL is restarted, in
> > > +order to know where to restart, the KMD can either put the gpu_vm in
> > > +an error state and save one instance of the needed restart state
> > > +internally. In this case, KMD needs to block further modifications of
> > > +the gpu_vm state that may cause additional failures requiring a
> > > +restart state save, until the error has been fully resolved. If the
> > > +uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
> > > +struct, it could also choose to store the restart state in that cookie.
> > 
> > Ok, so there is some kind of state machine here, but either I don't
> > understand or it's not fully explained. This whole "restart state" part
> > is confusing to me, please clarify.
> 
> It is an open that we still need to define...
> 
> > 
> > 
> > > +
> > > +The restart state may, for example, be the number of successfully
> > > +completed operations.
> > > +
> > > +Easiest for UMD would of course be if KMD did a full unwind on error
> > > +so that no error state needs to be saved.
> > 
> > But does KMD do it? As a UMD person, what should I expect?\
> 
> it is an open question. I believe we should rewind all the operations
> in the same ioctl. Possible? Easy? I don't know, but it would be good
> to have UMD input here.

As someone who's writing user-space, for my case I don't know if
there's anything I can do besides undoing anything the Kernel has done
and return failure hoping the upper layers of the stack run some kind
of garbage colletor or just have better luck the next frame. So either
the Kernel does it for me, or I'll have to write code to do it myself,
but the Kernel is probably in a *way* better position to revert state
back to the point where it was before I issue the ioctl, assuming the
error actually happens before the ioctl returns. And if errors can
happen asynchronously, I just have no idea how to fix things, perhaps
there's not much besides doing what we do when we get a GPU hang.

You suggested errors can only happen synchronously, but if that's the
case why do we even have this apparent state machine? How does it help
to be put in a restricted state where you need to deal with unbinds in
a different way, instead of just allowing me to do unbinds normally?
What do we gain with the state machine? What case does it help?

> 
> Should KMD rewind everything that succedded before the error? or
> have the cookie idea and block all the further operations on that
> vm unless if the cookie information is valid?
> 
> > 
> > 
> > > diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
> > > index 2516fe141db6..0f062e1346d2 100644
> > > --- a/Documentation/gpu/rfc/xe.rst
> > > +++ b/Documentation/gpu/rfc/xe.rst
> > > @@ -138,8 +138,8 @@ memory fences. Ideally with helper support so people don't get it wrong in all
> > >  possible ways.
> > >  
> > >  As a key measurable result, the benefits of ASYNC VM_BIND and a discussion of
> > > -various flavors, error handling and a sample API should be documented here or in
> > > -a separate document pointed to by this document.
> > > +various flavors, error handling and sample API suggestions are documented in
> > > +Documentation/gpu/drm-vm-bind-async.rst
> > >  
> > >  Userptr integration and vm_bind
> > >  -------------------------------
> > 
> 
> While writing this answers I had to read everything again.
> I agree with Danilo on ensuring we explicitly add the 'virtual'
> to the gpu_vm description. And with that:
> 
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

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

* Re: [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
  2023-08-04 21:30     ` Zanoni, Paulo R
@ 2023-08-10 19:49       ` Thomas Hellström
  2023-08-10 20:51         ` Zanoni, Paulo R
  0 siblings, 1 reply; 17+ messages in thread
From: Thomas Hellström @ 2023-08-10 19:49 UTC (permalink / raw)
  To: Zanoni, Paulo R, Vivi, Rodrigo
  Cc: Dugast, Francois, joonas.lahtinen@linux.intel.com,
	linux-kernel@vger.kernel.org, dakr@redhat.com,
	dri-devel@lists.freedesktop.org, daniel@ffwll.ch,
	intel-xe@lists.freedesktop.org, Das, Nirmoy

Hi, Paulo.

Thanks for reviewing. I'd like to try give some answers below.

On 8/4/23 23:30, Zanoni, Paulo R wrote:
> On Fri, 2023-08-04 at 16:02 -0400, Rodrigo Vivi wrote:
>> On Wed, Jul 19, 2023 at 07:50:21PM +0000, Zanoni, Paulo R wrote:
>>> On Sat, 2023-07-15 at 17:45 +0200, Thomas Hellström wrote:
>>>> Add a motivation for and description of asynchronous VM_BIND operation
>>> I think I may have missed some other documentation, which would explain
>>> some of my questions below, so please be patient with my
>>> misunderstandings. But here's a review from the POV of a UMD person.
>>>
>>>
>>>> v2:
>>>> - Fix typos (Nirmoy Das)
>>>> - Improve the description of a memory fence (Oak Zeng)
>>>> - Add a reference to the document in the Xe RFC.
>>>> - Add pointers to sample uAPI suggestions
>>>> v3:
>>>> - Address review comments (Danilo Krummrich)
>>>> - Formatting fixes
>>>> v4:
>>>> - Address typos (Francois Dugast)
>>>> - Explain why in-fences are not allowed for VM_BIND operations for long-
>>>>    running workloads (Matthew Brost)
>>>> v5:
>>>> - More typo- and style fixing
>>>> - Further clarify the implications of disallowing in-fences for VM_BIND
>>>>    operations for long-running workloads (Matthew Brost)
>>>>
>>>> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>>> Acked-by: Nirmoy Das <nirmoy.das@intel.com>
>>>> ---
>>>>   Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
>>>>   Documentation/gpu/rfc/xe.rst            |   4 +-
>>>>   2 files changed, 173 insertions(+), 2 deletions(-)
>>>>   create mode 100644 Documentation/gpu/drm-vm-bind-async.rst
>>>>
>>>> diff --git a/Documentation/gpu/drm-vm-bind-async.rst b/Documentation/gpu/drm-vm-bind-async.rst
>>>> new file mode 100644
>>>> index 000000000000..d2b02a38198a
>>>> --- /dev/null
>>>> +++ b/Documentation/gpu/drm-vm-bind-async.rst
>>>> @@ -0,0 +1,171 @@
>>>> +====================
>>>> +Asynchronous VM_BIND
>>>> +====================
>>>> +
>>>> +Nomenclature:
>>>> +=============
>>>> +
>>>> +* ``VRAM``: On-device memory. Sometimes referred to as device local memory.
>>>> +
>>>> +* ``gpu_vm``: A GPU address space. Typically per process, but can be shared by
>>>> +  multiple processes.
>>>> +
>>>> +* ``VM_BIND``: An operation or a list of operations to modify a gpu_vm using
>>>> +  an IOCTL. The operations include mapping and unmapping system- or
>>>> +  VRAM memory.
>>>> +
>>>> +* ``syncobj``: A container that abstracts synchronization objects. The
>>>> +  synchronization objects can be either generic, like dma-fences or
>>>> +  driver specific. A syncobj typically indicates the type of the
>>>> +  underlying synchronization object.
>>>> +
>>>> +* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
>>>> +  for these before starting.
>>>> +
>>>> +* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
>>>> +  signals these when the bind operation is complete.
>>>> +
>>>> +* ``memory fence``: A synchronization object, different from a dma-fence.
>>> Since you've mentioned it twice in this document already, for
>>> completeness would you mind also giving a definition for dma-fence in
>>> what it relates/contrasts to the rest of the text?
>> Maybe worth a link to the dma-fence doc itself?
>> (somehow making sphinx to point out to driver-api/dma-buf.html#dma-fences)

Will respin and add a link to this. This document indeed assumes the 
reader is somewhat familiar with the dma-fence concept.

>>
>> But the differences are written below Paulo:
>>
>>>
>>>> +  A memory fence uses the value of a specified memory location to determine
>>>> +  signaled status. A memory fence can be awaited and signaled by both
>>>> +  the GPU and CPU. Memory fences are sometimes referred to as
>>>> +  user-fences, userspace-fences or gpu futexes and do not necessarily obey
>>>> +  the dma-fence rule of signaling within a "reasonable amount of time".
>>>> +  The kernel should thus avoid waiting for memory fences with locks held.
>> ^
>>
>>>> +
>>>> +* ``long-running workload``: A workload that may take more than the
>>>> +  current stipulated dma-fence maximum signal delay to complete and
>>> Where is this delay defined? Is this the same as the gpuhang timer?
>> dma-fence defines it in a very "cool" way: "reasonable amount of time":
>> https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html#dma-fences
>>
>> so, in contrast, long-running workload is *anything* above that
>> "reasonable amount of time".
> That answers it but doesn't exactly answer it either. In practice, how
> much is that "reasonable amount of time"? This is documentation, it
> should avoid using vague statements or hypothetical cases. The
> documentation you posted suggested this may be the same as the GPU hang
> timeout, but doesn't give a definitive answer (because multiple drivers
> may define it differently, apparently). In practice, what do drivers
> do? As a user-space developer, how long can I wait before things fail?
> Is there a way to figure out, maybe query a parameter somewhere? Which
> driver waits the least? Which driver waits the most?  Is 10 seconds
> "reasonable amount of time"? My grandma thinks 2 weeks is a reasonable
> amount of time when waiting for things.

We can't do much more than point to the dma-fence document here, since 
we can't have a vague definition in the main document which is 
overridden in another document describing something completely different.

FWIW a reasonable amount of time is ideally slightly shorter than the 
the time where a user thinks the system is hung, gets irritated and 
presses the reset button.

>
>>>
>>>> +  which therefore needs to set the gpu_vm or the GPU execution context in
>>>> +  a certain mode that disallows completion dma-fences.
>>>> +
>>>> +* ``exec function``: An exec function is a function that revalidates all
>>>> +  affected gpu_vmas, submits a GPU command batch and registers the
>>>> +  dma_fence representing the GPU command's activity with all affected
>>>> +  dma_resvs. For completeness, although not covered by this document,
>>>> +  it's worth mentioning that an exec function may also be the
>>>> +  revalidation worker that is used by some drivers in compute /
>>>> +  long-running mode.
>>>> +
>>>> +* ``bind context``: A context identifier used for the VM_BIND
>>>> +  operation. VM_BIND operations that use the same bind context can be
>>>> +  assumed, where it matters, to complete in order of submission. No such
>>>> +  assumptions can be made for VM_BIND operations using separate bind contexts.
>>>> +
>>>> +* ``UMD``: User-mode driver.
>>>> +
>>>> +* ``KMD``: Kernel-mode driver.
>>>> +
>>>> +
>>>> +Synchronous / Asynchronous VM_BIND operation
>>>> +============================================
>>>> +
>>>> +Synchronous VM_BIND
>>>> +___________________
>>>> +With Synchronous VM_BIND, the VM_BIND operations all complete before the
>>>> +IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
>>>> +out-fences. Synchronous VM_BIND may block and wait for GPU operations;
>>>> +for example swap-in or clearing, or even previous binds.
>>>> +
>>>> +Asynchronous VM_BIND
>>>> +____________________
>>>> +Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
>>>> +IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
>>>> +before modifying the GPU page-tables, and signal the out-syncobjs when
>>>> +the modification is done in the sense that the next exec function that
>>>> +awaits for the out-syncobjs will see the change. Errors are reported
>>>> +synchronously assuming that the asynchronous part of the job never errors.
>>> There's a small degree of uncertainty here, which I think we can
>>> eliminate. Can you please make the text clearer? Do you mean "some
>>> errors will be reported synchronously but some others won't"? In what
>>> conditions can the async part error?
>> "assuming that the asynchronous part of the job ***never*** errors"
>>
>> Errors are only reported synchronously.
> This is documentation, that "assumption" there really throws things up
> in the air. We need a precise statement: can things EVER fail after the
> ioctl returns? If yes, how can user space know about it and how should
> it proceed? If no, please adjust the text. Is it the case that some
> drivers can but others can't? Which ones?

I'll change that to "errors are only reported synchronously".

>
>
>>>
>>>> +In low-memory situations the implementation may block, performing the
>>>> +VM_BIND synchronously, because there might not be enough memory
>>>> +immediately available for preparing the asynchronous operation.
>>>> +
>>>> +If the VM_BIND IOCTL takes a list or an array of operations as an argument,
>>>> +the in-syncobjs needs to signal before the first operation starts to
>>>> +execute, and the out-syncobjs signal after the last operation
>>>> +completes. Operations in the operation list can be assumed, where it
>>>> +matters, to complete in order.
>>>> +
>>>> +Since asynchronous VM_BIND operations may use dma-fences embedded in
>>>> +out-syncobjs and internally in KMD to signal bind completion,  any
>>>> +memory fences given as VM_BIND in-fences need to be awaited
>>>> +synchronously before the VM_BIND ioctl returns, since dma-fences,
>>>> +required to signal in a reasonable amount of time, can never be made
>>>> +to depend on memory fences that don't have such a restriction.
>>>> +
>>>> +To aid in supporting user-space queues, the VM_BIND may take a bind context.
>>>> +
>>>> +The purpose of an Asynchronous VM_BIND operation is for user-mode
>>>> +drivers to be able to pipeline interleaved gpu_vm modifications and
>>>> +exec functions. For long-running workloads, such pipelining of a bind
>>>> +operation is not allowed and any in-fences need to be awaited
>>>> +synchronously. The reason for this is twofold. First, any memory
>>>> +fences gated by a long-running workload and used as in-syncobjs for the
>>>> +VM_BIND operation will need to be awaited synchronously anyway (see
>>>> +above). Second, any dma-fences used as in-syncobjs for VM_BIND
>>>> +operations for long-running workloads will not allow for pipelining
>>>> +anyway since long-running workloads don't allow for dma-fences as
>>>> +out-syncobjs, so while theoretically possible the use of them is
>>>> +questionable and should be rejected until there is a valuable use-case.
>>>> +Note that this is not a limitation imposed by dma-fence rules, but
>>>> +rather a limitation imposed to keep KMD implementation simple. It does
>>>> +not affect using dma-fences as dependencies for the long-running
>>>> +workload itself, which is allowed by dma-fence rules, but rather for
>>>> +the VM_BIND operation only.
>>>> +
>>>> +Also for VM_BINDS for long-running gpu_vms the user-mode driver should typically
>>>> +select memory fences as out-fences since that gives greater flexibility for
>>>> +the kernel mode driver to inject other operations into the bind /
>>>> +unbind operations. Like for example inserting breakpoints into batch
>>>> +buffers. The workload execution can then easily be pipelined behind
>>>> +the bind completion using the memory out-fence as the signal condition
>>>> +for a GPU semaphore embedded by UMD in the workload.
>>>> +
>>>> +Multi-operation VM_BIND IOCTL error handling and interrupts
>>>> +===========================================================
>>> What do you mean by multi-operation here? Is it where I pass multiple
>>> addresses to a single vm_bind ioctl? If yes, where is the section for
>>> single-operation errors? What differs between multi-operation and
>>> single-operation?
>> I don't feel that we need a single-operation mode, because if it failed
>> it failed by itself without dependency tracking. The problem comes only
>> on the multi-operation.
> That doesn't answer my question. It would be good if the text precisely
> defined what multi-operation means, what single-operation means and how
> things behave during single-operation.

Will improve on this. Multi-operation is where you combine multiple 
VM_BIND operations in a single IOCTL, rather than supporting just a 
single operation per IOCTL. Will double-check if any of the drivers 
support the latter.


>>>
>>>> +
>>>> +The VM_BIND operations of the IOCTL may error due to lack of resources
>>>> +to complete and also due to interrupted waits. In both situations UMD
>>> Earlier you talked about two classes of errors: ones that get signaled
>>> when the ioctl returns, and ones that happen during the "asynchronous
>>> part of the job". It seems here you're talking about the first. But
>>> then, what about the second class of errors?
>> there's only synchronously errors.
> Do you mean "there is only reporting for synchronous errors" or "there
> can't be errors in the asynchronous part"?
>
> The whole description of "when things fail, the system may be left in
> an undefined state where only some operations were done" doesn't seem
> to align with what I would expect of a "gather all resources earlier,
> fail if we can't, then do things asynchronously later in a way which
> they can't fail" mode, because "some things completed and others
> didn't, but you got an error code synchronously" kinda suggests that
> the operation was synchronous instead of asynchronous, unless there's a
> way of  traveling back in time to give the error before the ioctl
> returned, or I'm way off in my interpretation.

This all boils down to the "multiple operations" IOCTL. Say that we do 
100 vm binds in a single IOCTL. Implementation-wise we could do either

1) Gather all resources needed for all 100 operations.
2) Submit for execution.

OR

for all 100 operations do
     gather all resources for a single operation
     submit the single operation for execution
end

The text deals with the latter case. If 99 operations already were 
submitted without an error, but we error on the 100th.

>
>>>
>>>
>>>> +should preferably restart the IOCTL after taking suitable action. If
>>>> +UMD has over-committed a memory resource, an -ENOSPC error will be
>>>> +returned, and UMD may then unbind resources that are not used at the
>>>> +moment and restart the IOCTL. On -EINTR, UMD should simply restart the
>>>> +IOCTL and on -ENOMEM user-space may either attempt to free known
>>>> +system memory resources or abort the operation. If aborting as a
>>>> +result of a failed operation in a list of operations, some operations
>>>> +may still have completed, and to get back to a known state, user-space
>>>> +should therefore attempt to unbind all virtual memory regions touched
>>>> +by the failing IOCTL.
>>>> +Unbind operations are guaranteed not to cause any errors due to
>>>> +resource constraints.
>>>> +In between a failed VM_BIND IOCTL and a successful restart there may
>>> Wait a minute, the paragraphs above just say "if things fail, try
>>> clearing resources and then try again". What constitutes of a
>>> "successful restart"? Is there some kind of state machine involved? Is
>>> this talking about errors after the ioctl returns? Why don't errors
>>> simply undo everything and leave user space in the same state as before
>>> the ioctl?
>> This is exactly the "Open:" documented below.
>>
>>>
>>>> +be implementation defined restrictions on the use of the gpu_vm. For a
>>>> +description why, please see KMD implementation details under `error
>>>> +state saving`_.
>>>> +
>>>> +Sample uAPI implementations
>>>> +===========================
>>>> +Suggested uAPI implementations at the moment of writing can be found for
>>>> +the Nouveau driver `here
>>>> +<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_.
>>>> +and for the Xe driver `here
>>>> +<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_.
>>>> +
>>>> +KMD implementation details
>>>> +==========================
>>>> +
>>>> +Error state saving
>>>> +__________________
>>>> +Open: When the VM_BIND IOCTL returns an error, some or even parts of
>>       ^ Note the "Open:" here.
>>
>>>> +an operation may have been completed. If the IOCTL is restarted, in
>>>> +order to know where to restart, the KMD can either put the gpu_vm in
>>>> +an error state and save one instance of the needed restart state
>>>> +internally. In this case, KMD needs to block further modifications of
>>>> +the gpu_vm state that may cause additional failures requiring a
>>>> +restart state save, until the error has been fully resolved. If the
>>>> +uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
>>>> +struct, it could also choose to store the restart state in that cookie.
>>> Ok, so there is some kind of state machine here, but either I don't
>>> understand or it's not fully explained. This whole "restart state" part
>>> is confusing to me, please clarify.
>> It is an open that we still need to define...
>>
>>>
>>>> +
>>>> +The restart state may, for example, be the number of successfully
>>>> +completed operations.
>>>> +
>>>> +Easiest for UMD would of course be if KMD did a full unwind on error
>>>> +so that no error state needs to be saved.
>>> But does KMD do it? As a UMD person, what should I expect?\
>> it is an open question. I believe we should rewind all the operations
>> in the same ioctl. Possible? Easy? I don't know, but it would be good
>> to have UMD input here.
> As someone who's writing user-space, for my case I don't know if
> there's anything I can do besides undoing anything the Kernel has done
> and return failure hoping the upper layers of the stack run some kind
> of garbage colletor or just have better luck the next frame. So either
> the Kernel does it for me, or I'll have to write code to do it myself,
> but the Kernel is probably in a *way* better position to revert state
> back to the point where it was before I issue the ioctl, assuming the
> error actually happens before the ioctl returns. And if errors can
> happen asynchronously, I just have no idea how to fix things, perhaps
> there's not much besides doing what we do when we get a GPU hang.
>
> You suggested errors can only happen synchronously, but if that's the
> case why do we even have this apparent state machine? How does it help
> to be put in a restricted state where you need to deal with unbinds in
> a different way, instead of just allowing me to do unbinds normally?
> What do we gain with the state machine? What case does it help?

Personally, I'm for KMD rolling back everything on error. Nouveau does 
that. Benefits it gives a clean understandable user-interface without 
ever putting the vm in an error state the UMD needs to know about. There 
are two main drawbacks, though.

1) Gathering resources for VM_BIND operations may take time and 
restarting will be faster than rolling back and retry.
2) It will be a bit painful to implement KMD rollbacks in Xe. A 
substantial code refactoring.

>
>> Should KMD rewind everything that succedded before the error? or
>> have the cookie idea and block all the further operations on that
>> vm unless if the cookie information is valid?
>>
>>>
>>>> diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
>>>> index 2516fe141db6..0f062e1346d2 100644
>>>> --- a/Documentation/gpu/rfc/xe.rst
>>>> +++ b/Documentation/gpu/rfc/xe.rst
>>>> @@ -138,8 +138,8 @@ memory fences. Ideally with helper support so people don't get it wrong in all
>>>>   possible ways.
>>>>   
>>>>   As a key measurable result, the benefits of ASYNC VM_BIND and a discussion of
>>>> -various flavors, error handling and a sample API should be documented here or in
>>>> -a separate document pointed to by this document.
>>>> +various flavors, error handling and sample API suggestions are documented in
>>>> +Documentation/gpu/drm-vm-bind-async.rst
>>>>   
>>>>   Userptr integration and vm_bind
>>>>   -------------------------------
>> While writing this answers I had to read everything again.
>> I agree with Danilo on ensuring we explicitly add the 'virtual'

I'll double-check on that as well.

Thanks,

Thomas


>> to the gpu_vm description. And with that:
>>
>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

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

* Re: [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
  2023-08-10 19:49       ` Thomas Hellström
@ 2023-08-10 20:51         ` Zanoni, Paulo R
  2023-08-11  9:58           ` Thomas Hellström
  0 siblings, 1 reply; 17+ messages in thread
From: Zanoni, Paulo R @ 2023-08-10 20:51 UTC (permalink / raw)
  To: Vivi, Rodrigo, thomas.hellstrom@linux.intel.com
  Cc: Dugast, Francois, joonas.lahtinen@linux.intel.com,
	linux-kernel@vger.kernel.org, dakr@redhat.com,
	dri-devel@lists.freedesktop.org, daniel@ffwll.ch,
	intel-xe@lists.freedesktop.org, Das,  Nirmoy

On Thu, 2023-08-10 at 21:49 +0200, Thomas Hellström wrote:
> Hi, Paulo.
> 
> Thanks for reviewing. I'd like to try give some answers below.
> 
> On 8/4/23 23:30, Zanoni, Paulo R wrote:
> > On Fri, 2023-08-04 at 16:02 -0400, Rodrigo Vivi wrote:
> > > On Wed, Jul 19, 2023 at 07:50:21PM +0000, Zanoni, Paulo R wrote:
> > > > On Sat, 2023-07-15 at 17:45 +0200, Thomas Hellström wrote:
> > > > > Add a motivation for and description of asynchronous VM_BIND operation
> > > > I think I may have missed some other documentation, which would explain
> > > > some of my questions below, so please be patient with my
> > > > misunderstandings. But here's a review from the POV of a UMD person.
> > > > 
> > > > 
> > > > > v2:
> > > > > - Fix typos (Nirmoy Das)
> > > > > - Improve the description of a memory fence (Oak Zeng)
> > > > > - Add a reference to the document in the Xe RFC.
> > > > > - Add pointers to sample uAPI suggestions
> > > > > v3:
> > > > > - Address review comments (Danilo Krummrich)
> > > > > - Formatting fixes
> > > > > v4:
> > > > > - Address typos (Francois Dugast)
> > > > > - Explain why in-fences are not allowed for VM_BIND operations for long-
> > > > >    running workloads (Matthew Brost)
> > > > > v5:
> > > > > - More typo- and style fixing
> > > > > - Further clarify the implications of disallowing in-fences for VM_BIND
> > > > >    operations for long-running workloads (Matthew Brost)
> > > > > 
> > > > > Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > > > > Acked-by: Nirmoy Das <nirmoy.das@intel.com>
> > > > > ---
> > > > >   Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
> > > > >   Documentation/gpu/rfc/xe.rst            |   4 +-
> > > > >   2 files changed, 173 insertions(+), 2 deletions(-)
> > > > >   create mode 100644 Documentation/gpu/drm-vm-bind-async.rst
> > > > > 
> > > > > diff --git a/Documentation/gpu/drm-vm-bind-async.rst b/Documentation/gpu/drm-vm-bind-async.rst
> > > > > new file mode 100644
> > > > > index 000000000000..d2b02a38198a
> > > > > --- /dev/null
> > > > > +++ b/Documentation/gpu/drm-vm-bind-async.rst
> > > > > @@ -0,0 +1,171 @@
> > > > > +====================
> > > > > +Asynchronous VM_BIND
> > > > > +====================
> > > > > +
> > > > > +Nomenclature:
> > > > > +=============
> > > > > +
> > > > > +* ``VRAM``: On-device memory. Sometimes referred to as device local memory.
> > > > > +
> > > > > +* ``gpu_vm``: A GPU address space. Typically per process, but can be shared by
> > > > > +  multiple processes.
> > > > > +
> > > > > +* ``VM_BIND``: An operation or a list of operations to modify a gpu_vm using
> > > > > +  an IOCTL. The operations include mapping and unmapping system- or
> > > > > +  VRAM memory.
> > > > > +
> > > > > +* ``syncobj``: A container that abstracts synchronization objects. The
> > > > > +  synchronization objects can be either generic, like dma-fences or
> > > > > +  driver specific. A syncobj typically indicates the type of the
> > > > > +  underlying synchronization object.
> > > > > +
> > > > > +* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
> > > > > +  for these before starting.
> > > > > +
> > > > > +* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
> > > > > +  signals these when the bind operation is complete.
> > > > > +
> > > > > +* ``memory fence``: A synchronization object, different from a dma-fence.
> > > > Since you've mentioned it twice in this document already, for
> > > > completeness would you mind also giving a definition for dma-fence in
> > > > what it relates/contrasts to the rest of the text?
> > > Maybe worth a link to the dma-fence doc itself?
> > > (somehow making sphinx to point out to driver-api/dma-buf.html#dma-fences)
> 
> Will respin and add a link to this. This document indeed assumes the 
> reader is somewhat familiar with the dma-fence concept.
> 
> > > 
> > > But the differences are written below Paulo:
> > > 
> > > > 
> > > > > +  A memory fence uses the value of a specified memory location to determine
> > > > > +  signaled status. A memory fence can be awaited and signaled by both
> > > > > +  the GPU and CPU. Memory fences are sometimes referred to as
> > > > > +  user-fences, userspace-fences or gpu futexes and do not necessarily obey
> > > > > +  the dma-fence rule of signaling within a "reasonable amount of time".
> > > > > +  The kernel should thus avoid waiting for memory fences with locks held.
> > > ^
> > > 
> > > > > +
> > > > > +* ``long-running workload``: A workload that may take more than the
> > > > > +  current stipulated dma-fence maximum signal delay to complete and
> > > > Where is this delay defined? Is this the same as the gpuhang timer?
> > > dma-fence defines it in a very "cool" way: "reasonable amount of time":
> > > https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html#dma-fences
> > > 
> > > so, in contrast, long-running workload is *anything* above that
> > > "reasonable amount of time".
> > That answers it but doesn't exactly answer it either. In practice, how
> > much is that "reasonable amount of time"? This is documentation, it
> > should avoid using vague statements or hypothetical cases. The
> > documentation you posted suggested this may be the same as the GPU hang
> > timeout, but doesn't give a definitive answer (because multiple drivers
> > may define it differently, apparently). In practice, what do drivers
> > do? As a user-space developer, how long can I wait before things fail?
> > Is there a way to figure out, maybe query a parameter somewhere? Which
> > driver waits the least? Which driver waits the most?  Is 10 seconds
> > "reasonable amount of time"? My grandma thinks 2 weeks is a reasonable
> > amount of time when waiting for things.
> 
> We can't do much more than point to the dma-fence document here, since 
> we can't have a vague definition in the main document which is 
> overridden in another document describing something completely different.
> 
> FWIW a reasonable amount of time is ideally slightly shorter than the 
> the time where a user thinks the system is hung, gets irritated and 
> presses the reset button.

But there's gotta be a timeout value programmed somewhere that you can
at least give us as an example? This *is* related to the GPU hang
timeout in the Intel drivers, right?

> 
> > 
> > > > 
> > > > > +  which therefore needs to set the gpu_vm or the GPU execution context in
> > > > > +  a certain mode that disallows completion dma-fences.
> > > > > +
> > > > > +* ``exec function``: An exec function is a function that revalidates all
> > > > > +  affected gpu_vmas, submits a GPU command batch and registers the
> > > > > +  dma_fence representing the GPU command's activity with all affected
> > > > > +  dma_resvs. For completeness, although not covered by this document,
> > > > > +  it's worth mentioning that an exec function may also be the
> > > > > +  revalidation worker that is used by some drivers in compute /
> > > > > +  long-running mode.
> > > > > +
> > > > > +* ``bind context``: A context identifier used for the VM_BIND
> > > > > +  operation. VM_BIND operations that use the same bind context can be
> > > > > +  assumed, where it matters, to complete in order of submission. No such
> > > > > +  assumptions can be made for VM_BIND operations using separate bind contexts.
> > > > > +
> > > > > +* ``UMD``: User-mode driver.
> > > > > +
> > > > > +* ``KMD``: Kernel-mode driver.
> > > > > +
> > > > > +
> > > > > +Synchronous / Asynchronous VM_BIND operation
> > > > > +============================================
> > > > > +
> > > > > +Synchronous VM_BIND
> > > > > +___________________
> > > > > +With Synchronous VM_BIND, the VM_BIND operations all complete before the
> > > > > +IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
> > > > > +out-fences. Synchronous VM_BIND may block and wait for GPU operations;
> > > > > +for example swap-in or clearing, or even previous binds.
> > > > > +
> > > > > +Asynchronous VM_BIND
> > > > > +____________________
> > > > > +Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
> > > > > +IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
> > > > > +before modifying the GPU page-tables, and signal the out-syncobjs when
> > > > > +the modification is done in the sense that the next exec function that
> > > > > +awaits for the out-syncobjs will see the change. Errors are reported
> > > > > +synchronously assuming that the asynchronous part of the job never errors.
> > > > There's a small degree of uncertainty here, which I think we can
> > > > eliminate. Can you please make the text clearer? Do you mean "some
> > > > errors will be reported synchronously but some others won't"? In what
> > > > conditions can the async part error?
> > > "assuming that the asynchronous part of the job ***never*** errors"
> > > 
> > > Errors are only reported synchronously.
> > This is documentation, that "assumption" there really throws things up
> > in the air. We need a precise statement: can things EVER fail after the
> > ioctl returns? If yes, how can user space know about it and how should
> > it proceed? If no, please adjust the text. Is it the case that some
> > drivers can but others can't? Which ones?
> 
> I'll change that to "errors are only reported synchronously".

Ok, so you're saying they are only reported synchronously, but can they
happen (and not end up being reported) asynchronously? We want to know
now only if they get reported, but also if they can happen :).

> 
> > 
> > 
> > > > 
> > > > > +In low-memory situations the implementation may block, performing the
> > > > > +VM_BIND synchronously, because there might not be enough memory
> > > > > +immediately available for preparing the asynchronous operation.
> > > > > +
> > > > > +If the VM_BIND IOCTL takes a list or an array of operations as an argument,
> > > > > +the in-syncobjs needs to signal before the first operation starts to
> > > > > +execute, and the out-syncobjs signal after the last operation
> > > > > +completes. Operations in the operation list can be assumed, where it
> > > > > +matters, to complete in order.
> > > > > +
> > > > > +Since asynchronous VM_BIND operations may use dma-fences embedded in
> > > > > +out-syncobjs and internally in KMD to signal bind completion,  any
> > > > > +memory fences given as VM_BIND in-fences need to be awaited
> > > > > +synchronously before the VM_BIND ioctl returns, since dma-fences,
> > > > > +required to signal in a reasonable amount of time, can never be made
> > > > > +to depend on memory fences that don't have such a restriction.
> > > > > +
> > > > > +To aid in supporting user-space queues, the VM_BIND may take a bind context.
> > > > > +
> > > > > +The purpose of an Asynchronous VM_BIND operation is for user-mode
> > > > > +drivers to be able to pipeline interleaved gpu_vm modifications and
> > > > > +exec functions. For long-running workloads, such pipelining of a bind
> > > > > +operation is not allowed and any in-fences need to be awaited
> > > > > +synchronously. The reason for this is twofold. First, any memory
> > > > > +fences gated by a long-running workload and used as in-syncobjs for the
> > > > > +VM_BIND operation will need to be awaited synchronously anyway (see
> > > > > +above). Second, any dma-fences used as in-syncobjs for VM_BIND
> > > > > +operations for long-running workloads will not allow for pipelining
> > > > > +anyway since long-running workloads don't allow for dma-fences as
> > > > > +out-syncobjs, so while theoretically possible the use of them is
> > > > > +questionable and should be rejected until there is a valuable use-case.
> > > > > +Note that this is not a limitation imposed by dma-fence rules, but
> > > > > +rather a limitation imposed to keep KMD implementation simple. It does
> > > > > +not affect using dma-fences as dependencies for the long-running
> > > > > +workload itself, which is allowed by dma-fence rules, but rather for
> > > > > +the VM_BIND operation only.
> > > > > +
> > > > > +Also for VM_BINDS for long-running gpu_vms the user-mode driver should typically
> > > > > +select memory fences as out-fences since that gives greater flexibility for
> > > > > +the kernel mode driver to inject other operations into the bind /
> > > > > +unbind operations. Like for example inserting breakpoints into batch
> > > > > +buffers. The workload execution can then easily be pipelined behind
> > > > > +the bind completion using the memory out-fence as the signal condition
> > > > > +for a GPU semaphore embedded by UMD in the workload.
> > > > > +
> > > > > +Multi-operation VM_BIND IOCTL error handling and interrupts
> > > > > +===========================================================
> > > > What do you mean by multi-operation here? Is it where I pass multiple
> > > > addresses to a single vm_bind ioctl? If yes, where is the section for
> > > > single-operation errors? What differs between multi-operation and
> > > > single-operation?
> > > I don't feel that we need a single-operation mode, because if it failed
> > > it failed by itself without dependency tracking. The problem comes only
> > > on the multi-operation.
> > That doesn't answer my question. It would be good if the text precisely
> > defined what multi-operation means, what single-operation means and how
> > things behave during single-operation.
> 
> Will improve on this. Multi-operation is where you combine multiple 
> VM_BIND operations in a single IOCTL, rather than supporting just a 
> single operation per IOCTL. Will double-check if any of the drivers 
> support the latter.
> 
> 
> > > > 
> > > > > +
> > > > > +The VM_BIND operations of the IOCTL may error due to lack of resources
> > > > > +to complete and also due to interrupted waits. In both situations UMD
> > > > Earlier you talked about two classes of errors: ones that get signaled
> > > > when the ioctl returns, and ones that happen during the "asynchronous
> > > > part of the job". It seems here you're talking about the first. But
> > > > then, what about the second class of errors?
> > > there's only synchronously errors.
> > Do you mean "there is only reporting for synchronous errors" or "there
> > can't be errors in the asynchronous part"?
> > 
> > The whole description of "when things fail, the system may be left in
> > an undefined state where only some operations were done" doesn't seem
> > to align with what I would expect of a "gather all resources earlier,
> > fail if we can't, then do things asynchronously later in a way which
> > they can't fail" mode, because "some things completed and others
> > didn't, but you got an error code synchronously" kinda suggests that
> > the operation was synchronous instead of asynchronous, unless there's a
> > way of  traveling back in time to give the error before the ioctl
> > returned, or I'm way off in my interpretation.
> 
> This all boils down to the "multiple operations" IOCTL. Say that we do 
> 100 vm binds in a single IOCTL. Implementation-wise we could do either
> 
> 1) Gather all resources needed for all 100 operations.
> 2) Submit for execution.
> 
> OR
> 
> for all 100 operations do
>      gather all resources for a single operation
>      submit the single operation for execution
> end
> 
> The text deals with the latter case. If 99 operations already were 
> submitted without an error, but we error on the 100th.

That case did not come to my head, I couldn't imagine why someone would
want to implement it that way, that sounds very inefficient. Perhaps a
clarification for that in the text would help.

> 
> > 
> > > > 
> > > > 
> > > > > +should preferably restart the IOCTL after taking suitable action. If
> > > > > +UMD has over-committed a memory resource, an -ENOSPC error will be
> > > > > +returned, and UMD may then unbind resources that are not used at the
> > > > > +moment and restart the IOCTL. On -EINTR, UMD should simply restart the
> > > > > +IOCTL and on -ENOMEM user-space may either attempt to free known
> > > > > +system memory resources or abort the operation. If aborting as a
> > > > > +result of a failed operation in a list of operations, some operations
> > > > > +may still have completed, and to get back to a known state, user-space
> > > > > +should therefore attempt to unbind all virtual memory regions touched
> > > > > +by the failing IOCTL.
> > > > > +Unbind operations are guaranteed not to cause any errors due to
> > > > > +resource constraints.
> > > > > +In between a failed VM_BIND IOCTL and a successful restart there may
> > > > Wait a minute, the paragraphs above just say "if things fail, try
> > > > clearing resources and then try again". What constitutes of a
> > > > "successful restart"? Is there some kind of state machine involved? Is
> > > > this talking about errors after the ioctl returns? Why don't errors
> > > > simply undo everything and leave user space in the same state as before
> > > > the ioctl?
> > > This is exactly the "Open:" documented below.
> > > 
> > > > 
> > > > > +be implementation defined restrictions on the use of the gpu_vm. For a
> > > > > +description why, please see KMD implementation details under `error
> > > > > +state saving`_.
> > > > > +
> > > > > +Sample uAPI implementations
> > > > > +===========================
> > > > > +Suggested uAPI implementations at the moment of writing can be found for
> > > > > +the Nouveau driver `here
> > > > > +<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_.
> > > > > +and for the Xe driver `here
> > > > > +<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_.
> > > > > +
> > > > > +KMD implementation details
> > > > > +==========================
> > > > > +
> > > > > +Error state saving
> > > > > +__________________
> > > > > +Open: When the VM_BIND IOCTL returns an error, some or even parts of
> > >       ^ Note the "Open:" here.
> > > 
> > > > > +an operation may have been completed. If the IOCTL is restarted, in
> > > > > +order to know where to restart, the KMD can either put the gpu_vm in
> > > > > +an error state and save one instance of the needed restart state
> > > > > +internally. In this case, KMD needs to block further modifications of
> > > > > +the gpu_vm state that may cause additional failures requiring a
> > > > > +restart state save, until the error has been fully resolved. If the
> > > > > +uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
> > > > > +struct, it could also choose to store the restart state in that cookie.
> > > > Ok, so there is some kind of state machine here, but either I don't
> > > > understand or it's not fully explained. This whole "restart state" part
> > > > is confusing to me, please clarify.
> > > It is an open that we still need to define...
> > > 
> > > > 
> > > > > +
> > > > > +The restart state may, for example, be the number of successfully
> > > > > +completed operations.
> > > > > +
> > > > > +Easiest for UMD would of course be if KMD did a full unwind on error
> > > > > +so that no error state needs to be saved.
> > > > But does KMD do it? As a UMD person, what should I expect?\
> > > it is an open question. I believe we should rewind all the operations
> > > in the same ioctl. Possible? Easy? I don't know, but it would be good
> > > to have UMD input here.
> > As someone who's writing user-space, for my case I don't know if
> > there's anything I can do besides undoing anything the Kernel has done
> > and return failure hoping the upper layers of the stack run some kind
> > of garbage colletor or just have better luck the next frame. So either
> > the Kernel does it for me, or I'll have to write code to do it myself,
> > but the Kernel is probably in a *way* better position to revert state
> > back to the point where it was before I issue the ioctl, assuming the
> > error actually happens before the ioctl returns. And if errors can
> > happen asynchronously, I just have no idea how to fix things, perhaps
> > there's not much besides doing what we do when we get a GPU hang.
> > 
> > You suggested errors can only happen synchronously, but if that's the
> > case why do we even have this apparent state machine? How does it help
> > to be put in a restricted state where you need to deal with unbinds in
> > a different way, instead of just allowing me to do unbinds normally?
> > What do we gain with the state machine? What case does it help?
> 
> Personally, I'm for KMD rolling back everything on error. Nouveau does 
> that. Benefits it gives a clean understandable user-interface without 
> ever putting the vm in an error state the UMD needs to know about. There 
> are two main drawbacks, though.
> 
> 1) Gathering resources for VM_BIND operations may take time and 
> restarting will be faster than rolling back and retry.
> 2) It will be a bit painful to implement KMD rollbacks in Xe. A 
> substantial code refactoring.

That does not explain why or how this behavior would benefit user-
space.

Just please remember that sometimes by not doing the painful thing
inside the Kernel you end up just multiplying the pain to all the user
space implementations :). And the Kernel has the giant advantage of
being able to do things atomically inside the ioctl code, while the
user space may be racing against itself.

Thanks for the clarifications,
Paulo

> 
> > 
> > > Should KMD rewind everything that succedded before the error? or
> > > have the cookie idea and block all the further operations on that
> > > vm unless if the cookie information is valid?
> > > 
> > > > 
> > > > > diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
> > > > > index 2516fe141db6..0f062e1346d2 100644
> > > > > --- a/Documentation/gpu/rfc/xe.rst
> > > > > +++ b/Documentation/gpu/rfc/xe.rst
> > > > > @@ -138,8 +138,8 @@ memory fences. Ideally with helper support so people don't get it wrong in all
> > > > >   possible ways.
> > > > >   
> > > > >   As a key measurable result, the benefits of ASYNC VM_BIND and a discussion of
> > > > > -various flavors, error handling and a sample API should be documented here or in
> > > > > -a separate document pointed to by this document.
> > > > > +various flavors, error handling and sample API suggestions are documented in
> > > > > +Documentation/gpu/drm-vm-bind-async.rst
> > > > >   
> > > > >   Userptr integration and vm_bind
> > > > >   -------------------------------
> > > While writing this answers I had to read everything again.
> > > I agree with Danilo on ensuring we explicitly add the 'virtual'
> 
> I'll double-check on that as well.
> 
> Thanks,
> 
> Thomas
> 
> 
> > > to the gpu_vm description. And with that:
> > > 
> > > Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>


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

* Re: [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
  2023-08-10 20:51         ` Zanoni, Paulo R
@ 2023-08-11  9:58           ` Thomas Hellström
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Hellström @ 2023-08-11  9:58 UTC (permalink / raw)
  To: Zanoni, Paulo R, Vivi, Rodrigo
  Cc: Dugast, Francois, joonas.lahtinen@linux.intel.com,
	linux-kernel@vger.kernel.org, dakr@redhat.com,
	dri-devel@lists.freedesktop.org, daniel@ffwll.ch,
	intel-xe@lists.freedesktop.org, Das, Nirmoy


On 8/10/23 22:51, Zanoni, Paulo R wrote:
> On Thu, 2023-08-10 at 21:49 +0200, Thomas Hellström wrote:
>> Hi, Paulo.
>>
>> Thanks for reviewing. I'd like to try give some answers below.
>>
>> On 8/4/23 23:30, Zanoni, Paulo R wrote:
>>> On Fri, 2023-08-04 at 16:02 -0400, Rodrigo Vivi wrote:
>>>> On Wed, Jul 19, 2023 at 07:50:21PM +0000, Zanoni, Paulo R wrote:
>>>>> On Sat, 2023-07-15 at 17:45 +0200, Thomas Hellström wrote:
>>>>>> Add a motivation for and description of asynchronous VM_BIND operation
>>>>> I think I may have missed some other documentation, which would explain
>>>>> some of my questions below, so please be patient with my
>>>>> misunderstandings. But here's a review from the POV of a UMD person.
>>>>>
>>>>>
>>>>>> v2:
>>>>>> - Fix typos (Nirmoy Das)
>>>>>> - Improve the description of a memory fence (Oak Zeng)
>>>>>> - Add a reference to the document in the Xe RFC.
>>>>>> - Add pointers to sample uAPI suggestions
>>>>>> v3:
>>>>>> - Address review comments (Danilo Krummrich)
>>>>>> - Formatting fixes
>>>>>> v4:
>>>>>> - Address typos (Francois Dugast)
>>>>>> - Explain why in-fences are not allowed for VM_BIND operations for long-
>>>>>>     running workloads (Matthew Brost)
>>>>>> v5:
>>>>>> - More typo- and style fixing
>>>>>> - Further clarify the implications of disallowing in-fences for VM_BIND
>>>>>>     operations for long-running workloads (Matthew Brost)
>>>>>>
>>>>>> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>>>>>> Acked-by: Nirmoy Das <nirmoy.das@intel.com>
>>>>>> ---
>>>>>>    Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
>>>>>>    Documentation/gpu/rfc/xe.rst            |   4 +-
>>>>>>    2 files changed, 173 insertions(+), 2 deletions(-)
>>>>>>    create mode 100644 Documentation/gpu/drm-vm-bind-async.rst
>>>>>>
>>>>>> diff --git a/Documentation/gpu/drm-vm-bind-async.rst b/Documentation/gpu/drm-vm-bind-async.rst
>>>>>> new file mode 100644
>>>>>> index 000000000000..d2b02a38198a
>>>>>> --- /dev/null
>>>>>> +++ b/Documentation/gpu/drm-vm-bind-async.rst
>>>>>> @@ -0,0 +1,171 @@
>>>>>> +====================
>>>>>> +Asynchronous VM_BIND
>>>>>> +====================
>>>>>> +
>>>>>> +Nomenclature:
>>>>>> +=============
>>>>>> +
>>>>>> +* ``VRAM``: On-device memory. Sometimes referred to as device local memory.
>>>>>> +
>>>>>> +* ``gpu_vm``: A GPU address space. Typically per process, but can be shared by
>>>>>> +  multiple processes.
>>>>>> +
>>>>>> +* ``VM_BIND``: An operation or a list of operations to modify a gpu_vm using
>>>>>> +  an IOCTL. The operations include mapping and unmapping system- or
>>>>>> +  VRAM memory.
>>>>>> +
>>>>>> +* ``syncobj``: A container that abstracts synchronization objects. The
>>>>>> +  synchronization objects can be either generic, like dma-fences or
>>>>>> +  driver specific. A syncobj typically indicates the type of the
>>>>>> +  underlying synchronization object.
>>>>>> +
>>>>>> +* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
>>>>>> +  for these before starting.
>>>>>> +
>>>>>> +* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
>>>>>> +  signals these when the bind operation is complete.
>>>>>> +
>>>>>> +* ``memory fence``: A synchronization object, different from a dma-fence.
>>>>> Since you've mentioned it twice in this document already, for
>>>>> completeness would you mind also giving a definition for dma-fence in
>>>>> what it relates/contrasts to the rest of the text?
>>>> Maybe worth a link to the dma-fence doc itself?
>>>> (somehow making sphinx to point out to driver-api/dma-buf.html#dma-fences)
>> Will respin and add a link to this. This document indeed assumes the
>> reader is somewhat familiar with the dma-fence concept.
>>
>>>> But the differences are written below Paulo:
>>>>
>>>>>> +  A memory fence uses the value of a specified memory location to determine
>>>>>> +  signaled status. A memory fence can be awaited and signaled by both
>>>>>> +  the GPU and CPU. Memory fences are sometimes referred to as
>>>>>> +  user-fences, userspace-fences or gpu futexes and do not necessarily obey
>>>>>> +  the dma-fence rule of signaling within a "reasonable amount of time".
>>>>>> +  The kernel should thus avoid waiting for memory fences with locks held.
>>>> ^
>>>>
>>>>>> +
>>>>>> +* ``long-running workload``: A workload that may take more than the
>>>>>> +  current stipulated dma-fence maximum signal delay to complete and
>>>>> Where is this delay defined? Is this the same as the gpuhang timer?
>>>> dma-fence defines it in a very "cool" way: "reasonable amount of time":
>>>> https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html#dma-fences
>>>>
>>>> so, in contrast, long-running workload is *anything* above that
>>>> "reasonable amount of time".
>>> That answers it but doesn't exactly answer it either. In practice, how
>>> much is that "reasonable amount of time"? This is documentation, it
>>> should avoid using vague statements or hypothetical cases. The
>>> documentation you posted suggested this may be the same as the GPU hang
>>> timeout, but doesn't give a definitive answer (because multiple drivers
>>> may define it differently, apparently). In practice, what do drivers
>>> do? As a user-space developer, how long can I wait before things fail?
>>> Is there a way to figure out, maybe query a parameter somewhere? Which
>>> driver waits the least? Which driver waits the most?  Is 10 seconds
>>> "reasonable amount of time"? My grandma thinks 2 weeks is a reasonable
>>> amount of time when waiting for things.
>> We can't do much more than point to the dma-fence document here, since
>> we can't have a vague definition in the main document which is
>> overridden in another document describing something completely different.
>>
>> FWIW a reasonable amount of time is ideally slightly shorter than the
>> the time where a user thinks the system is hung, gets irritated and
>> presses the reset button.
> But there's gotta be a timeout value programmed somewhere that you can
> at least give us as an example? This *is* related to the GPU hang
> timeout in the Intel drivers, right?

It's related to the watchdog timeout in the i915 driver. IIRC the 
default setting is 20s.

This is cross-driver, though so if we'd import a dma-fence from another 
driver it might be different. Some drivers for older hardware are 
non-compliant and don't implement this timeout at all.


>
>>>>>> +  which therefore needs to set the gpu_vm or the GPU execution context in
>>>>>> +  a certain mode that disallows completion dma-fences.
>>>>>> +
>>>>>> +* ``exec function``: An exec function is a function that revalidates all
>>>>>> +  affected gpu_vmas, submits a GPU command batch and registers the
>>>>>> +  dma_fence representing the GPU command's activity with all affected
>>>>>> +  dma_resvs. For completeness, although not covered by this document,
>>>>>> +  it's worth mentioning that an exec function may also be the
>>>>>> +  revalidation worker that is used by some drivers in compute /
>>>>>> +  long-running mode.
>>>>>> +
>>>>>> +* ``bind context``: A context identifier used for the VM_BIND
>>>>>> +  operation. VM_BIND operations that use the same bind context can be
>>>>>> +  assumed, where it matters, to complete in order of submission. No such
>>>>>> +  assumptions can be made for VM_BIND operations using separate bind contexts.
>>>>>> +
>>>>>> +* ``UMD``: User-mode driver.
>>>>>> +
>>>>>> +* ``KMD``: Kernel-mode driver.
>>>>>> +
>>>>>> +
>>>>>> +Synchronous / Asynchronous VM_BIND operation
>>>>>> +============================================
>>>>>> +
>>>>>> +Synchronous VM_BIND
>>>>>> +___________________
>>>>>> +With Synchronous VM_BIND, the VM_BIND operations all complete before the
>>>>>> +IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
>>>>>> +out-fences. Synchronous VM_BIND may block and wait for GPU operations;
>>>>>> +for example swap-in or clearing, or even previous binds.
>>>>>> +
>>>>>> +Asynchronous VM_BIND
>>>>>> +____________________
>>>>>> +Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
>>>>>> +IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
>>>>>> +before modifying the GPU page-tables, and signal the out-syncobjs when
>>>>>> +the modification is done in the sense that the next exec function that
>>>>>> +awaits for the out-syncobjs will see the change. Errors are reported
>>>>>> +synchronously assuming that the asynchronous part of the job never errors.
>>>>> There's a small degree of uncertainty here, which I think we can
>>>>> eliminate. Can you please make the text clearer? Do you mean "some
>>>>> errors will be reported synchronously but some others won't"? In what
>>>>> conditions can the async part error?
>>>> "assuming that the asynchronous part of the job ***never*** errors"
>>>>
>>>> Errors are only reported synchronously.
>>> This is documentation, that "assumption" there really throws things up
>>> in the air. We need a precise statement: can things EVER fail after the
>>> ioctl returns? If yes, how can user space know about it and how should
>>> it proceed? If no, please adjust the text. Is it the case that some
>>> drivers can but others can't? Which ones?
>> I'll change that to "errors are only reported synchronously".
> Ok, so you're saying they are only reported synchronously, but can they
> happen (and not end up being reported) asynchronously? We want to know
> now only if they get reported, but also if they can happen :).

Yes they can happen, but if they do, they are catastrophical. The 
userspace-notification would be driver-dependent in this case, I think 
in Xe, these errors will ban / kill the VM, but that remains to be 
documented in the Xe uAPI.


>
>>>
>>>>>> +In low-memory situations the implementation may block, performing the
>>>>>> +VM_BIND synchronously, because there might not be enough memory
>>>>>> +immediately available for preparing the asynchronous operation.
>>>>>> +
>>>>>> +If the VM_BIND IOCTL takes a list or an array of operations as an argument,
>>>>>> +the in-syncobjs needs to signal before the first operation starts to
>>>>>> +execute, and the out-syncobjs signal after the last operation
>>>>>> +completes. Operations in the operation list can be assumed, where it
>>>>>> +matters, to complete in order.
>>>>>> +
>>>>>> +Since asynchronous VM_BIND operations may use dma-fences embedded in
>>>>>> +out-syncobjs and internally in KMD to signal bind completion,  any
>>>>>> +memory fences given as VM_BIND in-fences need to be awaited
>>>>>> +synchronously before the VM_BIND ioctl returns, since dma-fences,
>>>>>> +required to signal in a reasonable amount of time, can never be made
>>>>>> +to depend on memory fences that don't have such a restriction.
>>>>>> +
>>>>>> +To aid in supporting user-space queues, the VM_BIND may take a bind context.
>>>>>> +
>>>>>> +The purpose of an Asynchronous VM_BIND operation is for user-mode
>>>>>> +drivers to be able to pipeline interleaved gpu_vm modifications and
>>>>>> +exec functions. For long-running workloads, such pipelining of a bind
>>>>>> +operation is not allowed and any in-fences need to be awaited
>>>>>> +synchronously. The reason for this is twofold. First, any memory
>>>>>> +fences gated by a long-running workload and used as in-syncobjs for the
>>>>>> +VM_BIND operation will need to be awaited synchronously anyway (see
>>>>>> +above). Second, any dma-fences used as in-syncobjs for VM_BIND
>>>>>> +operations for long-running workloads will not allow for pipelining
>>>>>> +anyway since long-running workloads don't allow for dma-fences as
>>>>>> +out-syncobjs, so while theoretically possible the use of them is
>>>>>> +questionable and should be rejected until there is a valuable use-case.
>>>>>> +Note that this is not a limitation imposed by dma-fence rules, but
>>>>>> +rather a limitation imposed to keep KMD implementation simple. It does
>>>>>> +not affect using dma-fences as dependencies for the long-running
>>>>>> +workload itself, which is allowed by dma-fence rules, but rather for
>>>>>> +the VM_BIND operation only.
>>>>>> +
>>>>>> +Also for VM_BINDS for long-running gpu_vms the user-mode driver should typically
>>>>>> +select memory fences as out-fences since that gives greater flexibility for
>>>>>> +the kernel mode driver to inject other operations into the bind /
>>>>>> +unbind operations. Like for example inserting breakpoints into batch
>>>>>> +buffers. The workload execution can then easily be pipelined behind
>>>>>> +the bind completion using the memory out-fence as the signal condition
>>>>>> +for a GPU semaphore embedded by UMD in the workload.
>>>>>> +
>>>>>> +Multi-operation VM_BIND IOCTL error handling and interrupts
>>>>>> +===========================================================
>>>>> What do you mean by multi-operation here? Is it where I pass multiple
>>>>> addresses to a single vm_bind ioctl? If yes, where is the section for
>>>>> single-operation errors? What differs between multi-operation and
>>>>> single-operation?
>>>> I don't feel that we need a single-operation mode, because if it failed
>>>> it failed by itself without dependency tracking. The problem comes only
>>>> on the multi-operation.
>>> That doesn't answer my question. It would be good if the text precisely
>>> defined what multi-operation means, what single-operation means and how
>>> things behave during single-operation.
>> Will improve on this. Multi-operation is where you combine multiple
>> VM_BIND operations in a single IOCTL, rather than supporting just a
>> single operation per IOCTL. Will double-check if any of the drivers
>> support the latter.
>>
>>
>>>>>> +
>>>>>> +The VM_BIND operations of the IOCTL may error due to lack of resources
>>>>>> +to complete and also due to interrupted waits. In both situations UMD
>>>>> Earlier you talked about two classes of errors: ones that get signaled
>>>>> when the ioctl returns, and ones that happen during the "asynchronous
>>>>> part of the job". It seems here you're talking about the first. But
>>>>> then, what about the second class of errors?
>>>> there's only synchronously errors.
>>> Do you mean "there is only reporting for synchronous errors" or "there
>>> can't be errors in the asynchronous part"?
>>>
>>> The whole description of "when things fail, the system may be left in
>>> an undefined state where only some operations were done" doesn't seem
>>> to align with what I would expect of a "gather all resources earlier,
>>> fail if we can't, then do things asynchronously later in a way which
>>> they can't fail" mode, because "some things completed and others
>>> didn't, but you got an error code synchronously" kinda suggests that
>>> the operation was synchronous instead of asynchronous, unless there's a
>>> way of  traveling back in time to give the error before the ioctl
>>> returned, or I'm way off in my interpretation.
>> This all boils down to the "multiple operations" IOCTL. Say that we do
>> 100 vm binds in a single IOCTL. Implementation-wise we could do either
>>
>> 1) Gather all resources needed for all 100 operations.
>> 2) Submit for execution.
>>
>> OR
>>
>> for all 100 operations do
>>       gather all resources for a single operation
>>       submit the single operation for execution
>> end
>>
>> The text deals with the latter case. If 99 operations already were
>> submitted without an error, but we error on the 100th.
> That case did not come to my head, I couldn't imagine why someone would
> want to implement it that way, that sounds very inefficient. Perhaps a
> clarification for that in the text would help.
>
>>>>>
>>>>>> +should preferably restart the IOCTL after taking suitable action. If
>>>>>> +UMD has over-committed a memory resource, an -ENOSPC error will be
>>>>>> +returned, and UMD may then unbind resources that are not used at the
>>>>>> +moment and restart the IOCTL. On -EINTR, UMD should simply restart the
>>>>>> +IOCTL and on -ENOMEM user-space may either attempt to free known
>>>>>> +system memory resources or abort the operation. If aborting as a
>>>>>> +result of a failed operation in a list of operations, some operations
>>>>>> +may still have completed, and to get back to a known state, user-space
>>>>>> +should therefore attempt to unbind all virtual memory regions touched
>>>>>> +by the failing IOCTL.
>>>>>> +Unbind operations are guaranteed not to cause any errors due to
>>>>>> +resource constraints.
>>>>>> +In between a failed VM_BIND IOCTL and a successful restart there may
>>>>> Wait a minute, the paragraphs above just say "if things fail, try
>>>>> clearing resources and then try again". What constitutes of a
>>>>> "successful restart"? Is there some kind of state machine involved? Is
>>>>> this talking about errors after the ioctl returns? Why don't errors
>>>>> simply undo everything and leave user space in the same state as before
>>>>> the ioctl?
>>>> This is exactly the "Open:" documented below.
>>>>
>>>>>> +be implementation defined restrictions on the use of the gpu_vm. For a
>>>>>> +description why, please see KMD implementation details under `error
>>>>>> +state saving`_.
>>>>>> +
>>>>>> +Sample uAPI implementations
>>>>>> +===========================
>>>>>> +Suggested uAPI implementations at the moment of writing can be found for
>>>>>> +the Nouveau driver `here
>>>>>> +<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_.
>>>>>> +and for the Xe driver `here
>>>>>> +<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_.
>>>>>> +
>>>>>> +KMD implementation details
>>>>>> +==========================
>>>>>> +
>>>>>> +Error state saving
>>>>>> +__________________
>>>>>> +Open: When the VM_BIND IOCTL returns an error, some or even parts of
>>>>        ^ Note the "Open:" here.
>>>>
>>>>>> +an operation may have been completed. If the IOCTL is restarted, in
>>>>>> +order to know where to restart, the KMD can either put the gpu_vm in
>>>>>> +an error state and save one instance of the needed restart state
>>>>>> +internally. In this case, KMD needs to block further modifications of
>>>>>> +the gpu_vm state that may cause additional failures requiring a
>>>>>> +restart state save, until the error has been fully resolved. If the
>>>>>> +uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
>>>>>> +struct, it could also choose to store the restart state in that cookie.
>>>>> Ok, so there is some kind of state machine here, but either I don't
>>>>> understand or it's not fully explained. This whole "restart state" part
>>>>> is confusing to me, please clarify.
>>>> It is an open that we still need to define...
>>>>
>>>>>> +
>>>>>> +The restart state may, for example, be the number of successfully
>>>>>> +completed operations.
>>>>>> +
>>>>>> +Easiest for UMD would of course be if KMD did a full unwind on error
>>>>>> +so that no error state needs to be saved.
>>>>> But does KMD do it? As a UMD person, what should I expect?\
>>>> it is an open question. I believe we should rewind all the operations
>>>> in the same ioctl. Possible? Easy? I don't know, but it would be good
>>>> to have UMD input here.
>>> As someone who's writing user-space, for my case I don't know if
>>> there's anything I can do besides undoing anything the Kernel has done
>>> and return failure hoping the upper layers of the stack run some kind
>>> of garbage colletor or just have better luck the next frame. So either
>>> the Kernel does it for me, or I'll have to write code to do it myself,
>>> but the Kernel is probably in a *way* better position to revert state
>>> back to the point where it was before I issue the ioctl, assuming the
>>> error actually happens before the ioctl returns. And if errors can
>>> happen asynchronously, I just have no idea how to fix things, perhaps
>>> there's not much besides doing what we do when we get a GPU hang.
>>>
>>> You suggested errors can only happen synchronously, but if that's the
>>> case why do we even have this apparent state machine? How does it help
>>> to be put in a restricted state where you need to deal with unbinds in
>>> a different way, instead of just allowing me to do unbinds normally?
>>> What do we gain with the state machine? What case does it help?
>> Personally, I'm for KMD rolling back everything on error. Nouveau does
>> that. Benefits it gives a clean understandable user-interface without
>> ever putting the vm in an error state the UMD needs to know about. There
>> are two main drawbacks, though.
>>
>> 1) Gathering resources for VM_BIND operations may take time and
>> restarting will be faster than rolling back and retry.
>> 2) It will be a bit painful to implement KMD rollbacks in Xe. A
>> substantial code refactoring.
> That does not explain why or how this behavior would benefit user-
> space.
>
> Just please remember that sometimes by not doing the painful thing
> inside the Kernel you end up just multiplying the pain to all the user
> space implementations :). And the Kernel has the giant advantage of
> being able to do things atomically inside the ioctl code, while the
> user space may be racing against itself.

Yes, I'm aware of that. The Xe uAPI behaviour WRT this is not set in 
stone yet, though.

/Thomas


>
> Thanks for the clarifications,
> Paulo
>
>>>> Should KMD rewind everything that succedded before the error? or
>>>> have the cookie idea and block all the further operations on that
>>>> vm unless if the cookie information is valid?
>>>>
>>>>>> diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
>>>>>> index 2516fe141db6..0f062e1346d2 100644
>>>>>> --- a/Documentation/gpu/rfc/xe.rst
>>>>>> +++ b/Documentation/gpu/rfc/xe.rst
>>>>>> @@ -138,8 +138,8 @@ memory fences. Ideally with helper support so people don't get it wrong in all
>>>>>>    possible ways.
>>>>>>    
>>>>>>    As a key measurable result, the benefits of ASYNC VM_BIND and a discussion of
>>>>>> -various flavors, error handling and a sample API should be documented here or in
>>>>>> -a separate document pointed to by this document.
>>>>>> +various flavors, error handling and sample API suggestions are documented in
>>>>>> +Documentation/gpu/drm-vm-bind-async.rst
>>>>>>    
>>>>>>    Userptr integration and vm_bind
>>>>>>    -------------------------------
>>>> While writing this answers I had to read everything again.
>>>> I agree with Danilo on ensuring we explicitly add the 'virtual'
>> I'll double-check on that as well.
>>
>> Thanks,
>>
>> Thomas
>>
>>
>>>> to the gpu_vm description. And with that:
>>>>
>>>> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

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

* Re: [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document
  2023-07-19 14:24 ` [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Danilo Krummrich
@ 2023-08-14 10:21   ` Thomas Hellström
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Hellström @ 2023-08-14 10:21 UTC (permalink / raw)
  To: Danilo Krummrich
  Cc: Francois Dugast, linux-kernel, dri-devel, intel-xe, Nirmoy Das


On 7/19/23 16:24, Danilo Krummrich wrote:
> On 7/15/23 17:45, Thomas Hellström wrote:
>> Add a motivation for and description of asynchronous VM_BIND operation
>>
>> v2:
>> - Fix typos (Nirmoy Das)
>> - Improve the description of a memory fence (Oak Zeng)
>> - Add a reference to the document in the Xe RFC.
>> - Add pointers to sample uAPI suggestions
>> v3:
>> - Address review comments (Danilo Krummrich)
>> - Formatting fixes
>> v4:
>> - Address typos (Francois Dugast)
>> - Explain why in-fences are not allowed for VM_BIND operations for long-
>>    running workloads (Matthew Brost)
>> v5:
>> - More typo- and style fixing
>> - Further clarify the implications of disallowing in-fences for VM_BIND
>>    operations for long-running workloads (Matthew Brost)
>>
>> Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> Acked-by: Nirmoy Das <nirmoy.das@intel.com>
>> ---
>>   Documentation/gpu/drm-vm-bind-async.rst | 171 ++++++++++++++++++++++++
>>   Documentation/gpu/rfc/xe.rst            |   4 +-
>>   2 files changed, 173 insertions(+), 2 deletions(-)
>>   create mode 100644 Documentation/gpu/drm-vm-bind-async.rst
>>
>> diff --git a/Documentation/gpu/drm-vm-bind-async.rst 
>> b/Documentation/gpu/drm-vm-bind-async.rst
>> new file mode 100644
>> index 000000000000..d2b02a38198a
>> --- /dev/null
>> +++ b/Documentation/gpu/drm-vm-bind-async.rst
>> @@ -0,0 +1,171 @@
>> +====================
>> +Asynchronous VM_BIND
>> +====================
>> +
>> +Nomenclature:
>> +=============
>> +
>> +* ``VRAM``: On-device memory. Sometimes referred to as device local 
>> memory.
>> +
>> +* ``gpu_vm``: A GPU address space. Typically per process, but can be 
>> shared by
>> +  multiple processes.
>
> Again, pretty obvious, but I suggest to be explicit "GPU virtual 
> address space".
>
> Also, you might want to remove "draft" from the patch subject.
>
> Otherwise: Reviewed-by: Danilo Krummrich <dakr@redhat.com>

Sure. Thanks for reviewing, Danilo.



>
>> +
>> +* ``VM_BIND``: An operation or a list of operations to modify a 
>> gpu_vm using
>> +  an IOCTL. The operations include mapping and unmapping system- or
>> +  VRAM memory.
>> +
>> +* ``syncobj``: A container that abstracts synchronization objects. The
>> +  synchronization objects can be either generic, like dma-fences or
>> +  driver specific. A syncobj typically indicates the type of the
>> +  underlying synchronization object.
>> +
>> +* ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation 
>> waits
>> +  for these before starting.
>> +
>> +* ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
>> +  signals these when the bind operation is complete.
>> +
>> +* ``memory fence``: A synchronization object, different from a 
>> dma-fence.
>> +  A memory fence uses the value of a specified memory location to 
>> determine
>> +  signaled status. A memory fence can be awaited and signaled by both
>> +  the GPU and CPU. Memory fences are sometimes referred to as
>> +  user-fences, userspace-fences or gpu futexes and do not 
>> necessarily obey
>> +  the dma-fence rule of signaling within a "reasonable amount of time".
>> +  The kernel should thus avoid waiting for memory fences with locks 
>> held.
>> +
>> +* ``long-running workload``: A workload that may take more than the
>> +  current stipulated dma-fence maximum signal delay to complete and
>> +  which therefore needs to set the gpu_vm or the GPU execution 
>> context in
>> +  a certain mode that disallows completion dma-fences.
>> +
>> +* ``exec function``: An exec function is a function that revalidates 
>> all
>> +  affected gpu_vmas, submits a GPU command batch and registers the
>> +  dma_fence representing the GPU command's activity with all affected
>> +  dma_resvs. For completeness, although not covered by this document,
>> +  it's worth mentioning that an exec function may also be the
>> +  revalidation worker that is used by some drivers in compute /
>> +  long-running mode.
>> +
>> +* ``bind context``: A context identifier used for the VM_BIND
>> +  operation. VM_BIND operations that use the same bind context can be
>> +  assumed, where it matters, to complete in order of submission. No 
>> such
>> +  assumptions can be made for VM_BIND operations using separate bind 
>> contexts.
>> +
>> +* ``UMD``: User-mode driver.
>> +
>> +* ``KMD``: Kernel-mode driver.
>> +
>> +
>> +Synchronous / Asynchronous VM_BIND operation
>> +============================================
>> +
>> +Synchronous VM_BIND
>> +___________________
>> +With Synchronous VM_BIND, the VM_BIND operations all complete before 
>> the
>> +IOCTL returns. A synchronous VM_BIND takes neither in-fences nor
>> +out-fences. Synchronous VM_BIND may block and wait for GPU operations;
>> +for example swap-in or clearing, or even previous binds.
>> +
>> +Asynchronous VM_BIND
>> +____________________
>> +Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. 
>> While the
>> +IOCTL may return immediately, the VM_BIND operations wait for the 
>> in-syncobjs
>> +before modifying the GPU page-tables, and signal the out-syncobjs when
>> +the modification is done in the sense that the next exec function that
>> +awaits for the out-syncobjs will see the change. Errors are reported
>> +synchronously assuming that the asynchronous part of the job never 
>> errors.
>> +In low-memory situations the implementation may block, performing the
>> +VM_BIND synchronously, because there might not be enough memory
>> +immediately available for preparing the asynchronous operation.
>> +
>> +If the VM_BIND IOCTL takes a list or an array of operations as an 
>> argument,
>> +the in-syncobjs needs to signal before the first operation starts to
>> +execute, and the out-syncobjs signal after the last operation
>> +completes. Operations in the operation list can be assumed, where it
>> +matters, to complete in order.
>> +
>> +Since asynchronous VM_BIND operations may use dma-fences embedded in
>> +out-syncobjs and internally in KMD to signal bind completion, any
>> +memory fences given as VM_BIND in-fences need to be awaited
>> +synchronously before the VM_BIND ioctl returns, since dma-fences,
>
> IOCTL
>
>> +required to signal in a reasonable amount of time, can never be made
>> +to depend on memory fences that don't have such a restriction.
>> +
>> +To aid in supporting user-space queues, the VM_BIND may take a bind 
>> context.
>> +
>> +The purpose of an Asynchronous VM_BIND operation is for user-mode
>> +drivers to be able to pipeline interleaved gpu_vm modifications and
>> +exec functions. For long-running workloads, such pipelining of a bind
>> +operation is not allowed and any in-fences need to be awaited
>> +synchronously. The reason for this is twofold. First, any memory
>> +fences gated by a long-running workload and used as in-syncobjs for the
>> +VM_BIND operation will need to be awaited synchronously anyway (see
>> +above). Second, any dma-fences used as in-syncobjs for VM_BIND
>> +operations for long-running workloads will not allow for pipelining
>> +anyway since long-running workloads don't allow for dma-fences as
>> +out-syncobjs, so while theoretically possible the use of them is
>> +questionable and should be rejected until there is a valuable use-case.
>> +Note that this is not a limitation imposed by dma-fence rules, but
>> +rather a limitation imposed to keep KMD implementation simple. It does
>> +not affect using dma-fences as dependencies for the long-running
>> +workload itself, which is allowed by dma-fence rules, but rather for
>> +the VM_BIND operation only.
>> +
>> +Also for VM_BINDS for long-running gpu_vms the user-mode driver 
>> should typically
>> +select memory fences as out-fences since that gives greater 
>> flexibility for
>> +the kernel mode driver to inject other operations into the bind /
>> +unbind operations. Like for example inserting breakpoints into batch
>> +buffers. The workload execution can then easily be pipelined behind
>> +the bind completion using the memory out-fence as the signal condition
>> +for a GPU semaphore embedded by UMD in the workload.
>> +
>> +Multi-operation VM_BIND IOCTL error handling and interrupts
>> +===========================================================
>> +
>> +The VM_BIND operations of the IOCTL may error due to lack of resources
>> +to complete and also due to interrupted waits. In both situations UMD
>> +should preferably restart the IOCTL after taking suitable action. If
>> +UMD has over-committed a memory resource, an -ENOSPC error will be
>> +returned, and UMD may then unbind resources that are not used at the
>> +moment and restart the IOCTL. On -EINTR, UMD should simply restart the
>> +IOCTL and on -ENOMEM user-space may either attempt to free known
>> +system memory resources or abort the operation. If aborting as a
>> +result of a failed operation in a list of operations, some operations
>> +may still have completed, and to get back to a known state, user-space
>> +should therefore attempt to unbind all virtual memory regions touched
>> +by the failing IOCTL.
>> +Unbind operations are guaranteed not to cause any errors due to
>> +resource constraints.
>> +In between a failed VM_BIND IOCTL and a successful restart there may
>> +be implementation defined restrictions on the use of the gpu_vm. For a
>> +description why, please see KMD implementation details under `error
>> +state saving`_.
>> +
>> +Sample uAPI implementations
>> +===========================
>> +Suggested uAPI implementations at the moment of writing can be found 
>> for
>> +the Nouveau driver `here
>> +<https://patchwork.freedesktop.org/patch/543260/?series=112994&rev=6>`_. 
>>
>> +and for the Xe driver `here
>> +<https://cgit.freedesktop.org/drm/drm-xe/diff/include/uapi/drm/xe_drm.h?h=drm-xe-next&id=9cb016ebbb6a275f57b1cb512b95d5a842391ad7>`_. 
>>
>> +
>> +KMD implementation details
>> +==========================
>> +
>> +Error state saving
>> +__________________
>> +Open: When the VM_BIND IOCTL returns an error, some or even parts of
>> +an operation may have been completed. If the IOCTL is restarted, in
>> +order to know where to restart, the KMD can either put the gpu_vm in
>> +an error state and save one instance of the needed restart state
>> +internally. In this case, KMD needs to block further modifications of
>> +the gpu_vm state that may cause additional failures requiring a
>> +restart state save, until the error has been fully resolved. If the
>> +uAPI instead defines a pointer to a UMD allocated cookie in the IOCTL
>> +struct, it could also choose to store the restart state in that cookie.
>> +
>> +The restart state may, for example, be the number of successfully
>> +completed operations.
>> +
>> +Easiest for UMD would of course be if KMD did a full unwind on error
>> +so that no error state needs to be saved.
>> diff --git a/Documentation/gpu/rfc/xe.rst b/Documentation/gpu/rfc/xe.rst
>> index 2516fe141db6..0f062e1346d2 100644
>> --- a/Documentation/gpu/rfc/xe.rst
>> +++ b/Documentation/gpu/rfc/xe.rst
>> @@ -138,8 +138,8 @@ memory fences. Ideally with helper support so 
>> people don't get it wrong in all
>>   possible ways.
>>     As a key measurable result, the benefits of ASYNC VM_BIND and a 
>> discussion of
>> -various flavors, error handling and a sample API should be 
>> documented here or in
>> -a separate document pointed to by this document.
>> +various flavors, error handling and sample API suggestions are 
>> documented in
>> +Documentation/gpu/drm-vm-bind-async.rst
>>     Userptr integration and vm_bind
>>   -------------------------------
>

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

end of thread, other threads:[~2023-08-14 10:21 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-15 15:45 [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Thomas Hellström
2023-07-15 15:48 ` [Intel-xe] ✓ CI.Patch_applied: success for Documentation/gpu: Add a VM_BIND async draft document (rev3) Patchwork
2023-07-15 15:48 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-07-15 15:50 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-07-15 15:53 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-07-15 15:54 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
2023-07-15 15:55 ` [Intel-xe] ✓ CI.checksparse: " Patchwork
2023-07-15 16:30 ` [Intel-xe] ○ CI.BAT: info " Patchwork
2023-07-19 14:24 ` [Intel-xe] [PATCH v5] Documentation/gpu: Add a VM_BIND async draft document Danilo Krummrich
2023-08-14 10:21   ` Thomas Hellström
2023-07-19 19:50 ` Zanoni, Paulo R
2023-08-04 20:02   ` Rodrigo Vivi
2023-08-04 21:30     ` Zanoni, Paulo R
2023-08-10 19:49       ` Thomas Hellström
2023-08-10 20:51         ` Zanoni, Paulo R
2023-08-11  9:58           ` Thomas Hellström
2023-07-20 21:00 ` Matthew Brost

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