Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/xe/guc: Add more GuC CT states
@ 2023-12-19 17:28 Matthew Brost
  2023-12-19 17:47 ` ✓ CI.Patch_applied: success for " Patchwork
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: Matthew Brost @ 2023-12-19 17:28 UTC (permalink / raw)
  To: intel-xe

The Guc CT has more than enabled / disables states rather it has 4. The
4 states are not initialized, disabled, drop messages, and enabled.
Change the code to reflect this. These states will enable proper return
codes from functions and therefore enable proper error messages.

Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_guc.c          |  4 +-
 drivers/gpu/drm/xe/xe_guc_ct.c       | 55 ++++++++++++++++++++--------
 drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
 drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
 4 files changed, 64 insertions(+), 21 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index 482cb0df9f15..9b0fa8b1eb48 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
 
 	BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
 
-	xe_assert(xe, !guc->ct.enabled);
+	xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
 	xe_assert(xe, len);
 	xe_assert(xe, len <= VF_SW_FLAG_COUNT);
 	xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
@@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
 {
 	int ret;
 
-	xe_guc_ct_disable(&guc->ct);
+	xe_guc_ct_drop_messages(&guc->ct);
 
 	ret = xe_guc_submit_stop(guc);
 	if (ret)
diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
index 24a33fa36496..22d655a8bf9a 100644
--- a/drivers/gpu/drm/xe/xe_guc_ct.c
+++ b/drivers/gpu/drm/xe/xe_guc_ct.c
@@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct xe_guc_ct *ct, bool enable)
 	return ret > 0 ? -EPROTO : ret;
 }
 
+static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
+				enum xe_guc_ct_state state)
+{
+	mutex_lock(&ct->lock);		/* Serialise dequeue_one_g2h() */
+	spin_lock_irq(&ct->fast_lock);	/* Serialise CT fast-path */
+
+	ct->g2h_outstanding = 0;
+	ct->state = state;
+
+	spin_unlock_irq(&ct->fast_lock);
+	mutex_unlock(&ct->lock);
+}
+
 int xe_guc_ct_enable(struct xe_guc_ct *ct)
 {
 	struct xe_device *xe = ct_to_xe(ct);
 	int err;
 
-	xe_assert(xe, !ct->enabled);
+	xe_assert(xe, !xe_guc_ct_enabled(ct));
 
 	guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
 	guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
@@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
 	if (err)
 		goto err_out;
 
-	mutex_lock(&ct->lock);
-	spin_lock_irq(&ct->fast_lock);
-	ct->g2h_outstanding = 0;
-	ct->enabled = true;
-	spin_unlock_irq(&ct->fast_lock);
-	mutex_unlock(&ct->lock);
+	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
 
 	smp_mb();
 	wake_up_all(&ct->wq);
@@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
 
 void xe_guc_ct_disable(struct xe_guc_ct *ct)
 {
-	mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
-	spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
-	ct->enabled = false; /* Finally disable CT communication */
-	spin_unlock_irq(&ct->fast_lock);
-	mutex_unlock(&ct->lock);
+	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
+}
 
+void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
+{
+	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
 	xa_destroy(&ct->fence_lookup);
 }
 
@@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
 		goto out;
 	}
 
-	if (unlikely(!ct->enabled)) {
+	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
+	    ct->state == XE_GUC_CT_STATE_DISABLED) {
 		ret = -ENODEV;
 		goto out;
 	}
 
+	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
+		ret = -ECANCELED;
+		goto out;
+	}
+
+	xe_assert(xe, xe_guc_ct_enabled(ct));
+
 	if (g2h_fence) {
 		g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
 		num_g2h = 1;
@@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct *ct, int ret)
 		return false;
 
 #define ct_alive(ct)	\
-	(ct->enabled && !ct->ctbs.h2g.info.broken && !ct->ctbs.g2h.info.broken)
+	(xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
+	 !ct->ctbs.g2h.info.broken)
 	if (!wait_event_interruptible_timeout(ct->wq, ct_alive(ct),  HZ * 5))
 		return false;
 #undef ct_alive
@@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, u32 *msg, bool fast_path)
 
 	lockdep_assert_held(&ct->fast_lock);
 
-	if (!ct->enabled)
+	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
+	    ct->state == XE_GUC_CT_STATE_DISABLED)
 		return -ENODEV;
 
+	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
+		return -ECANCELED;
+
 	if (g2h->info.broken)
 		return -EPIPE;
 
+	xe_assert(xe, xe_guc_ct_enabled(ct));
+
 	/* Calculate DW available to read */
 	tail = desc_read(xe, g2h, tail);
 	avail = tail - g2h->info.head;
@@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
 		return NULL;
 	}
 
-	if (ct->enabled) {
+	if (xe_guc_ct_enabled(ct)) {
 		snapshot->ct_enabled = true;
 		snapshot->g2h_outstanding = READ_ONCE(ct->g2h_outstanding);
 		guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
index f15f8a4857e0..214a6a357519 100644
--- a/drivers/gpu/drm/xe/xe_guc_ct.h
+++ b/drivers/gpu/drm/xe/xe_guc_ct.h
@@ -13,6 +13,7 @@ struct drm_printer;
 int xe_guc_ct_init(struct xe_guc_ct *ct);
 int xe_guc_ct_enable(struct xe_guc_ct *ct);
 void xe_guc_ct_disable(struct xe_guc_ct *ct);
+void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
 void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
 
 struct xe_guc_ct_snapshot *
@@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot *snapshot,
 void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot *snapshot);
 void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic);
 
+static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
+{
+	return ct->state == XE_GUC_CT_STATE_ENABLED;
+}
+
 static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
 {
 	wake_up_all(&ct->wq);
-	if (ct->enabled)
+	if (xe_guc_ct_enabled(ct))
 		queue_work(system_unbound_wq, &ct->g2h_worker);
 	xe_guc_ct_fast_path(ct);
 }
diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h b/drivers/gpu/drm/xe/xe_guc_ct_types.h
index d814d4ee3fc6..e36c7029dffe 100644
--- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
+++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
@@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
 	struct guc_ctb_snapshot h2g;
 };
 
+/**
+ * enum xe_guc_ct_state - CT state
+ * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not expected in this state
+ * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected in this state
+ * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
+ * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
+ */
+enum xe_guc_ct_state {
+	XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
+	XE_GUC_CT_STATE_DISABLED,
+	XE_GUC_CT_STATE_DROP_MESSAGES,
+	XE_GUC_CT_STATE_ENABLED,
+};
+
 /**
  * struct xe_guc_ct - GuC command transport (CT) layer
  *
@@ -96,8 +110,8 @@ struct xe_guc_ct {
 	u32 g2h_outstanding;
 	/** @g2h_worker: worker to process G2H messages */
 	struct work_struct g2h_worker;
-	/** @enabled: CT enabled */
-	bool enabled;
+	/** @state: CT state */
+	enum xe_guc_ct_state state;;
 	/** @fence_seqno: G2H fence seqno - 16 bits used by CT */
 	u32 fence_seqno;
 	/** @fence_lookup: G2H fence lookup */
-- 
2.34.1


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

* ✓ CI.Patch_applied: success for drm/xe/guc: Add more GuC CT states
  2023-12-19 17:28 [PATCH] drm/xe/guc: Add more GuC CT states Matthew Brost
@ 2023-12-19 17:47 ` Patchwork
  2023-12-19 17:47 ` ✗ CI.checkpatch: warning " Patchwork
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-12-19 17:47 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: drm/xe/guc: Add more GuC CT states
URL   : https://patchwork.freedesktop.org/series/127982/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-xe-next' with base: ===
Base commit: a16a6c075 drm/xe/kunit: Add GuC Doorbells Manager tests
=== git am output follows ===
Applying: drm/xe/guc: Add more GuC CT states



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

* ✗ CI.checkpatch: warning for drm/xe/guc: Add more GuC CT states
  2023-12-19 17:28 [PATCH] drm/xe/guc: Add more GuC CT states Matthew Brost
  2023-12-19 17:47 ` ✓ CI.Patch_applied: success for " Patchwork
@ 2023-12-19 17:47 ` Patchwork
  2023-12-19 17:48 ` ✓ CI.KUnit: success " Patchwork
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-12-19 17:47 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: drm/xe/guc: Add more GuC CT states
URL   : https://patchwork.freedesktop.org/series/127982/
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
6030b24c1386b00de8187b5fb987e283a57b372a
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit c030aa07e278112953ac7faddd26b245bc513928
Author: Matthew Brost <matthew.brost@intel.com>
Date:   Tue Dec 19 09:28:24 2023 -0800

    drm/xe/guc: Add more GuC CT states
    
    The Guc CT has more than enabled / disables states rather it has 4. The
    4 states are not initialized, disabled, drop messages, and enabled.
    Change the code to reflect this. These states will enable proper return
    codes from functions and therefore enable proper error messages.
    
    Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
    Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
    Signed-off-by: Matthew Brost <matthew.brost@intel.com>
+ /mt/dim checkpatch a16a6c075a3d400fa8d0e51d22bb77c211048f44 drm-intel
c030aa07e drm/xe/guc: Add more GuC CT states
-:202: WARNING:TYPO_SPELLING: 'recieved' may be misspelled - perhaps 'received'?
#202: FILE: drivers/gpu/drm/xe/xe_guc_ct_types.h:80:
+ * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
                                                          ^^^^^^^^

-:221: WARNING:ONE_SEMICOLON: Statements terminations use 1 semicolon
#221: FILE: drivers/gpu/drm/xe/xe_guc_ct_types.h:114:
+	enum xe_guc_ct_state state;;

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



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

* ✓ CI.KUnit: success for drm/xe/guc: Add more GuC CT states
  2023-12-19 17:28 [PATCH] drm/xe/guc: Add more GuC CT states Matthew Brost
  2023-12-19 17:47 ` ✓ CI.Patch_applied: success for " Patchwork
  2023-12-19 17:47 ` ✗ CI.checkpatch: warning " Patchwork
@ 2023-12-19 17:48 ` Patchwork
  2023-12-19 17:55 ` ✓ CI.Build: " Patchwork
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-12-19 17:48 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: drm/xe/guc: Add more GuC CT states
URL   : https://patchwork.freedesktop.org/series/127982/
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
[17:47:17] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:47:21] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[17:47:45] Starting KUnit Kernel (1/1)...
[17:47:45] ============================================================
[17:47:45] ========================= guc_dbm  =========================
[17:47:45] [PASSED] test_empty
[17:47:45] [PASSED] test_default
[17:47:45] ======================== test_size  ========================
[17:47:45] [PASSED] 4
[17:47:45] [PASSED] 8
[17:47:45] [PASSED] 32
[17:47:45] [PASSED] 256
[17:47:45] ==================== [PASSED] test_size ====================
[17:47:45] ======================= test_reuse  ========================
[17:47:45] [PASSED] 4
[17:47:45] [PASSED] 8
[17:47:45] [PASSED] 32
[17:47:45] [PASSED] 256
[17:47:45] =================== [PASSED] test_reuse ====================
[17:47:45] =================== test_range_overlap  ====================
[17:47:45] [PASSED] 4
[17:47:45] [PASSED] 8
[17:47:45] [PASSED] 32
[17:47:45] [PASSED] 256
[17:47:45] =============== [PASSED] test_range_overlap ================
[17:47:45] =================== test_range_compact  ====================
[17:47:45] [PASSED] 4
[17:47:45] [PASSED] 8
[17:47:45] [PASSED] 32
[17:47:45] [PASSED] 256
[17:47:45] =============== [PASSED] test_range_compact ================
[17:47:45] ==================== test_range_spare  =====================
[17:47:45] [PASSED] 4
[17:47:45] [PASSED] 8
[17:47:45] [PASSED] 32
[17:47:45] [PASSED] 256
[17:47:45] ================ [PASSED] test_range_spare =================
[17:47:45] ===================== [PASSED] guc_dbm =====================
[17:47:45] ========================== lmtt  ===========================
[17:47:45] ======================== test_ops  =========================
[17:47:45] [PASSED] 2-level
[17:47:45] [PASSED] multi-level
[17:47:45] ==================== [PASSED] test_ops =====================
[17:47:45] ====================== [PASSED] lmtt =======================
[17:47:45] ========================== xe_bo  ==========================
[17:47:45] [SKIPPED] xe_ccs_migrate_kunit
[17:47:45] [SKIPPED] xe_bo_evict_kunit
[17:47:45] ===================== [SKIPPED] xe_bo ======================
[17:47:45] ======================= xe_dma_buf  ========================
[17:47:45] [SKIPPED] xe_dma_buf_kunit
[17:47:45] =================== [SKIPPED] xe_dma_buf ===================
[17:47:45] ======================= xe_migrate  ========================
[17:47:45] [SKIPPED] xe_migrate_sanity_kunit
[17:47:45] =================== [SKIPPED] xe_migrate ===================
[17:47:45] ========================= xe_mocs  =========================
[17:47:45] [SKIPPED] xe_live_mocs_kernel_kunit
[17:47:45] ==================== [SKIPPED] xe_mocs =====================
[17:47:45] ========================= xe_pci  ==========================
[17:47:45] [PASSED] xe_gmdid_graphics_ip
[17:47:45] [PASSED] xe_gmdid_media_ip
[17:47:45] ===================== [PASSED] xe_pci ======================
[17:47:45] ========================= xe_rtp  ==========================
[17:47:45] ================== xe_rtp_process_tests  ===================
[17:47:45] [PASSED] coalesce-same-reg
[17:47:45] [PASSED] no-match-no-add
[17:47:45] [PASSED] no-match-no-add-multiple-rules
[17:47:45] [PASSED] two-regs-two-entries
[17:47:45] [PASSED] clr-one-set-other
[17:47:45] [PASSED] set-field
[17:47:45] [PASSED] conflict-duplicate
[17:47:45] [PASSED] conflict-not-disjoint
[17:47:45] [PASSED] conflict-reg-type
[17:47:45] ============== [PASSED] xe_rtp_process_tests ===============
[17:47:45] ===================== [PASSED] xe_rtp ======================
[17:47:45] ========================== xe_wa  ==========================
[17:47:45] ======================== xe_wa_gt  =========================
[17:47:45] [PASSED] TIGERLAKE (B0)
[17:47:45] [PASSED] DG1 (A0)
[17:47:45] [PASSED] DG1 (B0)
[17:47:45] [PASSED] ALDERLAKE_S (A0)
[17:47:45] [PASSED] ALDERLAKE_S (B0)
[17:47:45] [PASSED] ALDERLAKE_S (C0)
[17:47:45] [PASSED] ALDERLAKE_S (D0)
[17:47:45] [PASSED] ALDERLAKE_P (A0)
[17:47:45] [PASSED] ALDERLAKE_P (B0)
[17:47:45] [PASSED] ALDERLAKE_P (C0)
[17:47:45] [PASSED] ALDERLAKE_S_RPLS (D0)
[17:47:45] [PASSED] ALDERLAKE_P_RPLU (E0)
[17:47:45] [PASSED] DG2_G10 (A0)
[17:47:45] [PASSED] DG2_G10 (A1)
[17:47:45] [PASSED] DG2_G10 (B0)
[17:47:45] [PASSED] DG2_G10 (C0)
[17:47:45] [PASSED] DG2_G11 (A0)
[17:47:45] [PASSED] DG2_G11 (B0)
[17:47:45] [PASSED] DG2_G11 (B1)
[17:47:45] [PASSED] DG2_G12 (A0)
[17:47:45] [PASSED] DG2_G12 (A1)
[17:47:45] [PASSED] PVC (B0)
[17:47:45] [PASSED] PVC (B1)
[17:47:45] [PASSED] PVC (C0)
[17:47:45] [PASSED] METEORLAKE (g:A0, m:A0)
[17:47:45] [PASSED] METEORLAKE (g:A0, m:A0)
[17:47:45] [PASSED] LUNARLAKE (g:A0, m:A0)
[17:47:45] [PASSED] LUNARLAKE (g:B0, m:A0)
[17:47:45] ==================== [PASSED] xe_wa_gt =====================
[17:47:45] ====================== [PASSED] xe_wa ======================
[17:47:45] ============================================================
[17:47:45] Testing complete. Ran 68 tests: passed: 63, skipped: 5
[17:47:45] Elapsed time: 27.533s total, 4.210s configuring, 23.103s building, 0.173s running

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

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



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

* ✓ CI.Build: success for drm/xe/guc: Add more GuC CT states
  2023-12-19 17:28 [PATCH] drm/xe/guc: Add more GuC CT states Matthew Brost
                   ` (2 preceding siblings ...)
  2023-12-19 17:48 ` ✓ CI.KUnit: success " Patchwork
@ 2023-12-19 17:55 ` Patchwork
  2023-12-19 17:56 ` ✓ CI.Hooks: " Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-12-19 17:55 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: drm/xe/guc: Add more GuC CT states
URL   : https://patchwork.freedesktop.org/series/127982/
State : success

== Summary ==

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



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

* ✓ CI.Hooks: success for drm/xe/guc: Add more GuC CT states
  2023-12-19 17:28 [PATCH] drm/xe/guc: Add more GuC CT states Matthew Brost
                   ` (3 preceding siblings ...)
  2023-12-19 17:55 ` ✓ CI.Build: " Patchwork
@ 2023-12-19 17:56 ` Patchwork
  2023-12-19 17:57 ` ✓ CI.checksparse: " Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-12-19 17:56 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: drm/xe/guc: Add more GuC CT states
URL   : https://patchwork.freedesktop.org/series/127982/
State : success

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ pwd
+ ls -la
/workspace
total 912
drwxrwxr-x 12 1003 1003   4096 Dec 19 17:55 .
drwxr-xr-x  1 root root   4096 Dec 19 17:55 ..
-rw-rw-r--  1 1003 1003 816314 Dec 19 17:55 build.log
-rw-rw-r--  1 1003 1003   1598 Dec 19 17:47 checkpatch.log
drwxrwxr-x  5 1003 1003   4096 Dec 19 17:45 ci
drwxrwxr-x  9 1003 1003   4096 Dec 19 17:44 docker
drwxrwxr-x  8 1003 1003   4096 Dec 19 17:44 .git
-rw-rw-r--  1 1003 1003    211 Dec 19 17:46 git_apply.log
drwxrwxr-x  4 1003 1003   4096 Dec 19 17:44 .github
-rw-rw-r--  1 1003 1003    233 Dec 19 17:44 .groovylintrc.json
-rw-rw-r--  1 1003 1003     78 Dec 19 17:55 hooks.log
drwxrwxr-x 31 1003 1003   4096 Dec 19 17:55 kernel
-rw-rw-r--  1 1003 1003   7714 Dec 19 17:46 kernel.mbox
-rw-rw-r--  1 1003 1003  32591 Dec 19 17:48 kunit.log
-rw-rw-r--  1 1003 1003     48 Dec 19 17:47 parent.tag
drwxrwxr-x 44 1003 1003   4096 Dec 19 17:44 pipelines
-rw-rw-r--  1 1003 1003    793 Dec 19 17:44 README.adoc
drwxrwxr-x  3 1003 1003   4096 Dec 19 17:44 scripts
drwxrwxr-x  3 1003 1003   4096 Dec 19 17:44 src
drwxrwxr-x  2 1003 1003   4096 Dec 19 17:44 vars
drwxrwxr-x  2 1003 1003   4096 Dec 19 17:44 .vscode
+ uname -a
Linux 73ff649a8c2a 5.4.0-164-generic #181-Ubuntu SMP Fri Sep 1 13:41:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
+ '[' -n /workspace ']'
+ git_args='-C /workspace/kernel'
+ git_log_args=
+ git --no-pager -C /workspace/kernel log --format=oneline --abbrev-commit
c030aa07e drm/xe/guc: Add more GuC CT states
a16a6c075 drm/xe/kunit: Add GuC Doorbells Manager tests
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
  GEN     Makefile
  UPD     include/generated/compile.h
  UPD     include/config/kernel.release
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool 
  UPD     include/generated/utsrelease.h
  HOSTCC  /workspace/kernel/build64-default/tools/objtool/fixdep.o
  CALL    ../scripts/checksyscalls.sh
  HOSTLD  /workspace/kernel/build64-default/tools/objtool/fixdep-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/fixdep
  INSTALL libsubcmd_headers
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
  LD      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
  AR      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
  CC      /workspace/kernel/build64-default/tools/objtool/weak.o
  CC      /workspace/kernel/build64-default/tools/objtool/check.o
  CC      /workspace/kernel/build64-default/tools/objtool/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/builtin-check.o
  CC      /workspace/kernel/build64-default/tools/objtool/elf.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64-default/tools/objtool/objtool.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64-default/tools/objtool/libstring.o
  CC      /workspace/kernel/build64-default/tools/objtool/libctype.o
  CC      /workspace/kernel/build64-default/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64-default/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
  LD      /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
  LD      /workspace/kernel/build64-default/tools/objtool/objtool-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-default'
++ nproc
+ make -j48 O=/workspace/kernel/build64-default M=drivers/gpu/drm/xe W=1
make[1]: Entering directory '/workspace/kernel/build64-default'
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC [M]  drivers/gpu/drm/xe/xe_gsc_submit.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_ccs_mode.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_freq.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle.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_throttle_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_db_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC [M]  drivers/gpu/drm/xe/xe_memirq.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov.o
  CC [M]  drivers/gpu/drm/xe/xe_lmtt.o
  CC [M]  drivers/gpu/drm/xe/xe_lmtt_2l.o
  CC [M]  drivers/gpu/drm/xe/xe_lmtt_ml.o
  CC [M]  drivers/gpu/drm/xe/xe_display.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_dsb_buffer.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev_fb.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fb_bo.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_utils.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_dram.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_pch.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_audio.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_color.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
  CC [M]  drivers/gpu/drm/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 [M]  drivers/gpu/drm/xe/i915-display/intel_display_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_trace.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.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/xe/i915-display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_drrs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsb.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.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/xe/i915-display/intel_fdi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_global_state.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hti.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_link_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_lock.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/xe/i915-display/intel_panel.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pps.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_psr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_quirks.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_tc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vblank.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vga.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vrr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_wm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_scaler.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_watermark.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_acpi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_opregion.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_kunit_helpers.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_mocs_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  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_gem.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_fixed.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_lmem.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_mman.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_gt_types.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_active.h
  HDRTEST drivers/gpu/drm/xe/display/intel_fb_bo.h
  HDRTEST drivers/gpu/drm/xe/display/intel_fbdev_fb.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_instr_defs.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_mi_commands.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gsc_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_guc_regs.h
  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_sriov_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_lrc_layout.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_engine_regs.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_kunit_helpers.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_mocs_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_bo_test.h
  HDRTEST drivers/gpu/drm/xe/xe_assert.h
  HDRTEST drivers/gpu/drm/xe/xe_bb.h
  HDRTEST drivers/gpu/drm/xe/xe_bb_types.h
  HDRTEST drivers/gpu/drm/xe/xe_bo.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_evict.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_types.h
  HDRTEST drivers/gpu/drm/xe/xe_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump_types.h
  HDRTEST drivers/gpu/drm/xe/xe_device.h
  HDRTEST drivers/gpu/drm/xe/xe_device_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_device_types.h
  HDRTEST drivers/gpu/drm/xe/xe_display.h
  HDRTEST drivers/gpu/drm/xe/xe_dma_buf.h
  HDRTEST drivers/gpu/drm/xe/xe_drm_client.h
  HDRTEST drivers/gpu/drm/xe/xe_drv.h
  HDRTEST drivers/gpu/drm/xe/xe_exec.h
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue.h
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue_types.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist_types.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake_types.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gpu_scheduler.h
  HDRTEST drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_ccs_mode.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_freq.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle_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_throttle_sysfs.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_db_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_fwif.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_hwconfig.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_heci_gsc.h
  HDRTEST drivers/gpu/drm/xe/xe_huc.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hwmon.h
  HDRTEST drivers/gpu/drm/xe/xe_irq.h
  HDRTEST drivers/gpu/drm/xe/xe_lmtt.h
  HDRTEST drivers/gpu/drm/xe/xe_lmtt_types.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_memirq.h
  HDRTEST drivers/gpu/drm/xe/xe_memirq_types.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_mmio.h
  HDRTEST drivers/gpu/drm/xe/xe_mocs.h
  HDRTEST drivers/gpu/drm/xe/xe_module.h
  HDRTEST drivers/gpu/drm/xe/xe_pat.h
  HDRTEST drivers/gpu/drm/xe/xe_pci.h
  HDRTEST drivers/gpu/drm/xe/xe_pci_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode_api.h
  HDRTEST drivers/gpu/drm/xe/xe_platform_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pm.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_walk.h
  HDRTEST drivers/gpu/drm/xe/xe_query.h
  HDRTEST drivers/gpu/drm/xe/xe_range_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_whitelist.h
  HDRTEST drivers/gpu/drm/xe/xe_res_cursor.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops_types.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sa.h
  HDRTEST drivers/gpu/drm/xe/xe_sa_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sriov.h
  HDRTEST drivers/gpu/drm/xe/xe_sriov_printk.h
  HDRTEST drivers/gpu/drm/xe/xe_sriov_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_types.h
  HDRTEST drivers/gpu/drm/xe/xe_wa.h
  HDRTEST drivers/gpu/drm/xe/xe_wait_user_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm_types.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_gsc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  MODPOST drivers/gpu/drm/xe/Module.symvers
WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/xe/tests/xe_mocs_test.o
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_mocs_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.mod.o
  LD [M]  drivers/gpu/drm/xe/tests/xe_wa_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_mocs_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_bo_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_pci_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.ko
  LD [M]  drivers/gpu/drm/xe/xe.ko
make[1]: Leaving directory '/workspace/kernel/build64-default'
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] 18+ messages in thread

* ✓ CI.checksparse: success for drm/xe/guc: Add more GuC CT states
  2023-12-19 17:28 [PATCH] drm/xe/guc: Add more GuC CT states Matthew Brost
                   ` (4 preceding siblings ...)
  2023-12-19 17:56 ` ✓ CI.Hooks: " Patchwork
@ 2023-12-19 17:57 ` Patchwork
  2023-12-19 18:32 ` ✓ CI.BAT: " Patchwork
  2023-12-21 21:56 ` [PATCH] " Daniele Ceraolo Spurio
  7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-12-19 17:57 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

== Series Details ==

Series: drm/xe/guc: Add more GuC CT states
URL   : https://patchwork.freedesktop.org/series/127982/
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 a16a6c075a3d400fa8d0e51d22bb77c211048f44
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] 18+ messages in thread

* ✓ CI.BAT: success for drm/xe/guc: Add more GuC CT states
  2023-12-19 17:28 [PATCH] drm/xe/guc: Add more GuC CT states Matthew Brost
                   ` (5 preceding siblings ...)
  2023-12-19 17:57 ` ✓ CI.checksparse: " Patchwork
@ 2023-12-19 18:32 ` Patchwork
  2023-12-21 21:56 ` [PATCH] " Daniele Ceraolo Spurio
  7 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2023-12-19 18:32 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe/guc: Add more GuC CT states
URL   : https://patchwork.freedesktop.org/series/127982/
State : success

== Summary ==

CI Bug Log - changes from xe-588-a16a6c075a3d400fa8d0e51d22bb77c211048f44_BAT -> xe-pw-127982v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

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

  Here are the changes found in xe-pw-127982v1_BAT that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@xe_create@create-execqueues-leak:
    - bat-atsm-2:         [FAIL][1] ([Intel XE#524]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-588-a16a6c075a3d400fa8d0e51d22bb77c211048f44/bat-atsm-2/igt@xe_create@create-execqueues-leak.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-127982v1/bat-atsm-2/igt@xe_create@create-execqueues-leak.html

  * igt@xe_prime_self_import@basic-with_fd_dup:
    - bat-atsm-2:         [FAIL][3] ([Intel XE#999]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-588-a16a6c075a3d400fa8d0e51d22bb77c211048f44/bat-atsm-2/igt@xe_prime_self_import@basic-with_fd_dup.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-127982v1/bat-atsm-2/igt@xe_prime_self_import@basic-with_fd_dup.html

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


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

  * Linux: xe-588-a16a6c075a3d400fa8d0e51d22bb77c211048f44 -> xe-pw-127982v1

  IGT_7648: 5c7b44f13c9c5bc15af0cb2b6a5ea10a8a468ac0 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-588-a16a6c075a3d400fa8d0e51d22bb77c211048f44: a16a6c075a3d400fa8d0e51d22bb77c211048f44
  xe-pw-127982v1: 127982v1

== Logs ==

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

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

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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-19 17:28 [PATCH] drm/xe/guc: Add more GuC CT states Matthew Brost
                   ` (6 preceding siblings ...)
  2023-12-19 18:32 ` ✓ CI.BAT: " Patchwork
@ 2023-12-21 21:56 ` Daniele Ceraolo Spurio
  2023-12-22  5:47   ` Matthew Brost
  7 siblings, 1 reply; 18+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-12-21 21:56 UTC (permalink / raw)
  To: Matthew Brost, intel-xe



On 12/19/2023 9:28 AM, Matthew Brost wrote:
> The Guc CT has more than enabled / disables states rather it has 4. The
> 4 states are not initialized, disabled, drop messages, and enabled.
> Change the code to reflect this. These states will enable proper return
> codes from functions and therefore enable proper error messages.

Can you explain a bit more in which situation we expect to drop messages 
and handle it? AFAICS not all callers waiting for a G2H reply can cope 
with the reply not coming; e.g. it looks like 
xe_gt_tlb_invalidation_wait() will timeout and throw an error (which IMO 
is already an issue, because the reply might be lost due to reset). I 
know that currently in all cases in which we stop communication we do a 
reset, so the situation ends up ok, but there is a pending series to 
remove the reset in the runtime suspend/resume scenario 
(https://patchwork.freedesktop.org/series/122772/) in which case IMO we 
don't want to drop messages but do a flush instead.

Daniele

>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_guc.c          |  4 +-
>   drivers/gpu/drm/xe/xe_guc_ct.c       | 55 ++++++++++++++++++++--------
>   drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
>   drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
>   4 files changed, 64 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> index 482cb0df9f15..9b0fa8b1eb48 100644
> --- a/drivers/gpu/drm/xe/xe_guc.c
> +++ b/drivers/gpu/drm/xe/xe_guc.c
> @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
>   
>   	BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
>   
> -	xe_assert(xe, !guc->ct.enabled);
> +	xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
>   	xe_assert(xe, len);
>   	xe_assert(xe, len <= VF_SW_FLAG_COUNT);
>   	xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
> @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
>   {
>   	int ret;
>   
> -	xe_guc_ct_disable(&guc->ct);
> +	xe_guc_ct_drop_messages(&guc->ct);
>   
>   	ret = xe_guc_submit_stop(guc);
>   	if (ret)
> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
> index 24a33fa36496..22d655a8bf9a 100644
> --- a/drivers/gpu/drm/xe/xe_guc_ct.c
> +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
> @@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct xe_guc_ct *ct, bool enable)
>   	return ret > 0 ? -EPROTO : ret;
>   }
>   
> +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
> +				enum xe_guc_ct_state state)
> +{
> +	mutex_lock(&ct->lock);		/* Serialise dequeue_one_g2h() */
> +	spin_lock_irq(&ct->fast_lock);	/* Serialise CT fast-path */
> +
> +	ct->g2h_outstanding = 0;
> +	ct->state = state;
> +
> +	spin_unlock_irq(&ct->fast_lock);
> +	mutex_unlock(&ct->lock);
> +}
> +
>   int xe_guc_ct_enable(struct xe_guc_ct *ct)
>   {
>   	struct xe_device *xe = ct_to_xe(ct);
>   	int err;
>   
> -	xe_assert(xe, !ct->enabled);
> +	xe_assert(xe, !xe_guc_ct_enabled(ct));
>   
>   	guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
>   	guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
> @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>   	if (err)
>   		goto err_out;
>   
> -	mutex_lock(&ct->lock);
> -	spin_lock_irq(&ct->fast_lock);
> -	ct->g2h_outstanding = 0;
> -	ct->enabled = true;
> -	spin_unlock_irq(&ct->fast_lock);
> -	mutex_unlock(&ct->lock);
> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
>   
>   	smp_mb();
>   	wake_up_all(&ct->wq);
> @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>   
>   void xe_guc_ct_disable(struct xe_guc_ct *ct)
>   {
> -	mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
> -	spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
> -	ct->enabled = false; /* Finally disable CT communication */
> -	spin_unlock_irq(&ct->fast_lock);
> -	mutex_unlock(&ct->lock);
> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
> +}
>   
> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
> +{
> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
>   	xa_destroy(&ct->fence_lookup);
>   }
>   
> @@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
>   		goto out;
>   	}
>   
> -	if (unlikely(!ct->enabled)) {
> +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> +	    ct->state == XE_GUC_CT_STATE_DISABLED) {
>   		ret = -ENODEV;
>   		goto out;
>   	}
>   
> +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
> +		ret = -ECANCELED;
> +		goto out;
> +	}
> +
> +	xe_assert(xe, xe_guc_ct_enabled(ct));
> +
>   	if (g2h_fence) {
>   		g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
>   		num_g2h = 1;
> @@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct *ct, int ret)
>   		return false;
>   
>   #define ct_alive(ct)	\
> -	(ct->enabled && !ct->ctbs.h2g.info.broken && !ct->ctbs.g2h.info.broken)
> +	(xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
> +	 !ct->ctbs.g2h.info.broken)
>   	if (!wait_event_interruptible_timeout(ct->wq, ct_alive(ct),  HZ * 5))
>   		return false;
>   #undef ct_alive
> @@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, u32 *msg, bool fast_path)
>   
>   	lockdep_assert_held(&ct->fast_lock);
>   
> -	if (!ct->enabled)
> +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> +	    ct->state == XE_GUC_CT_STATE_DISABLED)
>   		return -ENODEV;
>   
> +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
> +		return -ECANCELED;
> +
>   	if (g2h->info.broken)
>   		return -EPIPE;
>   
> +	xe_assert(xe, xe_guc_ct_enabled(ct));
> +
>   	/* Calculate DW available to read */
>   	tail = desc_read(xe, g2h, tail);
>   	avail = tail - g2h->info.head;
> @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
>   		return NULL;
>   	}
>   
> -	if (ct->enabled) {
> +	if (xe_guc_ct_enabled(ct)) {
>   		snapshot->ct_enabled = true;
>   		snapshot->g2h_outstanding = READ_ONCE(ct->g2h_outstanding);
>   		guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
> index f15f8a4857e0..214a6a357519 100644
> --- a/drivers/gpu/drm/xe/xe_guc_ct.h
> +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
> @@ -13,6 +13,7 @@ struct drm_printer;
>   int xe_guc_ct_init(struct xe_guc_ct *ct);
>   int xe_guc_ct_enable(struct xe_guc_ct *ct);
>   void xe_guc_ct_disable(struct xe_guc_ct *ct);
> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
>   void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
>   
>   struct xe_guc_ct_snapshot *
> @@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot *snapshot,
>   void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot *snapshot);
>   void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic);
>   
> +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
> +{
> +	return ct->state == XE_GUC_CT_STATE_ENABLED;
> +}
> +
>   static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
>   {
>   	wake_up_all(&ct->wq);
> -	if (ct->enabled)
> +	if (xe_guc_ct_enabled(ct))
>   		queue_work(system_unbound_wq, &ct->g2h_worker);
>   	xe_guc_ct_fast_path(ct);
>   }
> diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> index d814d4ee3fc6..e36c7029dffe 100644
> --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
> +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
>   	struct guc_ctb_snapshot h2g;
>   };
>   
> +/**
> + * enum xe_guc_ct_state - CT state
> + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not expected in this state
> + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected in this state
> + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
> + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
> + */
> +enum xe_guc_ct_state {
> +	XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
> +	XE_GUC_CT_STATE_DISABLED,
> +	XE_GUC_CT_STATE_DROP_MESSAGES,
> +	XE_GUC_CT_STATE_ENABLED,
> +};
> +
>   /**
>    * struct xe_guc_ct - GuC command transport (CT) layer
>    *
> @@ -96,8 +110,8 @@ struct xe_guc_ct {
>   	u32 g2h_outstanding;
>   	/** @g2h_worker: worker to process G2H messages */
>   	struct work_struct g2h_worker;
> -	/** @enabled: CT enabled */
> -	bool enabled;
> +	/** @state: CT state */
> +	enum xe_guc_ct_state state;;
>   	/** @fence_seqno: G2H fence seqno - 16 bits used by CT */
>   	u32 fence_seqno;
>   	/** @fence_lookup: G2H fence lookup */


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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-21 21:56 ` [PATCH] " Daniele Ceraolo Spurio
@ 2023-12-22  5:47   ` Matthew Brost
  2023-12-22  5:52     ` Matthew Brost
  2023-12-22 19:36     ` Daniele Ceraolo Spurio
  0 siblings, 2 replies; 18+ messages in thread
From: Matthew Brost @ 2023-12-22  5:47 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

On Thu, Dec 21, 2023 at 01:56:33PM -0800, Daniele Ceraolo Spurio wrote:
> 
> 
> On 12/19/2023 9:28 AM, Matthew Brost wrote:
> > The Guc CT has more than enabled / disables states rather it has 4. The
> > 4 states are not initialized, disabled, drop messages, and enabled.
> > Change the code to reflect this. These states will enable proper return
> > codes from functions and therefore enable proper error messages.
> 
> Can you explain a bit more in which situation we expect to drop messages and
> handle it? AFAICS not all callers waiting for a G2H reply can cope with the

Anything that requires a G2H reply must be able to cope with it getting
dropped as the GuC can hang at any moment. Certainly all of submission
is designed this way, so is TLB invalidations. More on that below. With
everything being able to cope with lost G2H their is not a point to
continue to process G2H once a reset has started (or send H2G either).

> reply not coming; e.g. it looks like xe_gt_tlb_invalidation_wait() will

During a GT reset xe_gt_tlb_invalidation_reset() is called which will
signal all waiters for invalidations avoiding timeouts.

So the flow roughly is:

Set CT channel to drop messages
Stop all submissions
Do reset
Signal TLB invalidation waiters.

> timeout and throw an error (which IMO is already an issue, because the reply
> might be lost due to reset). I know that currently in all cases in which we
> stop communication we do a reset, so the situation ends up ok, but there is
> a pending series to remove the reset in the runtime suspend/resume scenario
> (https://patchwork.freedesktop.org/series/122772/) in which case IMO we

This path we would want to put the GuC communication into a state where
if messages send / recv this triggers an error. (-ENODEV).  We don't
expect to suspend the device and then send / recv messages. That is the
point of this patch - it is fine drop messages during a reset, not if
during suspend or if CT has not yet been initialized.

Proper error messages will added based on these new states.

> don't want to drop messages but do a flush instead.
> 

See above. Also unsure what you mean by flush here? Do you mean the G2H
worker? I think that creates some dma-fencing (or lockdep) nightmares if
we do that.

Matt

> Daniele
> 
> > 
> > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> > Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> >   drivers/gpu/drm/xe/xe_guc.c          |  4 +-
> >   drivers/gpu/drm/xe/xe_guc_ct.c       | 55 ++++++++++++++++++++--------
> >   drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
> >   drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
> >   4 files changed, 64 insertions(+), 21 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> > index 482cb0df9f15..9b0fa8b1eb48 100644
> > --- a/drivers/gpu/drm/xe/xe_guc.c
> > +++ b/drivers/gpu/drm/xe/xe_guc.c
> > @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
> >   	BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
> > -	xe_assert(xe, !guc->ct.enabled);
> > +	xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
> >   	xe_assert(xe, len);
> >   	xe_assert(xe, len <= VF_SW_FLAG_COUNT);
> >   	xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
> > @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
> >   {
> >   	int ret;
> > -	xe_guc_ct_disable(&guc->ct);
> > +	xe_guc_ct_drop_messages(&guc->ct);
> >   	ret = xe_guc_submit_stop(guc);
> >   	if (ret)
> > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
> > index 24a33fa36496..22d655a8bf9a 100644
> > --- a/drivers/gpu/drm/xe/xe_guc_ct.c
> > +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
> > @@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct xe_guc_ct *ct, bool enable)
> >   	return ret > 0 ? -EPROTO : ret;
> >   }
> > +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
> > +				enum xe_guc_ct_state state)
> > +{
> > +	mutex_lock(&ct->lock);		/* Serialise dequeue_one_g2h() */
> > +	spin_lock_irq(&ct->fast_lock);	/* Serialise CT fast-path */
> > +
> > +	ct->g2h_outstanding = 0;
> > +	ct->state = state;
> > +
> > +	spin_unlock_irq(&ct->fast_lock);
> > +	mutex_unlock(&ct->lock);
> > +}
> > +
> >   int xe_guc_ct_enable(struct xe_guc_ct *ct)
> >   {
> >   	struct xe_device *xe = ct_to_xe(ct);
> >   	int err;
> > -	xe_assert(xe, !ct->enabled);
> > +	xe_assert(xe, !xe_guc_ct_enabled(ct));
> >   	guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
> >   	guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
> > @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> >   	if (err)
> >   		goto err_out;
> > -	mutex_lock(&ct->lock);
> > -	spin_lock_irq(&ct->fast_lock);
> > -	ct->g2h_outstanding = 0;
> > -	ct->enabled = true;
> > -	spin_unlock_irq(&ct->fast_lock);
> > -	mutex_unlock(&ct->lock);
> > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
> >   	smp_mb();
> >   	wake_up_all(&ct->wq);
> > @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> >   void xe_guc_ct_disable(struct xe_guc_ct *ct)
> >   {
> > -	mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
> > -	spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
> > -	ct->enabled = false; /* Finally disable CT communication */
> > -	spin_unlock_irq(&ct->fast_lock);
> > -	mutex_unlock(&ct->lock);
> > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
> > +}
> > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
> > +{
> > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
> >   	xa_destroy(&ct->fence_lookup);
> >   }
> > @@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
> >   		goto out;
> >   	}
> > -	if (unlikely(!ct->enabled)) {
> > +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > +	    ct->state == XE_GUC_CT_STATE_DISABLED) {
> >   		ret = -ENODEV;
> >   		goto out;
> >   	}
> > +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
> > +		ret = -ECANCELED;
> > +		goto out;
> > +	}
> > +
> > +	xe_assert(xe, xe_guc_ct_enabled(ct));
> > +
> >   	if (g2h_fence) {
> >   		g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
> >   		num_g2h = 1;
> > @@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct *ct, int ret)
> >   		return false;
> >   #define ct_alive(ct)	\
> > -	(ct->enabled && !ct->ctbs.h2g.info.broken && !ct->ctbs.g2h.info.broken)
> > +	(xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
> > +	 !ct->ctbs.g2h.info.broken)
> >   	if (!wait_event_interruptible_timeout(ct->wq, ct_alive(ct),  HZ * 5))
> >   		return false;
> >   #undef ct_alive
> > @@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, u32 *msg, bool fast_path)
> >   	lockdep_assert_held(&ct->fast_lock);
> > -	if (!ct->enabled)
> > +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > +	    ct->state == XE_GUC_CT_STATE_DISABLED)
> >   		return -ENODEV;
> > +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
> > +		return -ECANCELED;
> > +
> >   	if (g2h->info.broken)
> >   		return -EPIPE;
> > +	xe_assert(xe, xe_guc_ct_enabled(ct));
> > +
> >   	/* Calculate DW available to read */
> >   	tail = desc_read(xe, g2h, tail);
> >   	avail = tail - g2h->info.head;
> > @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
> >   		return NULL;
> >   	}
> > -	if (ct->enabled) {
> > +	if (xe_guc_ct_enabled(ct)) {
> >   		snapshot->ct_enabled = true;
> >   		snapshot->g2h_outstanding = READ_ONCE(ct->g2h_outstanding);
> >   		guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
> > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
> > index f15f8a4857e0..214a6a357519 100644
> > --- a/drivers/gpu/drm/xe/xe_guc_ct.h
> > +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
> > @@ -13,6 +13,7 @@ struct drm_printer;
> >   int xe_guc_ct_init(struct xe_guc_ct *ct);
> >   int xe_guc_ct_enable(struct xe_guc_ct *ct);
> >   void xe_guc_ct_disable(struct xe_guc_ct *ct);
> > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
> >   void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
> >   struct xe_guc_ct_snapshot *
> > @@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot *snapshot,
> >   void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot *snapshot);
> >   void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic);
> > +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
> > +{
> > +	return ct->state == XE_GUC_CT_STATE_ENABLED;
> > +}
> > +
> >   static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
> >   {
> >   	wake_up_all(&ct->wq);
> > -	if (ct->enabled)
> > +	if (xe_guc_ct_enabled(ct))
> >   		queue_work(system_unbound_wq, &ct->g2h_worker);
> >   	xe_guc_ct_fast_path(ct);
> >   }
> > diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > index d814d4ee3fc6..e36c7029dffe 100644
> > --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
> >   	struct guc_ctb_snapshot h2g;
> >   };
> > +/**
> > + * enum xe_guc_ct_state - CT state
> > + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not expected in this state
> > + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected in this state
> > + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
> > + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
> > + */
> > +enum xe_guc_ct_state {
> > +	XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
> > +	XE_GUC_CT_STATE_DISABLED,
> > +	XE_GUC_CT_STATE_DROP_MESSAGES,
> > +	XE_GUC_CT_STATE_ENABLED,
> > +};
> > +
> >   /**
> >    * struct xe_guc_ct - GuC command transport (CT) layer
> >    *
> > @@ -96,8 +110,8 @@ struct xe_guc_ct {
> >   	u32 g2h_outstanding;
> >   	/** @g2h_worker: worker to process G2H messages */
> >   	struct work_struct g2h_worker;
> > -	/** @enabled: CT enabled */
> > -	bool enabled;
> > +	/** @state: CT state */
> > +	enum xe_guc_ct_state state;;
> >   	/** @fence_seqno: G2H fence seqno - 16 bits used by CT */
> >   	u32 fence_seqno;
> >   	/** @fence_lookup: G2H fence lookup */
> 

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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-22  5:47   ` Matthew Brost
@ 2023-12-22  5:52     ` Matthew Brost
  2023-12-27  6:52       ` Riana Tauro
  2023-12-22 19:36     ` Daniele Ceraolo Spurio
  1 sibling, 1 reply; 18+ messages in thread
From: Matthew Brost @ 2023-12-22  5:52 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

On Fri, Dec 22, 2023 at 05:47:17AM +0000, Matthew Brost wrote:
> On Thu, Dec 21, 2023 at 01:56:33PM -0800, Daniele Ceraolo Spurio wrote:
> > 
> > 
> > On 12/19/2023 9:28 AM, Matthew Brost wrote:
> > > The Guc CT has more than enabled / disables states rather it has 4. The
> > > 4 states are not initialized, disabled, drop messages, and enabled.
> > > Change the code to reflect this. These states will enable proper return
> > > codes from functions and therefore enable proper error messages.
> > 
> > Can you explain a bit more in which situation we expect to drop messages and
> > handle it? AFAICS not all callers waiting for a G2H reply can cope with the
> 
> Anything that requires a G2H reply must be able to cope with it getting
> dropped as the GuC can hang at any moment. Certainly all of submission
> is designed this way, so is TLB invalidations. More on that below. With
> everything being able to cope with lost G2H their is not a point to
> continue to process G2H once a reset has started (or send H2G either).
> 
> > reply not coming; e.g. it looks like xe_gt_tlb_invalidation_wait() will
> 
> During a GT reset xe_gt_tlb_invalidation_reset() is called which will
> signal all waiters for invalidations avoiding timeouts.
> 
> So the flow roughly is:
> 
> Set CT channel to drop messages
> Stop all submissions
> Do reset
> Signal TLB invalidation waiters.
> 

Ah, forgot a key detail here. Setting CT channel to drop message before
do the reset is key here - we don't want a G2H being processed to race
with cleaning up lost G2H in there reset step.

Matt

> > timeout and throw an error (which IMO is already an issue, because the reply
> > might be lost due to reset). I know that currently in all cases in which we
> > stop communication we do a reset, so the situation ends up ok, but there is
> > a pending series to remove the reset in the runtime suspend/resume scenario
> > (https://patchwork.freedesktop.org/series/122772/) in which case IMO we
> 
> This path we would want to put the GuC communication into a state where
> if messages send / recv this triggers an error. (-ENODEV).  We don't
> expect to suspend the device and then send / recv messages. That is the
> point of this patch - it is fine drop messages during a reset, not if
> during suspend or if CT has not yet been initialized.
> 
> Proper error messages will added based on these new states.
> 
> > don't want to drop messages but do a flush instead.
> > 
> 
> See above. Also unsure what you mean by flush here? Do you mean the G2H
> worker? I think that creates some dma-fencing (or lockdep) nightmares if
> we do that.
> 
> Matt
> 
> > Daniele
> > 
> > > 
> > > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> > > Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
> > > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > > ---
> > >   drivers/gpu/drm/xe/xe_guc.c          |  4 +-
> > >   drivers/gpu/drm/xe/xe_guc_ct.c       | 55 ++++++++++++++++++++--------
> > >   drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
> > >   drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
> > >   4 files changed, 64 insertions(+), 21 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> > > index 482cb0df9f15..9b0fa8b1eb48 100644
> > > --- a/drivers/gpu/drm/xe/xe_guc.c
> > > +++ b/drivers/gpu/drm/xe/xe_guc.c
> > > @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
> > >   	BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
> > > -	xe_assert(xe, !guc->ct.enabled);
> > > +	xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
> > >   	xe_assert(xe, len);
> > >   	xe_assert(xe, len <= VF_SW_FLAG_COUNT);
> > >   	xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
> > > @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
> > >   {
> > >   	int ret;
> > > -	xe_guc_ct_disable(&guc->ct);
> > > +	xe_guc_ct_drop_messages(&guc->ct);
> > >   	ret = xe_guc_submit_stop(guc);
> > >   	if (ret)
> > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
> > > index 24a33fa36496..22d655a8bf9a 100644
> > > --- a/drivers/gpu/drm/xe/xe_guc_ct.c
> > > +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
> > > @@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct xe_guc_ct *ct, bool enable)
> > >   	return ret > 0 ? -EPROTO : ret;
> > >   }
> > > +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
> > > +				enum xe_guc_ct_state state)
> > > +{
> > > +	mutex_lock(&ct->lock);		/* Serialise dequeue_one_g2h() */
> > > +	spin_lock_irq(&ct->fast_lock);	/* Serialise CT fast-path */
> > > +
> > > +	ct->g2h_outstanding = 0;
> > > +	ct->state = state;
> > > +
> > > +	spin_unlock_irq(&ct->fast_lock);
> > > +	mutex_unlock(&ct->lock);
> > > +}
> > > +
> > >   int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > >   {
> > >   	struct xe_device *xe = ct_to_xe(ct);
> > >   	int err;
> > > -	xe_assert(xe, !ct->enabled);
> > > +	xe_assert(xe, !xe_guc_ct_enabled(ct));
> > >   	guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
> > >   	guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
> > > @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > >   	if (err)
> > >   		goto err_out;
> > > -	mutex_lock(&ct->lock);
> > > -	spin_lock_irq(&ct->fast_lock);
> > > -	ct->g2h_outstanding = 0;
> > > -	ct->enabled = true;
> > > -	spin_unlock_irq(&ct->fast_lock);
> > > -	mutex_unlock(&ct->lock);
> > > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
> > >   	smp_mb();
> > >   	wake_up_all(&ct->wq);
> > > @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > >   void xe_guc_ct_disable(struct xe_guc_ct *ct)
> > >   {
> > > -	mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
> > > -	spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
> > > -	ct->enabled = false; /* Finally disable CT communication */
> > > -	spin_unlock_irq(&ct->fast_lock);
> > > -	mutex_unlock(&ct->lock);
> > > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
> > > +}
> > > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
> > > +{
> > > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
> > >   	xa_destroy(&ct->fence_lookup);
> > >   }
> > > @@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
> > >   		goto out;
> > >   	}
> > > -	if (unlikely(!ct->enabled)) {
> > > +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > > +	    ct->state == XE_GUC_CT_STATE_DISABLED) {
> > >   		ret = -ENODEV;
> > >   		goto out;
> > >   	}
> > > +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
> > > +		ret = -ECANCELED;
> > > +		goto out;
> > > +	}
> > > +
> > > +	xe_assert(xe, xe_guc_ct_enabled(ct));
> > > +
> > >   	if (g2h_fence) {
> > >   		g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
> > >   		num_g2h = 1;
> > > @@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct *ct, int ret)
> > >   		return false;
> > >   #define ct_alive(ct)	\
> > > -	(ct->enabled && !ct->ctbs.h2g.info.broken && !ct->ctbs.g2h.info.broken)
> > > +	(xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
> > > +	 !ct->ctbs.g2h.info.broken)
> > >   	if (!wait_event_interruptible_timeout(ct->wq, ct_alive(ct),  HZ * 5))
> > >   		return false;
> > >   #undef ct_alive
> > > @@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, u32 *msg, bool fast_path)
> > >   	lockdep_assert_held(&ct->fast_lock);
> > > -	if (!ct->enabled)
> > > +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > > +	    ct->state == XE_GUC_CT_STATE_DISABLED)
> > >   		return -ENODEV;
> > > +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
> > > +		return -ECANCELED;
> > > +
> > >   	if (g2h->info.broken)
> > >   		return -EPIPE;
> > > +	xe_assert(xe, xe_guc_ct_enabled(ct));
> > > +
> > >   	/* Calculate DW available to read */
> > >   	tail = desc_read(xe, g2h, tail);
> > >   	avail = tail - g2h->info.head;
> > > @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
> > >   		return NULL;
> > >   	}
> > > -	if (ct->enabled) {
> > > +	if (xe_guc_ct_enabled(ct)) {
> > >   		snapshot->ct_enabled = true;
> > >   		snapshot->g2h_outstanding = READ_ONCE(ct->g2h_outstanding);
> > >   		guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
> > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
> > > index f15f8a4857e0..214a6a357519 100644
> > > --- a/drivers/gpu/drm/xe/xe_guc_ct.h
> > > +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
> > > @@ -13,6 +13,7 @@ struct drm_printer;
> > >   int xe_guc_ct_init(struct xe_guc_ct *ct);
> > >   int xe_guc_ct_enable(struct xe_guc_ct *ct);
> > >   void xe_guc_ct_disable(struct xe_guc_ct *ct);
> > > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
> > >   void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
> > >   struct xe_guc_ct_snapshot *
> > > @@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot *snapshot,
> > >   void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot *snapshot);
> > >   void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic);
> > > +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
> > > +{
> > > +	return ct->state == XE_GUC_CT_STATE_ENABLED;
> > > +}
> > > +
> > >   static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
> > >   {
> > >   	wake_up_all(&ct->wq);
> > > -	if (ct->enabled)
> > > +	if (xe_guc_ct_enabled(ct))
> > >   		queue_work(system_unbound_wq, &ct->g2h_worker);
> > >   	xe_guc_ct_fast_path(ct);
> > >   }
> > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > index d814d4ee3fc6..e36c7029dffe 100644
> > > --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
> > >   	struct guc_ctb_snapshot h2g;
> > >   };
> > > +/**
> > > + * enum xe_guc_ct_state - CT state
> > > + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not expected in this state
> > > + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected in this state
> > > + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
> > > + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
> > > + */
> > > +enum xe_guc_ct_state {
> > > +	XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
> > > +	XE_GUC_CT_STATE_DISABLED,
> > > +	XE_GUC_CT_STATE_DROP_MESSAGES,
> > > +	XE_GUC_CT_STATE_ENABLED,
> > > +};
> > > +
> > >   /**
> > >    * struct xe_guc_ct - GuC command transport (CT) layer
> > >    *
> > > @@ -96,8 +110,8 @@ struct xe_guc_ct {
> > >   	u32 g2h_outstanding;
> > >   	/** @g2h_worker: worker to process G2H messages */
> > >   	struct work_struct g2h_worker;
> > > -	/** @enabled: CT enabled */
> > > -	bool enabled;
> > > +	/** @state: CT state */
> > > +	enum xe_guc_ct_state state;;
> > >   	/** @fence_seqno: G2H fence seqno - 16 bits used by CT */
> > >   	u32 fence_seqno;
> > >   	/** @fence_lookup: G2H fence lookup */
> > 

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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-22  5:47   ` Matthew Brost
  2023-12-22  5:52     ` Matthew Brost
@ 2023-12-22 19:36     ` Daniele Ceraolo Spurio
  2023-12-27 21:55       ` Matthew Brost
  1 sibling, 1 reply; 18+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-12-22 19:36 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe



On 12/21/2023 9:47 PM, Matthew Brost wrote:
> On Thu, Dec 21, 2023 at 01:56:33PM -0800, Daniele Ceraolo Spurio wrote:
>>
>> On 12/19/2023 9:28 AM, Matthew Brost wrote:
>>> The Guc CT has more than enabled / disables states rather it has 4. The
>>> 4 states are not initialized, disabled, drop messages, and enabled.
>>> Change the code to reflect this. These states will enable proper return
>>> codes from functions and therefore enable proper error messages.
>> Can you explain a bit more in which situation we expect to drop messages and
>> handle it? AFAICS not all callers waiting for a G2H reply can cope with the
> Anything that requires a G2H reply must be able to cope with it getting
> dropped as the GuC can hang at any moment. Certainly all of submission
> is designed this way, so is TLB invalidations. More on that below. With
> everything being able to cope with lost G2H their is not a point to
> continue to process G2H once a reset has started (or send H2G either).
>
>> reply not coming; e.g. it looks like xe_gt_tlb_invalidation_wait() will
> During a GT reset xe_gt_tlb_invalidation_reset() is called which will
> signal all waiters for invalidations avoiding timeouts.
>
> So the flow roughly is:
>
> Set CT channel to drop messages
> Stop all submissions
> Do reset
> Signal TLB invalidation waiters.

Thanks for clarifying

>
>> timeout and throw an error (which IMO is already an issue, because the reply
>> might be lost due to reset). I know that currently in all cases in which we
>> stop communication we do a reset, so the situation ends up ok, but there is
>> a pending series to remove the reset in the runtime suspend/resume scenario
>> (https://patchwork.freedesktop.org/series/122772/) in which case IMO we
> This path we would want to put the GuC communication into a state where
> if messages send / recv this triggers an error. (-ENODEV).  We don't
> expect to suspend the device and then send / recv messages. That is the
> point of this patch - it is fine drop messages during a reset, not if
> during suspend or if CT has not yet been initialized.

AFAIU one of the reasons behind this patch (internal report 53093) is an 
issue around the suspend path, so we do already receive messages after 
we started suspending. If I understand this patch correctly, we would 
put the CT in DROP_MESSAGES state on suspend, via the following chain:

gt_suspend
         uc_suspend
                 uc_stop
                         guc_stop
                                 guc_ct_drop_messages

Are you saying this is fine for now, because we always do a reset on 
resume, and that we'll need a new state when we stop doing such a reset? 
(not a complaint, just making sure I understood your reply).

>
> Proper error messages will added based on these new states.
>
>> don't want to drop messages but do a flush instead.
>>
> See above. Also unsure what you mean by flush here? Do you mean the G2H
> worker? I think that creates some dma-fencing (or lockdep) nightmares if
> we do that.

I meant the G2H, yes. We've had a ton of problem on the i915 side with 
worker threads running parallel to the suspend code and trying to talk 
to the GuC (latest of which is 
https://patchwork.freedesktop.org/series/121916/), so I am kind of 
worried something similar could happen here.

Daniele

>
> Matt
>
>> Daniele
>>
>>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>> Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
>>> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>>> ---
>>>    drivers/gpu/drm/xe/xe_guc.c          |  4 +-
>>>    drivers/gpu/drm/xe/xe_guc_ct.c       | 55 ++++++++++++++++++++--------
>>>    drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
>>>    drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
>>>    4 files changed, 64 insertions(+), 21 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
>>> index 482cb0df9f15..9b0fa8b1eb48 100644
>>> --- a/drivers/gpu/drm/xe/xe_guc.c
>>> +++ b/drivers/gpu/drm/xe/xe_guc.c
>>> @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
>>>    	BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
>>> -	xe_assert(xe, !guc->ct.enabled);
>>> +	xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
>>>    	xe_assert(xe, len);
>>>    	xe_assert(xe, len <= VF_SW_FLAG_COUNT);
>>>    	xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
>>> @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
>>>    {
>>>    	int ret;
>>> -	xe_guc_ct_disable(&guc->ct);
>>> +	xe_guc_ct_drop_messages(&guc->ct);
>>>    	ret = xe_guc_submit_stop(guc);
>>>    	if (ret)
>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
>>> index 24a33fa36496..22d655a8bf9a 100644
>>> --- a/drivers/gpu/drm/xe/xe_guc_ct.c
>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
>>> @@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct xe_guc_ct *ct, bool enable)
>>>    	return ret > 0 ? -EPROTO : ret;
>>>    }
>>> +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
>>> +				enum xe_guc_ct_state state)
>>> +{
>>> +	mutex_lock(&ct->lock);		/* Serialise dequeue_one_g2h() */
>>> +	spin_lock_irq(&ct->fast_lock);	/* Serialise CT fast-path */
>>> +
>>> +	ct->g2h_outstanding = 0;
>>> +	ct->state = state;
>>> +
>>> +	spin_unlock_irq(&ct->fast_lock);
>>> +	mutex_unlock(&ct->lock);
>>> +}
>>> +
>>>    int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>    {
>>>    	struct xe_device *xe = ct_to_xe(ct);
>>>    	int err;
>>> -	xe_assert(xe, !ct->enabled);
>>> +	xe_assert(xe, !xe_guc_ct_enabled(ct));
>>>    	guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
>>>    	guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
>>> @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>    	if (err)
>>>    		goto err_out;
>>> -	mutex_lock(&ct->lock);
>>> -	spin_lock_irq(&ct->fast_lock);
>>> -	ct->g2h_outstanding = 0;
>>> -	ct->enabled = true;
>>> -	spin_unlock_irq(&ct->fast_lock);
>>> -	mutex_unlock(&ct->lock);
>>> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
>>>    	smp_mb();
>>>    	wake_up_all(&ct->wq);
>>> @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>    void xe_guc_ct_disable(struct xe_guc_ct *ct)
>>>    {
>>> -	mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
>>> -	spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
>>> -	ct->enabled = false; /* Finally disable CT communication */
>>> -	spin_unlock_irq(&ct->fast_lock);
>>> -	mutex_unlock(&ct->lock);
>>> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
>>> +}
>>> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
>>> +{
>>> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
>>>    	xa_destroy(&ct->fence_lookup);
>>>    }
>>> @@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
>>>    		goto out;
>>>    	}
>>> -	if (unlikely(!ct->enabled)) {
>>> +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
>>> +	    ct->state == XE_GUC_CT_STATE_DISABLED) {
>>>    		ret = -ENODEV;
>>>    		goto out;
>>>    	}
>>> +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
>>> +		ret = -ECANCELED;
>>> +		goto out;
>>> +	}
>>> +
>>> +	xe_assert(xe, xe_guc_ct_enabled(ct));
>>> +
>>>    	if (g2h_fence) {
>>>    		g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
>>>    		num_g2h = 1;
>>> @@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct *ct, int ret)
>>>    		return false;
>>>    #define ct_alive(ct)	\
>>> -	(ct->enabled && !ct->ctbs.h2g.info.broken && !ct->ctbs.g2h.info.broken)
>>> +	(xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
>>> +	 !ct->ctbs.g2h.info.broken)
>>>    	if (!wait_event_interruptible_timeout(ct->wq, ct_alive(ct),  HZ * 5))
>>>    		return false;
>>>    #undef ct_alive
>>> @@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, u32 *msg, bool fast_path)
>>>    	lockdep_assert_held(&ct->fast_lock);
>>> -	if (!ct->enabled)
>>> +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
>>> +	    ct->state == XE_GUC_CT_STATE_DISABLED)
>>>    		return -ENODEV;
>>> +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
>>> +		return -ECANCELED;
>>> +
>>>    	if (g2h->info.broken)
>>>    		return -EPIPE;
>>> +	xe_assert(xe, xe_guc_ct_enabled(ct));
>>> +
>>>    	/* Calculate DW available to read */
>>>    	tail = desc_read(xe, g2h, tail);
>>>    	avail = tail - g2h->info.head;
>>> @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
>>>    		return NULL;
>>>    	}
>>> -	if (ct->enabled) {
>>> +	if (xe_guc_ct_enabled(ct)) {
>>>    		snapshot->ct_enabled = true;
>>>    		snapshot->g2h_outstanding = READ_ONCE(ct->g2h_outstanding);
>>>    		guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
>>> index f15f8a4857e0..214a6a357519 100644
>>> --- a/drivers/gpu/drm/xe/xe_guc_ct.h
>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
>>> @@ -13,6 +13,7 @@ struct drm_printer;
>>>    int xe_guc_ct_init(struct xe_guc_ct *ct);
>>>    int xe_guc_ct_enable(struct xe_guc_ct *ct);
>>>    void xe_guc_ct_disable(struct xe_guc_ct *ct);
>>> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
>>>    void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
>>>    struct xe_guc_ct_snapshot *
>>> @@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot *snapshot,
>>>    void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot *snapshot);
>>>    void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic);
>>> +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
>>> +{
>>> +	return ct->state == XE_GUC_CT_STATE_ENABLED;
>>> +}
>>> +
>>>    static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
>>>    {
>>>    	wake_up_all(&ct->wq);
>>> -	if (ct->enabled)
>>> +	if (xe_guc_ct_enabled(ct))
>>>    		queue_work(system_unbound_wq, &ct->g2h_worker);
>>>    	xe_guc_ct_fast_path(ct);
>>>    }
>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h b/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>> index d814d4ee3fc6..e36c7029dffe 100644
>>> --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>> @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
>>>    	struct guc_ctb_snapshot h2g;
>>>    };
>>> +/**
>>> + * enum xe_guc_ct_state - CT state
>>> + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not expected in this state
>>> + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected in this state
>>> + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
>>> + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
>>> + */
>>> +enum xe_guc_ct_state {
>>> +	XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
>>> +	XE_GUC_CT_STATE_DISABLED,
>>> +	XE_GUC_CT_STATE_DROP_MESSAGES,
>>> +	XE_GUC_CT_STATE_ENABLED,
>>> +};
>>> +
>>>    /**
>>>     * struct xe_guc_ct - GuC command transport (CT) layer
>>>     *
>>> @@ -96,8 +110,8 @@ struct xe_guc_ct {
>>>    	u32 g2h_outstanding;
>>>    	/** @g2h_worker: worker to process G2H messages */
>>>    	struct work_struct g2h_worker;
>>> -	/** @enabled: CT enabled */
>>> -	bool enabled;
>>> +	/** @state: CT state */
>>> +	enum xe_guc_ct_state state;;
>>>    	/** @fence_seqno: G2H fence seqno - 16 bits used by CT */
>>>    	u32 fence_seqno;
>>>    	/** @fence_lookup: G2H fence lookup */


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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-22  5:52     ` Matthew Brost
@ 2023-12-27  6:52       ` Riana Tauro
  2023-12-27 22:21         ` Matthew Brost
  0 siblings, 1 reply; 18+ messages in thread
From: Riana Tauro @ 2023-12-27  6:52 UTC (permalink / raw)
  To: Matthew Brost, Daniele Ceraolo Spurio; +Cc: intel-xe



On 12/22/2023 11:22 AM, Matthew Brost wrote:
> On Fri, Dec 22, 2023 at 05:47:17AM +0000, Matthew Brost wrote:
>> On Thu, Dec 21, 2023 at 01:56:33PM -0800, Daniele Ceraolo Spurio wrote:
>>>
>>>
>>> On 12/19/2023 9:28 AM, Matthew Brost wrote:
>>>> The Guc CT has more than enabled / disables states rather it has 4. The
>>>> 4 states are not initialized, disabled, drop messages, and enabled.
>>>> Change the code to reflect this. These states will enable proper return
>>>> codes from functions and therefore enable proper error messages.
>>>
>>> Can you explain a bit more in which situation we expect to drop messages and
>>> handle it? AFAICS not all callers waiting for a G2H reply can cope with the
>>
>> Anything that requires a G2H reply must be able to cope with it getting
>> dropped as the GuC can hang at any moment. Certainly all of submission
>> is designed this way, so is TLB invalidations. More on that below. With
>> everything being able to cope with lost G2H their is not a point to
>> continue to process G2H once a reset has started (or send H2G either).
>>
>>> reply not coming; e.g. it looks like xe_gt_tlb_invalidation_wait() will
>>
>> During a GT reset xe_gt_tlb_invalidation_reset() is called which will
>> signal all waiters for invalidations avoiding timeouts.
>>
>> So the flow roughly is:
>>
>> Set CT channel to drop messages
>> Stop all submissions
>> Do reset
>> Signal TLB invalidation waiters.
>>
> 
> Ah, forgot a key detail here. Setting CT channel to drop message before
> do the reset is key here - we don't want a G2H being processed to race
> with cleaning up lost G2H in there reset step.
> 
> Matt
> 
>>> timeout and throw an error (which IMO is already an issue, because the reply
>>> might be lost due to reset). I know that currently in all cases in which we
>>> stop communication we do a reset, so the situation ends up ok, but there is
>>> a pending series to remove the reset in the runtime suspend/resume scenario
>>> (https://patchwork.freedesktop.org/series/122772/) in which case IMO we
>>
>> This path we would want to put the GuC communication into a state where
>> if messages send / recv this triggers an error. (-ENODEV).  We don't
>> expect to suspend the device and then send / recv messages. That is the
>> point of this patch - it is fine drop messages during a reset, not if
>> during suspend or if CT has not yet been initialized.

Hi Matthew

During D3hot->D0 , currently GuC is reloaded during resume. This pending 
patch https://patchwork.freedesktop.org/series/122772/ only 
suspends/resumes CTB communication instead of reload .

Which states should be used in this case?

Thanks
Riana
>>
>> Proper error messages will added based on these new states.
>>
>>> don't want to drop messages but do a flush instead.
>>>
>>
>> See above. Also unsure what you mean by flush here? Do you mean the G2H
>> worker? I think that creates some dma-fencing (or lockdep) nightmares if
>> we do that.
>>
>> Matt
>>
>>> Daniele
>>>
>>>>
>>>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>> Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
>>>> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>>>> ---
>>>>    drivers/gpu/drm/xe/xe_guc.c          |  4 +-
>>>>    drivers/gpu/drm/xe/xe_guc_ct.c       | 55 ++++++++++++++++++++--------
>>>>    drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
>>>>    drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
>>>>    4 files changed, 64 insertions(+), 21 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
>>>> index 482cb0df9f15..9b0fa8b1eb48 100644
>>>> --- a/drivers/gpu/drm/xe/xe_guc.c
>>>> +++ b/drivers/gpu/drm/xe/xe_guc.c
>>>> @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
>>>>    	BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
>>>> -	xe_assert(xe, !guc->ct.enabled);
>>>> +	xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
>>>>    	xe_assert(xe, len);
>>>>    	xe_assert(xe, len <= VF_SW_FLAG_COUNT);
>>>>    	xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
>>>> @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
>>>>    {
>>>>    	int ret;
>>>> -	xe_guc_ct_disable(&guc->ct);
>>>> +	xe_guc_ct_drop_messages(&guc->ct);
>>>>    	ret = xe_guc_submit_stop(guc);
>>>>    	if (ret)
>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
>>>> index 24a33fa36496..22d655a8bf9a 100644
>>>> --- a/drivers/gpu/drm/xe/xe_guc_ct.c
>>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
>>>> @@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct xe_guc_ct *ct, bool enable)
>>>>    	return ret > 0 ? -EPROTO : ret;
>>>>    }
>>>> +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
>>>> +				enum xe_guc_ct_state state)
>>>> +{
>>>> +	mutex_lock(&ct->lock);		/* Serialise dequeue_one_g2h() */
>>>> +	spin_lock_irq(&ct->fast_lock);	/* Serialise CT fast-path */
>>>> +
>>>> +	ct->g2h_outstanding = 0;
>>>> +	ct->state = state;
>>>> +
>>>> +	spin_unlock_irq(&ct->fast_lock);
>>>> +	mutex_unlock(&ct->lock);
>>>> +}
>>>> +
>>>>    int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>>    {
>>>>    	struct xe_device *xe = ct_to_xe(ct);
>>>>    	int err;
>>>> -	xe_assert(xe, !ct->enabled);
>>>> +	xe_assert(xe, !xe_guc_ct_enabled(ct));
>>>>    	guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
>>>>    	guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
>>>> @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>>    	if (err)
>>>>    		goto err_out;
>>>> -	mutex_lock(&ct->lock);
>>>> -	spin_lock_irq(&ct->fast_lock);
>>>> -	ct->g2h_outstanding = 0;
>>>> -	ct->enabled = true;
>>>> -	spin_unlock_irq(&ct->fast_lock);
>>>> -	mutex_unlock(&ct->lock);
>>>> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
>>>>    	smp_mb();
>>>>    	wake_up_all(&ct->wq);
>>>> @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>>    void xe_guc_ct_disable(struct xe_guc_ct *ct)
>>>>    {
>>>> -	mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
>>>> -	spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
>>>> -	ct->enabled = false; /* Finally disable CT communication */
>>>> -	spin_unlock_irq(&ct->fast_lock);
>>>> -	mutex_unlock(&ct->lock);
>>>> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
>>>> +}
>>>> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
>>>> +{
>>>> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
>>>>    	xa_destroy(&ct->fence_lookup);
>>>>    }
>>>> @@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
>>>>    		goto out;
>>>>    	}
>>>> -	if (unlikely(!ct->enabled)) {
>>>> +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
>>>> +	    ct->state == XE_GUC_CT_STATE_DISABLED) {
>>>>    		ret = -ENODEV;
>>>>    		goto out;
>>>>    	}
>>>> +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
>>>> +		ret = -ECANCELED;
>>>> +		goto out;
>>>> +	}
>>>> +
>>>> +	xe_assert(xe, xe_guc_ct_enabled(ct));
>>>> +
>>>>    	if (g2h_fence) {
>>>>    		g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
>>>>    		num_g2h = 1;
>>>> @@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct *ct, int ret)
>>>>    		return false;
>>>>    #define ct_alive(ct)	\
>>>> -	(ct->enabled && !ct->ctbs.h2g.info.broken && !ct->ctbs.g2h.info.broken)
>>>> +	(xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
>>>> +	 !ct->ctbs.g2h.info.broken)
>>>>    	if (!wait_event_interruptible_timeout(ct->wq, ct_alive(ct),  HZ * 5))
>>>>    		return false;
>>>>    #undef ct_alive
>>>> @@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, u32 *msg, bool fast_path)
>>>>    	lockdep_assert_held(&ct->fast_lock);
>>>> -	if (!ct->enabled)
>>>> +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
>>>> +	    ct->state == XE_GUC_CT_STATE_DISABLED)
>>>>    		return -ENODEV;
>>>> +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
>>>> +		return -ECANCELED;
>>>> +
>>>>    	if (g2h->info.broken)
>>>>    		return -EPIPE;
>>>> +	xe_assert(xe, xe_guc_ct_enabled(ct));
>>>> +
>>>>    	/* Calculate DW available to read */
>>>>    	tail = desc_read(xe, g2h, tail);
>>>>    	avail = tail - g2h->info.head;
>>>> @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
>>>>    		return NULL;
>>>>    	}
>>>> -	if (ct->enabled) {
>>>> +	if (xe_guc_ct_enabled(ct)) {
>>>>    		snapshot->ct_enabled = true;
>>>>    		snapshot->g2h_outstanding = READ_ONCE(ct->g2h_outstanding);
>>>>    		guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
>>>> index f15f8a4857e0..214a6a357519 100644
>>>> --- a/drivers/gpu/drm/xe/xe_guc_ct.h
>>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
>>>> @@ -13,6 +13,7 @@ struct drm_printer;
>>>>    int xe_guc_ct_init(struct xe_guc_ct *ct);
>>>>    int xe_guc_ct_enable(struct xe_guc_ct *ct);
>>>>    void xe_guc_ct_disable(struct xe_guc_ct *ct);
>>>> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
>>>>    void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
>>>>    struct xe_guc_ct_snapshot *
>>>> @@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot *snapshot,
>>>>    void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot *snapshot);
>>>>    void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic);
>>>> +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
>>>> +{
>>>> +	return ct->state == XE_GUC_CT_STATE_ENABLED;
>>>> +}
>>>> +
>>>>    static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
>>>>    {
>>>>    	wake_up_all(&ct->wq);
>>>> -	if (ct->enabled)
>>>> +	if (xe_guc_ct_enabled(ct))
>>>>    		queue_work(system_unbound_wq, &ct->g2h_worker);
>>>>    	xe_guc_ct_fast_path(ct);
>>>>    }
>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h b/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>>> index d814d4ee3fc6..e36c7029dffe 100644
>>>> --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>>> @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
>>>>    	struct guc_ctb_snapshot h2g;
>>>>    };
>>>> +/**
>>>> + * enum xe_guc_ct_state - CT state
>>>> + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not expected in this state
>>>> + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected in this state
>>>> + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
>>>> + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
>>>> + */
>>>> +enum xe_guc_ct_state {
>>>> +	XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
>>>> +	XE_GUC_CT_STATE_DISABLED,
>>>> +	XE_GUC_CT_STATE_DROP_MESSAGES,
>>>> +	XE_GUC_CT_STATE_ENABLED,
>>>> +};
>>>> +
>>>>    /**
>>>>     * struct xe_guc_ct - GuC command transport (CT) layer
>>>>     *
>>>> @@ -96,8 +110,8 @@ struct xe_guc_ct {
>>>>    	u32 g2h_outstanding;
>>>>    	/** @g2h_worker: worker to process G2H messages */
>>>>    	struct work_struct g2h_worker;
>>>> -	/** @enabled: CT enabled */
>>>> -	bool enabled;
>>>> +	/** @state: CT state */
>>>> +	enum xe_guc_ct_state state;;
>>>>    	/** @fence_seqno: G2H fence seqno - 16 bits used by CT */
>>>>    	u32 fence_seqno;
>>>>    	/** @fence_lookup: G2H fence lookup */
>>>

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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-22 19:36     ` Daniele Ceraolo Spurio
@ 2023-12-27 21:55       ` Matthew Brost
  2023-12-27 22:20         ` Daniele Ceraolo Spurio
  0 siblings, 1 reply; 18+ messages in thread
From: Matthew Brost @ 2023-12-27 21:55 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

On Fri, Dec 22, 2023 at 11:36:28AM -0800, Daniele Ceraolo Spurio wrote:
> 
> 
> On 12/21/2023 9:47 PM, Matthew Brost wrote:
> > On Thu, Dec 21, 2023 at 01:56:33PM -0800, Daniele Ceraolo Spurio wrote:
> > > 
> > > On 12/19/2023 9:28 AM, Matthew Brost wrote:
> > > > The Guc CT has more than enabled / disables states rather it has 4. The
> > > > 4 states are not initialized, disabled, drop messages, and enabled.
> > > > Change the code to reflect this. These states will enable proper return
> > > > codes from functions and therefore enable proper error messages.
> > > Can you explain a bit more in which situation we expect to drop messages and
> > > handle it? AFAICS not all callers waiting for a G2H reply can cope with the
> > Anything that requires a G2H reply must be able to cope with it getting
> > dropped as the GuC can hang at any moment. Certainly all of submission
> > is designed this way, so is TLB invalidations. More on that below. With
> > everything being able to cope with lost G2H their is not a point to
> > continue to process G2H once a reset has started (or send H2G either).
> > 
> > > reply not coming; e.g. it looks like xe_gt_tlb_invalidation_wait() will
> > During a GT reset xe_gt_tlb_invalidation_reset() is called which will
> > signal all waiters for invalidations avoiding timeouts.
> > 
> > So the flow roughly is:
> > 
> > Set CT channel to drop messages
> > Stop all submissions
> > Do reset
> > Signal TLB invalidation waiters.
> 
> Thanks for clarifying
> 
> > 
> > > timeout and throw an error (which IMO is already an issue, because the reply
> > > might be lost due to reset). I know that currently in all cases in which we
> > > stop communication we do a reset, so the situation ends up ok, but there is
> > > a pending series to remove the reset in the runtime suspend/resume scenario
> > > (https://patchwork.freedesktop.org/series/122772/) in which case IMO we
> > This path we would want to put the GuC communication into a state where
> > if messages send / recv this triggers an error. (-ENODEV).  We don't
> > expect to suspend the device and then send / recv messages. That is the
> > point of this patch - it is fine drop messages during a reset, not if
> > during suspend or if CT has not yet been initialized.
> 
> AFAIU one of the reasons behind this patch (internal report 53093) is an
> issue around the suspend path, so we do already receive messages after we
> started suspending. If I understand this patch correctly, we would put the
> CT in DROP_MESSAGES state on suspend, via the following chain:
> 
> gt_suspend
>         uc_suspend
>                 uc_stop
>                         guc_stop
>                                 guc_ct_drop_messages
> 
> Are you saying this is fine for now, because we always do a reset on resume,
> and that we'll need a new state when we stop doing such a reset? (not a
> complaint, just making sure I understood your reply).
>

I missed this path.... This is slightly different as here we do not call
xe_gt_tlb_invalidation_reset() but I think this does indeed current work
but that may change based on some work Rodrigo is doing related to finer
grained PM.

This is turning into a larger discussion as it relates to reset /
suspend flows. I see 3 different flows, lets talk these through.

1. Reset flow (discussed above in my reply)

Rough flow should be:
- Set CT channel to drop messages
- Stop all submissions
- Signal TLB invalidation waiters (this would be a change in location)
- Do reset
- Do restart (entails cleaning up any lost submission G2H, enable CTs, starting submission)

In this case we drop all pending H2G / G2H and the reset flow ensures we
recover properly. No fluhing needed.

2. Suspend flow (discussed above in Daniele's reply)

Rough flow should be for suspend:
- Set CT channel to drop messages
- Stop all submissions
- Flush G2H handler (just ensure worker is not running to race with next step, this step is missing)
- Set CT channel to disallow messages

Rough flow should be for resume:
- Do reset
- Do restart (entails cleaning up any lost submission G2H, enable CTs, starting submission)

In this case, between setting the CT channel to drop messages and stopping
submissions, teardowns of exec queues could be happening as this action
likely doesn't take a PM ref that prevents turning off the device (e.g.
user destroying an exec queue). It is safe to just drop these H2G / G2H
as the GuC will be reloaded. We don't except submissions here though as
those should have a PM ref. Not sure we have a way to enforce this yet
but could add something if needed. After submissions are stopped and G2H
handler fluhed we toggle the channel to disallow any further messages.

Also notice we don't signal TLB waiters here. I am thinking if a TLB
invalidation is in flight we likely don't power down the device. We
ensure this via PM ref counting somehow. That being said, if the device
is powered off and we try issue a new TLB invalidation we likely
shouldn't issue the invalidation (this is an optimization that is not
required).

3. Runtime suspend (relates to https://patchwork.freedesktop.org/series/122772/)

Rough flow should be for suspend:
- Stop all submissions
- Wait for all pending G2H to complete naturally
- Set CT channel to disallow messages

Rough flow should be for resume:
- Enable CTs
- Start all submissions

Rather than flushing G2H, we have to waiting for any pending G2H dance
to complete before disallowing messages as the GuC will not be reloaded so
we need to ensure the GuC is in a known state.

Here we'd have to wake the device on any new TLB invalidation too.

Does this seem correct and make sense?

Matt

> > 
> > Proper error messages will added based on these new states.
> > 
> > > don't want to drop messages but do a flush instead.
> > > 
> > See above. Also unsure what you mean by flush here? Do you mean the G2H
> > worker? I think that creates some dma-fencing (or lockdep) nightmares if
> > we do that.
> 
> I meant the G2H, yes. We've had a ton of problem on the i915 side with
> worker threads running parallel to the suspend code and trying to talk to
> the GuC (latest of which is
> https://patchwork.freedesktop.org/series/121916/), so I am kind of worried
> something similar could happen here.
> 
> Daniele
> 
> > 
> > Matt
> > 
> > > Daniele
> > > 
> > > > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> > > > Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
> > > > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > > > ---
> > > >    drivers/gpu/drm/xe/xe_guc.c          |  4 +-
> > > >    drivers/gpu/drm/xe/xe_guc_ct.c       | 55 ++++++++++++++++++++--------
> > > >    drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
> > > >    drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
> > > >    4 files changed, 64 insertions(+), 21 deletions(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> > > > index 482cb0df9f15..9b0fa8b1eb48 100644
> > > > --- a/drivers/gpu/drm/xe/xe_guc.c
> > > > +++ b/drivers/gpu/drm/xe/xe_guc.c
> > > > @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
> > > >    	BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
> > > > -	xe_assert(xe, !guc->ct.enabled);
> > > > +	xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
> > > >    	xe_assert(xe, len);
> > > >    	xe_assert(xe, len <= VF_SW_FLAG_COUNT);
> > > >    	xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
> > > > @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
> > > >    {
> > > >    	int ret;
> > > > -	xe_guc_ct_disable(&guc->ct);
> > > > +	xe_guc_ct_drop_messages(&guc->ct);
> > > >    	ret = xe_guc_submit_stop(guc);
> > > >    	if (ret)
> > > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > index 24a33fa36496..22d655a8bf9a 100644
> > > > --- a/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > @@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct xe_guc_ct *ct, bool enable)
> > > >    	return ret > 0 ? -EPROTO : ret;
> > > >    }
> > > > +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
> > > > +				enum xe_guc_ct_state state)
> > > > +{
> > > > +	mutex_lock(&ct->lock);		/* Serialise dequeue_one_g2h() */
> > > > +	spin_lock_irq(&ct->fast_lock);	/* Serialise CT fast-path */
> > > > +
> > > > +	ct->g2h_outstanding = 0;
> > > > +	ct->state = state;
> > > > +
> > > > +	spin_unlock_irq(&ct->fast_lock);
> > > > +	mutex_unlock(&ct->lock);
> > > > +}
> > > > +
> > > >    int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > > >    {
> > > >    	struct xe_device *xe = ct_to_xe(ct);
> > > >    	int err;
> > > > -	xe_assert(xe, !ct->enabled);
> > > > +	xe_assert(xe, !xe_guc_ct_enabled(ct));
> > > >    	guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
> > > >    	guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
> > > > @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > > >    	if (err)
> > > >    		goto err_out;
> > > > -	mutex_lock(&ct->lock);
> > > > -	spin_lock_irq(&ct->fast_lock);
> > > > -	ct->g2h_outstanding = 0;
> > > > -	ct->enabled = true;
> > > > -	spin_unlock_irq(&ct->fast_lock);
> > > > -	mutex_unlock(&ct->lock);
> > > > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
> > > >    	smp_mb();
> > > >    	wake_up_all(&ct->wq);
> > > > @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > > >    void xe_guc_ct_disable(struct xe_guc_ct *ct)
> > > >    {
> > > > -	mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
> > > > -	spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
> > > > -	ct->enabled = false; /* Finally disable CT communication */
> > > > -	spin_unlock_irq(&ct->fast_lock);
> > > > -	mutex_unlock(&ct->lock);
> > > > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
> > > > +}
> > > > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
> > > > +{
> > > > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
> > > >    	xa_destroy(&ct->fence_lookup);
> > > >    }
> > > > @@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
> > > >    		goto out;
> > > >    	}
> > > > -	if (unlikely(!ct->enabled)) {
> > > > +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > > > +	    ct->state == XE_GUC_CT_STATE_DISABLED) {
> > > >    		ret = -ENODEV;
> > > >    		goto out;
> > > >    	}
> > > > +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
> > > > +		ret = -ECANCELED;
> > > > +		goto out;
> > > > +	}
> > > > +
> > > > +	xe_assert(xe, xe_guc_ct_enabled(ct));
> > > > +
> > > >    	if (g2h_fence) {
> > > >    		g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
> > > >    		num_g2h = 1;
> > > > @@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct *ct, int ret)
> > > >    		return false;
> > > >    #define ct_alive(ct)	\
> > > > -	(ct->enabled && !ct->ctbs.h2g.info.broken && !ct->ctbs.g2h.info.broken)
> > > > +	(xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
> > > > +	 !ct->ctbs.g2h.info.broken)
> > > >    	if (!wait_event_interruptible_timeout(ct->wq, ct_alive(ct),  HZ * 5))
> > > >    		return false;
> > > >    #undef ct_alive
> > > > @@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, u32 *msg, bool fast_path)
> > > >    	lockdep_assert_held(&ct->fast_lock);
> > > > -	if (!ct->enabled)
> > > > +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > > > +	    ct->state == XE_GUC_CT_STATE_DISABLED)
> > > >    		return -ENODEV;
> > > > +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
> > > > +		return -ECANCELED;
> > > > +
> > > >    	if (g2h->info.broken)
> > > >    		return -EPIPE;
> > > > +	xe_assert(xe, xe_guc_ct_enabled(ct));
> > > > +
> > > >    	/* Calculate DW available to read */
> > > >    	tail = desc_read(xe, g2h, tail);
> > > >    	avail = tail - g2h->info.head;
> > > > @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
> > > >    		return NULL;
> > > >    	}
> > > > -	if (ct->enabled) {
> > > > +	if (xe_guc_ct_enabled(ct)) {
> > > >    		snapshot->ct_enabled = true;
> > > >    		snapshot->g2h_outstanding = READ_ONCE(ct->g2h_outstanding);
> > > >    		guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
> > > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > index f15f8a4857e0..214a6a357519 100644
> > > > --- a/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > @@ -13,6 +13,7 @@ struct drm_printer;
> > > >    int xe_guc_ct_init(struct xe_guc_ct *ct);
> > > >    int xe_guc_ct_enable(struct xe_guc_ct *ct);
> > > >    void xe_guc_ct_disable(struct xe_guc_ct *ct);
> > > > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
> > > >    void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
> > > >    struct xe_guc_ct_snapshot *
> > > > @@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot *snapshot,
> > > >    void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot *snapshot);
> > > >    void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic);
> > > > +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
> > > > +{
> > > > +	return ct->state == XE_GUC_CT_STATE_ENABLED;
> > > > +}
> > > > +
> > > >    static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
> > > >    {
> > > >    	wake_up_all(&ct->wq);
> > > > -	if (ct->enabled)
> > > > +	if (xe_guc_ct_enabled(ct))
> > > >    		queue_work(system_unbound_wq, &ct->g2h_worker);
> > > >    	xe_guc_ct_fast_path(ct);
> > > >    }
> > > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > index d814d4ee3fc6..e36c7029dffe 100644
> > > > --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
> > > >    	struct guc_ctb_snapshot h2g;
> > > >    };
> > > > +/**
> > > > + * enum xe_guc_ct_state - CT state
> > > > + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not expected in this state
> > > > + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected in this state
> > > > + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
> > > > + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
> > > > + */
> > > > +enum xe_guc_ct_state {
> > > > +	XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
> > > > +	XE_GUC_CT_STATE_DISABLED,
> > > > +	XE_GUC_CT_STATE_DROP_MESSAGES,
> > > > +	XE_GUC_CT_STATE_ENABLED,
> > > > +};
> > > > +
> > > >    /**
> > > >     * struct xe_guc_ct - GuC command transport (CT) layer
> > > >     *
> > > > @@ -96,8 +110,8 @@ struct xe_guc_ct {
> > > >    	u32 g2h_outstanding;
> > > >    	/** @g2h_worker: worker to process G2H messages */
> > > >    	struct work_struct g2h_worker;
> > > > -	/** @enabled: CT enabled */
> > > > -	bool enabled;
> > > > +	/** @state: CT state */
> > > > +	enum xe_guc_ct_state state;;
> > > >    	/** @fence_seqno: G2H fence seqno - 16 bits used by CT */
> > > >    	u32 fence_seqno;
> > > >    	/** @fence_lookup: G2H fence lookup */
> 

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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-27 21:55       ` Matthew Brost
@ 2023-12-27 22:20         ` Daniele Ceraolo Spurio
  2023-12-27 22:25           ` Daniele Ceraolo Spurio
  0 siblings, 1 reply; 18+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-12-27 22:20 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe



On 12/27/2023 1:55 PM, Matthew Brost wrote:
> On Fri, Dec 22, 2023 at 11:36:28AM -0800, Daniele Ceraolo Spurio wrote:
>>
>> On 12/21/2023 9:47 PM, Matthew Brost wrote:
>>> On Thu, Dec 21, 2023 at 01:56:33PM -0800, Daniele Ceraolo Spurio wrote:
>>>> On 12/19/2023 9:28 AM, Matthew Brost wrote:
>>>>> The Guc CT has more than enabled / disables states rather it has 4. The
>>>>> 4 states are not initialized, disabled, drop messages, and enabled.
>>>>> Change the code to reflect this. These states will enable proper return
>>>>> codes from functions and therefore enable proper error messages.
>>>> Can you explain a bit more in which situation we expect to drop messages and
>>>> handle it? AFAICS not all callers waiting for a G2H reply can cope with the
>>> Anything that requires a G2H reply must be able to cope with it getting
>>> dropped as the GuC can hang at any moment. Certainly all of submission
>>> is designed this way, so is TLB invalidations. More on that below. With
>>> everything being able to cope with lost G2H their is not a point to
>>> continue to process G2H once a reset has started (or send H2G either).
>>>
>>>> reply not coming; e.g. it looks like xe_gt_tlb_invalidation_wait() will
>>> During a GT reset xe_gt_tlb_invalidation_reset() is called which will
>>> signal all waiters for invalidations avoiding timeouts.
>>>
>>> So the flow roughly is:
>>>
>>> Set CT channel to drop messages
>>> Stop all submissions
>>> Do reset
>>> Signal TLB invalidation waiters.
>> Thanks for clarifying
>>
>>>> timeout and throw an error (which IMO is already an issue, because the reply
>>>> might be lost due to reset). I know that currently in all cases in which we
>>>> stop communication we do a reset, so the situation ends up ok, but there is
>>>> a pending series to remove the reset in the runtime suspend/resume scenario
>>>> (https://patchwork.freedesktop.org/series/122772/) in which case IMO we
>>> This path we would want to put the GuC communication into a state where
>>> if messages send / recv this triggers an error. (-ENODEV).  We don't
>>> expect to suspend the device and then send / recv messages. That is the
>>> point of this patch - it is fine drop messages during a reset, not if
>>> during suspend or if CT has not yet been initialized.
>> AFAIU one of the reasons behind this patch (internal report 53093) is an
>> issue around the suspend path, so we do already receive messages after we
>> started suspending. If I understand this patch correctly, we would put the
>> CT in DROP_MESSAGES state on suspend, via the following chain:
>>
>> gt_suspend
>>          uc_suspend
>>                  uc_stop
>>                          guc_stop
>>                                  guc_ct_drop_messages
>>
>> Are you saying this is fine for now, because we always do a reset on resume,
>> and that we'll need a new state when we stop doing such a reset? (not a
>> complaint, just making sure I understood your reply).
>>
> I missed this path.... This is slightly different as here we do not call
> xe_gt_tlb_invalidation_reset() but I think this does indeed current work
> but that may change based on some work Rodrigo is doing related to finer
> grained PM.
>
> This is turning into a larger discussion as it relates to reset /
> suspend flows. I see 3 different flows, lets talk these through.
>
> 1. Reset flow (discussed above in my reply)
>
> Rough flow should be:
> - Set CT channel to drop messages
> - Stop all submissions
> - Signal TLB invalidation waiters (this would be a change in location)
> - Do reset
> - Do restart (entails cleaning up any lost submission G2H, enable CTs, starting submission)
>
> In this case we drop all pending H2G / G2H and the reset flow ensures we
> recover properly. No fluhing needed.
>
> 2. Suspend flow (discussed above in Daniele's reply)
>
> Rough flow should be for suspend:
> - Set CT channel to drop messages
> - Stop all submissions
> - Flush G2H handler (just ensure worker is not running to race with next step, this step is missing)
> - Set CT channel to disallow messages
>
> Rough flow should be for resume:
> - Do reset
> - Do restart (entails cleaning up any lost submission G2H, enable CTs, starting submission)
>
> In this case, between setting the CT channel to drop messages and stopping
> submissions, teardowns of exec queues could be happening as this action
> likely doesn't take a PM ref that prevents turning off the device (e.g.
> user destroying an exec queue). It is safe to just drop these H2G / G2H
> as the GuC will be reloaded. We don't except submissions here though as
> those should have a PM ref. Not sure we have a way to enforce this yet
> but could add something if needed. After submissions are stopped and G2H
> handler fluhed we toggle the channel to disallow any further messages.
>
> Also notice we don't signal TLB waiters here. I am thinking if a TLB
> invalidation is in flight we likely don't power down the device. We
> ensure this via PM ref counting somehow. That being said, if the device
> is powered off and we try issue a new TLB invalidation we likely
> shouldn't issue the invalidation (this is an optimization that is not
> required).

Preamble: PM is not something I am too knowledgeable about, so there 
might be errors in what I'm saying below. Please correct me if I'm wrong.

The PCI subsystem might not power down the device if we have a rpm ref, 
but we might still go through the pm_suspend call (as AFAIU that is not 
tied to the rpm refcount) and thus disable the CT communication. In i915 
we have waiters in the S3 suspend flow to make sure everything is 
properly flushed out without relying on the rpm ref. Also note that we 
don't know if the device actually lost power, only that we got ready for 
it (not sure if there is a way to tell on the resume side), so if the 
device stayed awake we might end up having to actually do the TLB 
invalidation (and not just signal the waiters) given that, unlike i915, 
in Xe we don't do a full GT reset in the resume path. IMO just easier to 
make sure all the pending TLB invals have gone through before we 
complete the suspend flow.

>
> 3. Runtime suspend (relates to https://patchwork.freedesktop.org/series/122772/)
>
> Rough flow should be for suspend:
> - Stop all submissions
> - Wait for all pending G2H to complete naturally
> - Set CT channel to disallow messages
>
> Rough flow should be for resume:
> - Enable CTs
> - Start all submissions
>
> Rather than flushing G2H, we have to waiting for any pending G2H dance
> to complete before disallowing messages as the GuC will not be reloaded so
> we need to ensure the GuC is in a known state.
>
> Here we'd have to wake the device on any new TLB invalidation too.

This looks good to me.

Daniele

>
> Does this seem correct and make sense?
>
> Matt
>
>>> Proper error messages will added based on these new states.
>>>
>>>> don't want to drop messages but do a flush instead.
>>>>
>>> See above. Also unsure what you mean by flush here? Do you mean the G2H
>>> worker? I think that creates some dma-fencing (or lockdep) nightmares if
>>> we do that.
>> I meant the G2H, yes. We've had a ton of problem on the i915 side with
>> worker threads running parallel to the suspend code and trying to talk to
>> the GuC (latest of which is
>> https://patchwork.freedesktop.org/series/121916/), so I am kind of worried
>> something similar could happen here.
>>
>> Daniele
>>
>>> Matt
>>>
>>>> Daniele
>>>>
>>>>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>>> Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
>>>>> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>>>>> ---
>>>>>     drivers/gpu/drm/xe/xe_guc.c          |  4 +-
>>>>>     drivers/gpu/drm/xe/xe_guc_ct.c       | 55 ++++++++++++++++++++--------
>>>>>     drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
>>>>>     drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
>>>>>     4 files changed, 64 insertions(+), 21 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
>>>>> index 482cb0df9f15..9b0fa8b1eb48 100644
>>>>> --- a/drivers/gpu/drm/xe/xe_guc.c
>>>>> +++ b/drivers/gpu/drm/xe/xe_guc.c
>>>>> @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
>>>>>     	BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
>>>>> -	xe_assert(xe, !guc->ct.enabled);
>>>>> +	xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
>>>>>     	xe_assert(xe, len);
>>>>>     	xe_assert(xe, len <= VF_SW_FLAG_COUNT);
>>>>>     	xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
>>>>> @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
>>>>>     {
>>>>>     	int ret;
>>>>> -	xe_guc_ct_disable(&guc->ct);
>>>>> +	xe_guc_ct_drop_messages(&guc->ct);
>>>>>     	ret = xe_guc_submit_stop(guc);
>>>>>     	if (ret)
>>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
>>>>> index 24a33fa36496..22d655a8bf9a 100644
>>>>> --- a/drivers/gpu/drm/xe/xe_guc_ct.c
>>>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
>>>>> @@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct xe_guc_ct *ct, bool enable)
>>>>>     	return ret > 0 ? -EPROTO : ret;
>>>>>     }
>>>>> +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
>>>>> +				enum xe_guc_ct_state state)
>>>>> +{
>>>>> +	mutex_lock(&ct->lock);		/* Serialise dequeue_one_g2h() */
>>>>> +	spin_lock_irq(&ct->fast_lock);	/* Serialise CT fast-path */
>>>>> +
>>>>> +	ct->g2h_outstanding = 0;
>>>>> +	ct->state = state;
>>>>> +
>>>>> +	spin_unlock_irq(&ct->fast_lock);
>>>>> +	mutex_unlock(&ct->lock);
>>>>> +}
>>>>> +
>>>>>     int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>>>     {
>>>>>     	struct xe_device *xe = ct_to_xe(ct);
>>>>>     	int err;
>>>>> -	xe_assert(xe, !ct->enabled);
>>>>> +	xe_assert(xe, !xe_guc_ct_enabled(ct));
>>>>>     	guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
>>>>>     	guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
>>>>> @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>>>     	if (err)
>>>>>     		goto err_out;
>>>>> -	mutex_lock(&ct->lock);
>>>>> -	spin_lock_irq(&ct->fast_lock);
>>>>> -	ct->g2h_outstanding = 0;
>>>>> -	ct->enabled = true;
>>>>> -	spin_unlock_irq(&ct->fast_lock);
>>>>> -	mutex_unlock(&ct->lock);
>>>>> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
>>>>>     	smp_mb();
>>>>>     	wake_up_all(&ct->wq);
>>>>> @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>>>     void xe_guc_ct_disable(struct xe_guc_ct *ct)
>>>>>     {
>>>>> -	mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
>>>>> -	spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
>>>>> -	ct->enabled = false; /* Finally disable CT communication */
>>>>> -	spin_unlock_irq(&ct->fast_lock);
>>>>> -	mutex_unlock(&ct->lock);
>>>>> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
>>>>> +}
>>>>> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
>>>>> +{
>>>>> +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
>>>>>     	xa_destroy(&ct->fence_lookup);
>>>>>     }
>>>>> @@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
>>>>>     		goto out;
>>>>>     	}
>>>>> -	if (unlikely(!ct->enabled)) {
>>>>> +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
>>>>> +	    ct->state == XE_GUC_CT_STATE_DISABLED) {
>>>>>     		ret = -ENODEV;
>>>>>     		goto out;
>>>>>     	}
>>>>> +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
>>>>> +		ret = -ECANCELED;
>>>>> +		goto out;
>>>>> +	}
>>>>> +
>>>>> +	xe_assert(xe, xe_guc_ct_enabled(ct));
>>>>> +
>>>>>     	if (g2h_fence) {
>>>>>     		g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
>>>>>     		num_g2h = 1;
>>>>> @@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct *ct, int ret)
>>>>>     		return false;
>>>>>     #define ct_alive(ct)	\
>>>>> -	(ct->enabled && !ct->ctbs.h2g.info.broken && !ct->ctbs.g2h.info.broken)
>>>>> +	(xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
>>>>> +	 !ct->ctbs.g2h.info.broken)
>>>>>     	if (!wait_event_interruptible_timeout(ct->wq, ct_alive(ct),  HZ * 5))
>>>>>     		return false;
>>>>>     #undef ct_alive
>>>>> @@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, u32 *msg, bool fast_path)
>>>>>     	lockdep_assert_held(&ct->fast_lock);
>>>>> -	if (!ct->enabled)
>>>>> +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
>>>>> +	    ct->state == XE_GUC_CT_STATE_DISABLED)
>>>>>     		return -ENODEV;
>>>>> +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
>>>>> +		return -ECANCELED;
>>>>> +
>>>>>     	if (g2h->info.broken)
>>>>>     		return -EPIPE;
>>>>> +	xe_assert(xe, xe_guc_ct_enabled(ct));
>>>>> +
>>>>>     	/* Calculate DW available to read */
>>>>>     	tail = desc_read(xe, g2h, tail);
>>>>>     	avail = tail - g2h->info.head;
>>>>> @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
>>>>>     		return NULL;
>>>>>     	}
>>>>> -	if (ct->enabled) {
>>>>> +	if (xe_guc_ct_enabled(ct)) {
>>>>>     		snapshot->ct_enabled = true;
>>>>>     		snapshot->g2h_outstanding = READ_ONCE(ct->g2h_outstanding);
>>>>>     		guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
>>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
>>>>> index f15f8a4857e0..214a6a357519 100644
>>>>> --- a/drivers/gpu/drm/xe/xe_guc_ct.h
>>>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
>>>>> @@ -13,6 +13,7 @@ struct drm_printer;
>>>>>     int xe_guc_ct_init(struct xe_guc_ct *ct);
>>>>>     int xe_guc_ct_enable(struct xe_guc_ct *ct);
>>>>>     void xe_guc_ct_disable(struct xe_guc_ct *ct);
>>>>> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
>>>>>     void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
>>>>>     struct xe_guc_ct_snapshot *
>>>>> @@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot *snapshot,
>>>>>     void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot *snapshot);
>>>>>     void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic);
>>>>> +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
>>>>> +{
>>>>> +	return ct->state == XE_GUC_CT_STATE_ENABLED;
>>>>> +}
>>>>> +
>>>>>     static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
>>>>>     {
>>>>>     	wake_up_all(&ct->wq);
>>>>> -	if (ct->enabled)
>>>>> +	if (xe_guc_ct_enabled(ct))
>>>>>     		queue_work(system_unbound_wq, &ct->g2h_worker);
>>>>>     	xe_guc_ct_fast_path(ct);
>>>>>     }
>>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h b/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>>>> index d814d4ee3fc6..e36c7029dffe 100644
>>>>> --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>>>> @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
>>>>>     	struct guc_ctb_snapshot h2g;
>>>>>     };
>>>>> +/**
>>>>> + * enum xe_guc_ct_state - CT state
>>>>> + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not expected in this state
>>>>> + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected in this state
>>>>> + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
>>>>> + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
>>>>> + */
>>>>> +enum xe_guc_ct_state {
>>>>> +	XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
>>>>> +	XE_GUC_CT_STATE_DISABLED,
>>>>> +	XE_GUC_CT_STATE_DROP_MESSAGES,
>>>>> +	XE_GUC_CT_STATE_ENABLED,
>>>>> +};
>>>>> +
>>>>>     /**
>>>>>      * struct xe_guc_ct - GuC command transport (CT) layer
>>>>>      *
>>>>> @@ -96,8 +110,8 @@ struct xe_guc_ct {
>>>>>     	u32 g2h_outstanding;
>>>>>     	/** @g2h_worker: worker to process G2H messages */
>>>>>     	struct work_struct g2h_worker;
>>>>> -	/** @enabled: CT enabled */
>>>>> -	bool enabled;
>>>>> +	/** @state: CT state */
>>>>> +	enum xe_guc_ct_state state;;
>>>>>     	/** @fence_seqno: G2H fence seqno - 16 bits used by CT */
>>>>>     	u32 fence_seqno;
>>>>>     	/** @fence_lookup: G2H fence lookup */


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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-27  6:52       ` Riana Tauro
@ 2023-12-27 22:21         ` Matthew Brost
  0 siblings, 0 replies; 18+ messages in thread
From: Matthew Brost @ 2023-12-27 22:21 UTC (permalink / raw)
  To: Riana Tauro; +Cc: intel-xe

On Wed, Dec 27, 2023 at 12:22:07PM +0530, Riana Tauro wrote:
> 
> 
> On 12/22/2023 11:22 AM, Matthew Brost wrote:
> > On Fri, Dec 22, 2023 at 05:47:17AM +0000, Matthew Brost wrote:
> > > On Thu, Dec 21, 2023 at 01:56:33PM -0800, Daniele Ceraolo Spurio wrote:
> > > > 
> > > > 
> > > > On 12/19/2023 9:28 AM, Matthew Brost wrote:
> > > > > The Guc CT has more than enabled / disables states rather it has 4. The
> > > > > 4 states are not initialized, disabled, drop messages, and enabled.
> > > > > Change the code to reflect this. These states will enable proper return
> > > > > codes from functions and therefore enable proper error messages.
> > > > 
> > > > Can you explain a bit more in which situation we expect to drop messages and
> > > > handle it? AFAICS not all callers waiting for a G2H reply can cope with the
> > > 
> > > Anything that requires a G2H reply must be able to cope with it getting
> > > dropped as the GuC can hang at any moment. Certainly all of submission
> > > is designed this way, so is TLB invalidations. More on that below. With
> > > everything being able to cope with lost G2H their is not a point to
> > > continue to process G2H once a reset has started (or send H2G either).
> > > 
> > > > reply not coming; e.g. it looks like xe_gt_tlb_invalidation_wait() will
> > > 
> > > During a GT reset xe_gt_tlb_invalidation_reset() is called which will
> > > signal all waiters for invalidations avoiding timeouts.
> > > 
> > > So the flow roughly is:
> > > 
> > > Set CT channel to drop messages
> > > Stop all submissions
> > > Do reset
> > > Signal TLB invalidation waiters.
> > > 
> > 
> > Ah, forgot a key detail here. Setting CT channel to drop message before
> > do the reset is key here - we don't want a G2H being processed to race
> > with cleaning up lost G2H in there reset step.
> > 
> > Matt
> > 
> > > > timeout and throw an error (which IMO is already an issue, because the reply
> > > > might be lost due to reset). I know that currently in all cases in which we
> > > > stop communication we do a reset, so the situation ends up ok, but there is
> > > > a pending series to remove the reset in the runtime suspend/resume scenario
> > > > (https://patchwork.freedesktop.org/series/122772/) in which case IMO we
> > > 
> > > This path we would want to put the GuC communication into a state where
> > > if messages send / recv this triggers an error. (-ENODEV).  We don't
> > > expect to suspend the device and then send / recv messages. That is the
> > > point of this patch - it is fine drop messages during a reset, not if
> > > during suspend or if CT has not yet been initialized.
> 
> Hi Matthew
> 
> During D3hot->D0 , currently GuC is reloaded during resume. This pending
> patch https://patchwork.freedesktop.org/series/122772/ only suspends/resumes
> CTB communication instead of reload .
> 
> Which states should be used in this case?
> 

I addressed this in my reply to Daniele, see '3. Runtime suspend'.

Matt

> Thanks
> Riana
> > > 
> > > Proper error messages will added based on these new states.
> > > 
> > > > don't want to drop messages but do a flush instead.
> > > > 
> > > 
> > > See above. Also unsure what you mean by flush here? Do you mean the G2H
> > > worker? I think that creates some dma-fencing (or lockdep) nightmares if
> > > we do that.
> > > 
> > > Matt
> > > 
> > > > Daniele
> > > > 
> > > > > 
> > > > > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> > > > > Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
> > > > > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > > > > ---
> > > > >    drivers/gpu/drm/xe/xe_guc.c          |  4 +-
> > > > >    drivers/gpu/drm/xe/xe_guc_ct.c       | 55 ++++++++++++++++++++--------
> > > > >    drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
> > > > >    drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
> > > > >    4 files changed, 64 insertions(+), 21 deletions(-)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> > > > > index 482cb0df9f15..9b0fa8b1eb48 100644
> > > > > --- a/drivers/gpu/drm/xe/xe_guc.c
> > > > > +++ b/drivers/gpu/drm/xe/xe_guc.c
> > > > > @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, const u32 *request,
> > > > >    	BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
> > > > > -	xe_assert(xe, !guc->ct.enabled);
> > > > > +	xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
> > > > >    	xe_assert(xe, len);
> > > > >    	xe_assert(xe, len <= VF_SW_FLAG_COUNT);
> > > > >    	xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
> > > > > @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
> > > > >    {
> > > > >    	int ret;
> > > > > -	xe_guc_ct_disable(&guc->ct);
> > > > > +	xe_guc_ct_drop_messages(&guc->ct);
> > > > >    	ret = xe_guc_submit_stop(guc);
> > > > >    	if (ret)
> > > > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > > index 24a33fa36496..22d655a8bf9a 100644
> > > > > --- a/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > > +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > > @@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct xe_guc_ct *ct, bool enable)
> > > > >    	return ret > 0 ? -EPROTO : ret;
> > > > >    }
> > > > > +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
> > > > > +				enum xe_guc_ct_state state)
> > > > > +{
> > > > > +	mutex_lock(&ct->lock);		/* Serialise dequeue_one_g2h() */
> > > > > +	spin_lock_irq(&ct->fast_lock);	/* Serialise CT fast-path */
> > > > > +
> > > > > +	ct->g2h_outstanding = 0;
> > > > > +	ct->state = state;
> > > > > +
> > > > > +	spin_unlock_irq(&ct->fast_lock);
> > > > > +	mutex_unlock(&ct->lock);
> > > > > +}
> > > > > +
> > > > >    int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > > > >    {
> > > > >    	struct xe_device *xe = ct_to_xe(ct);
> > > > >    	int err;
> > > > > -	xe_assert(xe, !ct->enabled);
> > > > > +	xe_assert(xe, !xe_guc_ct_enabled(ct));
> > > > >    	guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
> > > > >    	guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
> > > > > @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > > > >    	if (err)
> > > > >    		goto err_out;
> > > > > -	mutex_lock(&ct->lock);
> > > > > -	spin_lock_irq(&ct->fast_lock);
> > > > > -	ct->g2h_outstanding = 0;
> > > > > -	ct->enabled = true;
> > > > > -	spin_unlock_irq(&ct->fast_lock);
> > > > > -	mutex_unlock(&ct->lock);
> > > > > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
> > > > >    	smp_mb();
> > > > >    	wake_up_all(&ct->wq);
> > > > > @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > > > >    void xe_guc_ct_disable(struct xe_guc_ct *ct)
> > > > >    {
> > > > > -	mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
> > > > > -	spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
> > > > > -	ct->enabled = false; /* Finally disable CT communication */
> > > > > -	spin_unlock_irq(&ct->fast_lock);
> > > > > -	mutex_unlock(&ct->lock);
> > > > > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
> > > > > +}
> > > > > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
> > > > > +{
> > > > > +	xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
> > > > >    	xa_destroy(&ct->fence_lookup);
> > > > >    }
> > > > > @@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct xe_guc_ct *ct, const u32 *action,
> > > > >    		goto out;
> > > > >    	}
> > > > > -	if (unlikely(!ct->enabled)) {
> > > > > +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > > > > +	    ct->state == XE_GUC_CT_STATE_DISABLED) {
> > > > >    		ret = -ENODEV;
> > > > >    		goto out;
> > > > >    	}
> > > > > +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
> > > > > +		ret = -ECANCELED;
> > > > > +		goto out;
> > > > > +	}
> > > > > +
> > > > > +	xe_assert(xe, xe_guc_ct_enabled(ct));
> > > > > +
> > > > >    	if (g2h_fence) {
> > > > >    		g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
> > > > >    		num_g2h = 1;
> > > > > @@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct *ct, int ret)
> > > > >    		return false;
> > > > >    #define ct_alive(ct)	\
> > > > > -	(ct->enabled && !ct->ctbs.h2g.info.broken && !ct->ctbs.g2h.info.broken)
> > > > > +	(xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
> > > > > +	 !ct->ctbs.g2h.info.broken)
> > > > >    	if (!wait_event_interruptible_timeout(ct->wq, ct_alive(ct),  HZ * 5))
> > > > >    		return false;
> > > > >    #undef ct_alive
> > > > > @@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, u32 *msg, bool fast_path)
> > > > >    	lockdep_assert_held(&ct->fast_lock);
> > > > > -	if (!ct->enabled)
> > > > > +	if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > > > > +	    ct->state == XE_GUC_CT_STATE_DISABLED)
> > > > >    		return -ENODEV;
> > > > > +	if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
> > > > > +		return -ECANCELED;
> > > > > +
> > > > >    	if (g2h->info.broken)
> > > > >    		return -EPIPE;
> > > > > +	xe_assert(xe, xe_guc_ct_enabled(ct));
> > > > > +
> > > > >    	/* Calculate DW available to read */
> > > > >    	tail = desc_read(xe, g2h, tail);
> > > > >    	avail = tail - g2h->info.head;
> > > > > @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
> > > > >    		return NULL;
> > > > >    	}
> > > > > -	if (ct->enabled) {
> > > > > +	if (xe_guc_ct_enabled(ct)) {
> > > > >    		snapshot->ct_enabled = true;
> > > > >    		snapshot->g2h_outstanding = READ_ONCE(ct->g2h_outstanding);
> > > > >    		guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
> > > > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h b/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > > index f15f8a4857e0..214a6a357519 100644
> > > > > --- a/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > > +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > > @@ -13,6 +13,7 @@ struct drm_printer;
> > > > >    int xe_guc_ct_init(struct xe_guc_ct *ct);
> > > > >    int xe_guc_ct_enable(struct xe_guc_ct *ct);
> > > > >    void xe_guc_ct_disable(struct xe_guc_ct *ct);
> > > > > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
> > > > >    void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
> > > > >    struct xe_guc_ct_snapshot *
> > > > > @@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot *snapshot,
> > > > >    void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot *snapshot);
> > > > >    void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer *p, bool atomic);
> > > > > +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
> > > > > +{
> > > > > +	return ct->state == XE_GUC_CT_STATE_ENABLED;
> > > > > +}
> > > > > +
> > > > >    static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
> > > > >    {
> > > > >    	wake_up_all(&ct->wq);
> > > > > -	if (ct->enabled)
> > > > > +	if (xe_guc_ct_enabled(ct))
> > > > >    		queue_work(system_unbound_wq, &ct->g2h_worker);
> > > > >    	xe_guc_ct_fast_path(ct);
> > > > >    }
> > > > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > > index d814d4ee3fc6..e36c7029dffe 100644
> > > > > --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > > +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > > @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
> > > > >    	struct guc_ctb_snapshot h2g;
> > > > >    };
> > > > > +/**
> > > > > + * enum xe_guc_ct_state - CT state
> > > > > + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not expected in this state
> > > > > + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected in this state
> > > > > + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
> > > > > + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / recieved in this state
> > > > > + */
> > > > > +enum xe_guc_ct_state {
> > > > > +	XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
> > > > > +	XE_GUC_CT_STATE_DISABLED,
> > > > > +	XE_GUC_CT_STATE_DROP_MESSAGES,
> > > > > +	XE_GUC_CT_STATE_ENABLED,
> > > > > +};
> > > > > +
> > > > >    /**
> > > > >     * struct xe_guc_ct - GuC command transport (CT) layer
> > > > >     *
> > > > > @@ -96,8 +110,8 @@ struct xe_guc_ct {
> > > > >    	u32 g2h_outstanding;
> > > > >    	/** @g2h_worker: worker to process G2H messages */
> > > > >    	struct work_struct g2h_worker;
> > > > > -	/** @enabled: CT enabled */
> > > > > -	bool enabled;
> > > > > +	/** @state: CT state */
> > > > > +	enum xe_guc_ct_state state;;
> > > > >    	/** @fence_seqno: G2H fence seqno - 16 bits used by CT */
> > > > >    	u32 fence_seqno;
> > > > >    	/** @fence_lookup: G2H fence lookup */
> > > > 

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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-27 22:20         ` Daniele Ceraolo Spurio
@ 2023-12-27 22:25           ` Daniele Ceraolo Spurio
  2023-12-27 22:43             ` Matthew Brost
  0 siblings, 1 reply; 18+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-12-27 22:25 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe



On 12/27/2023 2:20 PM, Daniele Ceraolo Spurio wrote:
>
>
> On 12/27/2023 1:55 PM, Matthew Brost wrote:
>> On Fri, Dec 22, 2023 at 11:36:28AM -0800, Daniele Ceraolo Spurio wrote:
>>>
>>> On 12/21/2023 9:47 PM, Matthew Brost wrote:
>>>> On Thu, Dec 21, 2023 at 01:56:33PM -0800, Daniele Ceraolo Spurio 
>>>> wrote:
>>>>> On 12/19/2023 9:28 AM, Matthew Brost wrote:
>>>>>> The Guc CT has more than enabled / disables states rather it has 
>>>>>> 4. The
>>>>>> 4 states are not initialized, disabled, drop messages, and enabled.
>>>>>> Change the code to reflect this. These states will enable proper 
>>>>>> return
>>>>>> codes from functions and therefore enable proper error messages.
>>>>> Can you explain a bit more in which situation we expect to drop 
>>>>> messages and
>>>>> handle it? AFAICS not all callers waiting for a G2H reply can cope 
>>>>> with the
>>>> Anything that requires a G2H reply must be able to cope with it 
>>>> getting
>>>> dropped as the GuC can hang at any moment. Certainly all of submission
>>>> is designed this way, so is TLB invalidations. More on that below. 
>>>> With
>>>> everything being able to cope with lost G2H their is not a point to
>>>> continue to process G2H once a reset has started (or send H2G either).
>>>>
>>>>> reply not coming; e.g. it looks like xe_gt_tlb_invalidation_wait() 
>>>>> will
>>>> During a GT reset xe_gt_tlb_invalidation_reset() is called which will
>>>> signal all waiters for invalidations avoiding timeouts.
>>>>
>>>> So the flow roughly is:
>>>>
>>>> Set CT channel to drop messages
>>>> Stop all submissions
>>>> Do reset
>>>> Signal TLB invalidation waiters.
>>> Thanks for clarifying
>>>
>>>>> timeout and throw an error (which IMO is already an issue, because 
>>>>> the reply
>>>>> might be lost due to reset). I know that currently in all cases in 
>>>>> which we
>>>>> stop communication we do a reset, so the situation ends up ok, but 
>>>>> there is
>>>>> a pending series to remove the reset in the runtime suspend/resume 
>>>>> scenario
>>>>> (https://patchwork.freedesktop.org/series/122772/) in which case 
>>>>> IMO we
>>>> This path we would want to put the GuC communication into a state 
>>>> where
>>>> if messages send / recv this triggers an error. (-ENODEV). We don't
>>>> expect to suspend the device and then send / recv messages. That is 
>>>> the
>>>> point of this patch - it is fine drop messages during a reset, not if
>>>> during suspend or if CT has not yet been initialized.
>>> AFAIU one of the reasons behind this patch (internal report 53093) 
>>> is an
>>> issue around the suspend path, so we do already receive messages 
>>> after we
>>> started suspending. If I understand this patch correctly, we would 
>>> put the
>>> CT in DROP_MESSAGES state on suspend, via the following chain:
>>>
>>> gt_suspend
>>>          uc_suspend
>>>                  uc_stop
>>>                          guc_stop
>>>                                  guc_ct_drop_messages
>>>
>>> Are you saying this is fine for now, because we always do a reset on 
>>> resume,
>>> and that we'll need a new state when we stop doing such a reset? (not a
>>> complaint, just making sure I understood your reply).
>>>
>> I missed this path.... This is slightly different as here we do not call
>> xe_gt_tlb_invalidation_reset() but I think this does indeed current work
>> but that may change based on some work Rodrigo is doing related to finer
>> grained PM.
>>
>> This is turning into a larger discussion as it relates to reset /
>> suspend flows. I see 3 different flows, lets talk these through.
>>
>> 1. Reset flow (discussed above in my reply)
>>
>> Rough flow should be:
>> - Set CT channel to drop messages
>> - Stop all submissions
>> - Signal TLB invalidation waiters (this would be a change in location)
>> - Do reset
>> - Do restart (entails cleaning up any lost submission G2H, enable 
>> CTs, starting submission)
>>
>> In this case we drop all pending H2G / G2H and the reset flow ensures we
>> recover properly. No fluhing needed.
>>
>> 2. Suspend flow (discussed above in Daniele's reply)
>>
>> Rough flow should be for suspend:
>> - Set CT channel to drop messages
>> - Stop all submissions
>> - Flush G2H handler (just ensure worker is not running to race with 
>> next step, this step is missing)
>> - Set CT channel to disallow messages
>>
>> Rough flow should be for resume:
>> - Do reset
>> - Do restart (entails cleaning up any lost submission G2H, enable 
>> CTs, starting submission)
>>
>> In this case, between setting the CT channel to drop messages and 
>> stopping
>> submissions, teardowns of exec queues could be happening as this action
>> likely doesn't take a PM ref that prevents turning off the device (e.g.
>> user destroying an exec queue). It is safe to just drop these H2G / G2H
>> as the GuC will be reloaded. We don't except submissions here though as
>> those should have a PM ref. Not sure we have a way to enforce this yet
>> but could add something if needed. After submissions are stopped and G2H
>> handler fluhed we toggle the channel to disallow any further messages.
>>
>> Also notice we don't signal TLB waiters here. I am thinking if a TLB
>> invalidation is in flight we likely don't power down the device. We
>> ensure this via PM ref counting somehow. That being said, if the device
>> is powered off and we try issue a new TLB invalidation we likely
>> shouldn't issue the invalidation (this is an optimization that is not
>> required).
>
> Preamble: PM is not something I am too knowledgeable about, so there 
> might be errors in what I'm saying below. Please correct me if I'm wrong.
>
> The PCI subsystem might not power down the device if we have a rpm 
> ref, but we might still go through the pm_suspend call (as AFAIU that 
> is not tied to the rpm refcount) and thus disable the CT 
> communication. In i915 we have waiters in the S3 suspend flow to make 
> sure everything is properly flushed out without relying on the rpm 
> ref. Also note that we don't know if the device actually lost power, 
> only that we got ready for it (not sure if there is a way to tell on 
> the resume side), so if the device stayed awake we might end up having 
> to actually do the TLB invalidation (and not just signal the waiters) 
> given that, unlike i915, in Xe we don't do a full GT reset in the 
> resume path. IMO just easier to make sure all the pending TLB invals 
> have gone through before we complete the suspend flow.

Or we can add a GT reset in the resume flow, which will guarantee that 
the TLBs (and other HW units) are always clean so we can safely drop 
messages in the suspend path.

Daniele

>
>>
>> 3. Runtime suspend (relates to 
>> https://patchwork.freedesktop.org/series/122772/)
>>
>> Rough flow should be for suspend:
>> - Stop all submissions
>> - Wait for all pending G2H to complete naturally
>> - Set CT channel to disallow messages
>>
>> Rough flow should be for resume:
>> - Enable CTs
>> - Start all submissions
>>
>> Rather than flushing G2H, we have to waiting for any pending G2H dance
>> to complete before disallowing messages as the GuC will not be 
>> reloaded so
>> we need to ensure the GuC is in a known state.
>>
>> Here we'd have to wake the device on any new TLB invalidation too.
>
> This looks good to me.
>
> Daniele
>
>>
>> Does this seem correct and make sense?
>>
>> Matt
>>
>>>> Proper error messages will added based on these new states.
>>>>
>>>>> don't want to drop messages but do a flush instead.
>>>>>
>>>> See above. Also unsure what you mean by flush here? Do you mean the 
>>>> G2H
>>>> worker? I think that creates some dma-fencing (or lockdep) 
>>>> nightmares if
>>>> we do that.
>>> I meant the G2H, yes. We've had a ton of problem on the i915 side with
>>> worker threads running parallel to the suspend code and trying to 
>>> talk to
>>> the GuC (latest of which is
>>> https://patchwork.freedesktop.org/series/121916/), so I am kind of 
>>> worried
>>> something similar could happen here.
>>>
>>> Daniele
>>>
>>>> Matt
>>>>
>>>>> Daniele
>>>>>
>>>>>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>>>> Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
>>>>>> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>>>>>> ---
>>>>>>     drivers/gpu/drm/xe/xe_guc.c          |  4 +-
>>>>>>     drivers/gpu/drm/xe/xe_guc_ct.c       | 55 
>>>>>> ++++++++++++++++++++--------
>>>>>>     drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
>>>>>>     drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
>>>>>>     4 files changed, 64 insertions(+), 21 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/xe/xe_guc.c 
>>>>>> b/drivers/gpu/drm/xe/xe_guc.c
>>>>>> index 482cb0df9f15..9b0fa8b1eb48 100644
>>>>>> --- a/drivers/gpu/drm/xe/xe_guc.c
>>>>>> +++ b/drivers/gpu/drm/xe/xe_guc.c
>>>>>> @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct xe_guc *guc, 
>>>>>> const u32 *request,
>>>>>>         BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
>>>>>> -    xe_assert(xe, !guc->ct.enabled);
>>>>>> +    xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
>>>>>>         xe_assert(xe, len);
>>>>>>         xe_assert(xe, len <= VF_SW_FLAG_COUNT);
>>>>>>         xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
>>>>>> @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
>>>>>>     {
>>>>>>         int ret;
>>>>>> -    xe_guc_ct_disable(&guc->ct);
>>>>>> +    xe_guc_ct_drop_messages(&guc->ct);
>>>>>>         ret = xe_guc_submit_stop(guc);
>>>>>>         if (ret)
>>>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c 
>>>>>> b/drivers/gpu/drm/xe/xe_guc_ct.c
>>>>>> index 24a33fa36496..22d655a8bf9a 100644
>>>>>> --- a/drivers/gpu/drm/xe/xe_guc_ct.c
>>>>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
>>>>>> @@ -278,12 +278,25 @@ static int guc_ct_control_toggle(struct 
>>>>>> xe_guc_ct *ct, bool enable)
>>>>>>         return ret > 0 ? -EPROTO : ret;
>>>>>>     }
>>>>>> +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
>>>>>> +                enum xe_guc_ct_state state)
>>>>>> +{
>>>>>> +    mutex_lock(&ct->lock);        /* Serialise dequeue_one_g2h() */
>>>>>> +    spin_lock_irq(&ct->fast_lock);    /* Serialise CT fast-path */
>>>>>> +
>>>>>> +    ct->g2h_outstanding = 0;
>>>>>> +    ct->state = state;
>>>>>> +
>>>>>> +    spin_unlock_irq(&ct->fast_lock);
>>>>>> +    mutex_unlock(&ct->lock);
>>>>>> +}
>>>>>> +
>>>>>>     int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>>>>     {
>>>>>>         struct xe_device *xe = ct_to_xe(ct);
>>>>>>         int err;
>>>>>> -    xe_assert(xe, !ct->enabled);
>>>>>> +    xe_assert(xe, !xe_guc_ct_enabled(ct));
>>>>>>         guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
>>>>>>         guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
>>>>>> @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>>>>         if (err)
>>>>>>             goto err_out;
>>>>>> -    mutex_lock(&ct->lock);
>>>>>> -    spin_lock_irq(&ct->fast_lock);
>>>>>> -    ct->g2h_outstanding = 0;
>>>>>> -    ct->enabled = true;
>>>>>> -    spin_unlock_irq(&ct->fast_lock);
>>>>>> -    mutex_unlock(&ct->lock);
>>>>>> +    xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
>>>>>>         smp_mb();
>>>>>>         wake_up_all(&ct->wq);
>>>>>> @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
>>>>>>     void xe_guc_ct_disable(struct xe_guc_ct *ct)
>>>>>>     {
>>>>>> -    mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
>>>>>> -    spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
>>>>>> -    ct->enabled = false; /* Finally disable CT communication */
>>>>>> -    spin_unlock_irq(&ct->fast_lock);
>>>>>> -    mutex_unlock(&ct->lock);
>>>>>> +    xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
>>>>>> +}
>>>>>> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
>>>>>> +{
>>>>>> +    xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
>>>>>>         xa_destroy(&ct->fence_lookup);
>>>>>>     }
>>>>>> @@ -493,11 +501,19 @@ static int __guc_ct_send_locked(struct 
>>>>>> xe_guc_ct *ct, const u32 *action,
>>>>>>             goto out;
>>>>>>         }
>>>>>> -    if (unlikely(!ct->enabled)) {
>>>>>> +    if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
>>>>>> +        ct->state == XE_GUC_CT_STATE_DISABLED) {
>>>>>>             ret = -ENODEV;
>>>>>>             goto out;
>>>>>>         }
>>>>>> +    if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
>>>>>> +        ret = -ECANCELED;
>>>>>> +        goto out;
>>>>>> +    }
>>>>>> +
>>>>>> +    xe_assert(xe, xe_guc_ct_enabled(ct));
>>>>>> +
>>>>>>         if (g2h_fence) {
>>>>>>             g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
>>>>>>             num_g2h = 1;
>>>>>> @@ -682,7 +698,8 @@ static bool retry_failure(struct xe_guc_ct 
>>>>>> *ct, int ret)
>>>>>>             return false;
>>>>>>     #define ct_alive(ct)    \
>>>>>> -    (ct->enabled && !ct->ctbs.h2g.info.broken && 
>>>>>> !ct->ctbs.g2h.info.broken)
>>>>>> +    (xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
>>>>>> +     !ct->ctbs.g2h.info.broken)
>>>>>>         if (!wait_event_interruptible_timeout(ct->wq, 
>>>>>> ct_alive(ct),  HZ * 5))
>>>>>>             return false;
>>>>>>     #undef ct_alive
>>>>>> @@ -941,12 +958,18 @@ static int g2h_read(struct xe_guc_ct *ct, 
>>>>>> u32 *msg, bool fast_path)
>>>>>>         lockdep_assert_held(&ct->fast_lock);
>>>>>> -    if (!ct->enabled)
>>>>>> +    if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
>>>>>> +        ct->state == XE_GUC_CT_STATE_DISABLED)
>>>>>>             return -ENODEV;
>>>>>> +    if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
>>>>>> +        return -ECANCELED;
>>>>>> +
>>>>>>         if (g2h->info.broken)
>>>>>>             return -EPIPE;
>>>>>> +    xe_assert(xe, xe_guc_ct_enabled(ct));
>>>>>> +
>>>>>>         /* Calculate DW available to read */
>>>>>>         tail = desc_read(xe, g2h, tail);
>>>>>>         avail = tail - g2h->info.head;
>>>>>> @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot 
>>>>>> *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
>>>>>>             return NULL;
>>>>>>         }
>>>>>> -    if (ct->enabled) {
>>>>>> +    if (xe_guc_ct_enabled(ct)) {
>>>>>>             snapshot->ct_enabled = true;
>>>>>>             snapshot->g2h_outstanding = 
>>>>>> READ_ONCE(ct->g2h_outstanding);
>>>>>>             guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
>>>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h 
>>>>>> b/drivers/gpu/drm/xe/xe_guc_ct.h
>>>>>> index f15f8a4857e0..214a6a357519 100644
>>>>>> --- a/drivers/gpu/drm/xe/xe_guc_ct.h
>>>>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
>>>>>> @@ -13,6 +13,7 @@ struct drm_printer;
>>>>>>     int xe_guc_ct_init(struct xe_guc_ct *ct);
>>>>>>     int xe_guc_ct_enable(struct xe_guc_ct *ct);
>>>>>>     void xe_guc_ct_disable(struct xe_guc_ct *ct);
>>>>>> +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
>>>>>>     void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
>>>>>>     struct xe_guc_ct_snapshot *
>>>>>> @@ -22,10 +23,15 @@ void xe_guc_ct_snapshot_print(struct 
>>>>>> xe_guc_ct_snapshot *snapshot,
>>>>>>     void xe_guc_ct_snapshot_free(struct xe_guc_ct_snapshot 
>>>>>> *snapshot);
>>>>>>     void xe_guc_ct_print(struct xe_guc_ct *ct, struct drm_printer 
>>>>>> *p, bool atomic);
>>>>>> +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
>>>>>> +{
>>>>>> +    return ct->state == XE_GUC_CT_STATE_ENABLED;
>>>>>> +}
>>>>>> +
>>>>>>     static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
>>>>>>     {
>>>>>>         wake_up_all(&ct->wq);
>>>>>> -    if (ct->enabled)
>>>>>> +    if (xe_guc_ct_enabled(ct))
>>>>>>             queue_work(system_unbound_wq, &ct->g2h_worker);
>>>>>>         xe_guc_ct_fast_path(ct);
>>>>>>     }
>>>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h 
>>>>>> b/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>>>>> index d814d4ee3fc6..e36c7029dffe 100644
>>>>>> --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>>>>> +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
>>>>>> @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
>>>>>>         struct guc_ctb_snapshot h2g;
>>>>>>     };
>>>>>> +/**
>>>>>> + * enum xe_guc_ct_state - CT state
>>>>>> + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended, messages not 
>>>>>> expected in this state
>>>>>> + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages not expected 
>>>>>> in this state
>>>>>> + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
>>>>>> + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages sent / 
>>>>>> recieved in this state
>>>>>> + */
>>>>>> +enum xe_guc_ct_state {
>>>>>> +    XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
>>>>>> +    XE_GUC_CT_STATE_DISABLED,
>>>>>> +    XE_GUC_CT_STATE_DROP_MESSAGES,
>>>>>> +    XE_GUC_CT_STATE_ENABLED,
>>>>>> +};
>>>>>> +
>>>>>>     /**
>>>>>>      * struct xe_guc_ct - GuC command transport (CT) layer
>>>>>>      *
>>>>>> @@ -96,8 +110,8 @@ struct xe_guc_ct {
>>>>>>         u32 g2h_outstanding;
>>>>>>         /** @g2h_worker: worker to process G2H messages */
>>>>>>         struct work_struct g2h_worker;
>>>>>> -    /** @enabled: CT enabled */
>>>>>> -    bool enabled;
>>>>>> +    /** @state: CT state */
>>>>>> +    enum xe_guc_ct_state state;;
>>>>>>         /** @fence_seqno: G2H fence seqno - 16 bits used by CT */
>>>>>>         u32 fence_seqno;
>>>>>>         /** @fence_lookup: G2H fence lookup */
>


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

* Re: [PATCH] drm/xe/guc: Add more GuC CT states
  2023-12-27 22:25           ` Daniele Ceraolo Spurio
@ 2023-12-27 22:43             ` Matthew Brost
  0 siblings, 0 replies; 18+ messages in thread
From: Matthew Brost @ 2023-12-27 22:43 UTC (permalink / raw)
  To: Daniele Ceraolo Spurio; +Cc: intel-xe

On Wed, Dec 27, 2023 at 02:25:21PM -0800, Daniele Ceraolo Spurio wrote:
> 
> 
> On 12/27/2023 2:20 PM, Daniele Ceraolo Spurio wrote:
> > 
> > 
> > On 12/27/2023 1:55 PM, Matthew Brost wrote:
> > > On Fri, Dec 22, 2023 at 11:36:28AM -0800, Daniele Ceraolo Spurio wrote:
> > > > 
> > > > On 12/21/2023 9:47 PM, Matthew Brost wrote:
> > > > > On Thu, Dec 21, 2023 at 01:56:33PM -0800, Daniele Ceraolo
> > > > > Spurio wrote:
> > > > > > On 12/19/2023 9:28 AM, Matthew Brost wrote:
> > > > > > > The Guc CT has more than enabled / disables states
> > > > > > > rather it has 4. The
> > > > > > > 4 states are not initialized, disabled, drop messages, and enabled.
> > > > > > > Change the code to reflect this. These states will
> > > > > > > enable proper return
> > > > > > > codes from functions and therefore enable proper error messages.
> > > > > > Can you explain a bit more in which situation we expect
> > > > > > to drop messages and
> > > > > > handle it? AFAICS not all callers waiting for a G2H
> > > > > > reply can cope with the
> > > > > Anything that requires a G2H reply must be able to cope with
> > > > > it getting
> > > > > dropped as the GuC can hang at any moment. Certainly all of submission
> > > > > is designed this way, so is TLB invalidations. More on that
> > > > > below. With
> > > > > everything being able to cope with lost G2H their is not a point to
> > > > > continue to process G2H once a reset has started (or send H2G either).
> > > > > 
> > > > > > reply not coming; e.g. it looks like
> > > > > > xe_gt_tlb_invalidation_wait() will
> > > > > During a GT reset xe_gt_tlb_invalidation_reset() is called which will
> > > > > signal all waiters for invalidations avoiding timeouts.
> > > > > 
> > > > > So the flow roughly is:
> > > > > 
> > > > > Set CT channel to drop messages
> > > > > Stop all submissions
> > > > > Do reset
> > > > > Signal TLB invalidation waiters.
> > > > Thanks for clarifying
> > > > 
> > > > > > timeout and throw an error (which IMO is already an
> > > > > > issue, because the reply
> > > > > > might be lost due to reset). I know that currently in
> > > > > > all cases in which we
> > > > > > stop communication we do a reset, so the situation ends
> > > > > > up ok, but there is
> > > > > > a pending series to remove the reset in the runtime
> > > > > > suspend/resume scenario
> > > > > > (https://patchwork.freedesktop.org/series/122772/) in
> > > > > > which case IMO we
> > > > > This path we would want to put the GuC communication into a
> > > > > state where
> > > > > if messages send / recv this triggers an error. (-ENODEV). We don't
> > > > > expect to suspend the device and then send / recv messages.
> > > > > That is the
> > > > > point of this patch - it is fine drop messages during a reset, not if
> > > > > during suspend or if CT has not yet been initialized.
> > > > AFAIU one of the reasons behind this patch (internal report
> > > > 53093) is an
> > > > issue around the suspend path, so we do already receive messages
> > > > after we
> > > > started suspending. If I understand this patch correctly, we
> > > > would put the
> > > > CT in DROP_MESSAGES state on suspend, via the following chain:
> > > > 
> > > > gt_suspend
> > > >          uc_suspend
> > > >                  uc_stop
> > > >                          guc_stop
> > > >                                  guc_ct_drop_messages
> > > > 
> > > > Are you saying this is fine for now, because we always do a
> > > > reset on resume,
> > > > and that we'll need a new state when we stop doing such a reset? (not a
> > > > complaint, just making sure I understood your reply).
> > > > 
> > > I missed this path.... This is slightly different as here we do not call
> > > xe_gt_tlb_invalidation_reset() but I think this does indeed current work
> > > but that may change based on some work Rodrigo is doing related to finer
> > > grained PM.
> > > 
> > > This is turning into a larger discussion as it relates to reset /
> > > suspend flows. I see 3 different flows, lets talk these through.
> > > 
> > > 1. Reset flow (discussed above in my reply)
> > > 
> > > Rough flow should be:
> > > - Set CT channel to drop messages
> > > - Stop all submissions
> > > - Signal TLB invalidation waiters (this would be a change in location)
> > > - Do reset
> > > - Do restart (entails cleaning up any lost submission G2H, enable
> > > CTs, starting submission)
> > > 
> > > In this case we drop all pending H2G / G2H and the reset flow ensures we
> > > recover properly. No fluhing needed.
> > > 
> > > 2. Suspend flow (discussed above in Daniele's reply)
> > > 
> > > Rough flow should be for suspend:
> > > - Set CT channel to drop messages
> > > - Stop all submissions
> > > - Flush G2H handler (just ensure worker is not running to race with
> > > next step, this step is missing)
> > > - Set CT channel to disallow messages
> > > 
> > > Rough flow should be for resume:
> > > - Do reset
> > > - Do restart (entails cleaning up any lost submission G2H, enable
> > > CTs, starting submission)
> > > 
> > > In this case, between setting the CT channel to drop messages and
> > > stopping
> > > submissions, teardowns of exec queues could be happening as this action
> > > likely doesn't take a PM ref that prevents turning off the device (e.g.
> > > user destroying an exec queue). It is safe to just drop these H2G / G2H
> > > as the GuC will be reloaded. We don't except submissions here though as
> > > those should have a PM ref. Not sure we have a way to enforce this yet
> > > but could add something if needed. After submissions are stopped and G2H
> > > handler fluhed we toggle the channel to disallow any further messages.
> > > 
> > > Also notice we don't signal TLB waiters here. I am thinking if a TLB
> > > invalidation is in flight we likely don't power down the device. We
> > > ensure this via PM ref counting somehow. That being said, if the device
> > > is powered off and we try issue a new TLB invalidation we likely
> > > shouldn't issue the invalidation (this is an optimization that is not
> > > required).
> > 
> > Preamble: PM is not something I am too knowledgeable about, so there
> > might be errors in what I'm saying below. Please correct me if I'm
> > wrong.
> > 
> > The PCI subsystem might not power down the device if we have a rpm ref,
> > but we might still go through the pm_suspend call (as AFAIU that is not
> > tied to the rpm refcount) and thus disable the CT communication. In i915
> > we have waiters in the S3 suspend flow to make sure everything is
> > properly flushed out without relying on the rpm ref. Also note that we
> > don't know if the device actually lost power, only that we got ready for
> > it (not sure if there is a way to tell on the resume side), so if the
> > device stayed awake we might end up having to actually do the TLB
> > invalidation (and not just signal the waiters) given that, unlike i915,
> > in Xe we don't do a full GT reset in the resume path. IMO just easier to
> > make sure all the pending TLB invals have gone through before we
> > complete the suspend flow.
> 
> Or we can add a GT reset in the resume flow, which will guarantee that the
> TLBs (and other HW units) are always clean so we can safely drop messages in
> the suspend path.
> 

GT reset on resume makes sense to me.

Matt

> Daniele
> 
> > 
> > > 
> > > 3. Runtime suspend (relates to
> > > https://patchwork.freedesktop.org/series/122772/)
> > > 
> > > Rough flow should be for suspend:
> > > - Stop all submissions
> > > - Wait for all pending G2H to complete naturally
> > > - Set CT channel to disallow messages
> > > 
> > > Rough flow should be for resume:
> > > - Enable CTs
> > > - Start all submissions
> > > 
> > > Rather than flushing G2H, we have to waiting for any pending G2H dance
> > > to complete before disallowing messages as the GuC will not be
> > > reloaded so
> > > we need to ensure the GuC is in a known state.
> > > 
> > > Here we'd have to wake the device on any new TLB invalidation too.
> > 
> > This looks good to me.
> > 
> > Daniele
> > 
> > > 
> > > Does this seem correct and make sense?
> > > 
> > > Matt
> > > 
> > > > > Proper error messages will added based on these new states.
> > > > > 
> > > > > > don't want to drop messages but do a flush instead.
> > > > > > 
> > > > > See above. Also unsure what you mean by flush here? Do you
> > > > > mean the G2H
> > > > > worker? I think that creates some dma-fencing (or lockdep)
> > > > > nightmares if
> > > > > we do that.
> > > > I meant the G2H, yes. We've had a ton of problem on the i915 side with
> > > > worker threads running parallel to the suspend code and trying
> > > > to talk to
> > > > the GuC (latest of which is
> > > > https://patchwork.freedesktop.org/series/121916/), so I am kind
> > > > of worried
> > > > something similar could happen here.
> > > > 
> > > > Daniele
> > > > 
> > > > > Matt
> > > > > 
> > > > > > Daniele
> > > > > > 
> > > > > > > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> > > > > > > Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
> > > > > > > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > > > > > > ---
> > > > > > >     drivers/gpu/drm/xe/xe_guc.c          |  4 +-
> > > > > > >     drivers/gpu/drm/xe/xe_guc_ct.c       | 55
> > > > > > > ++++++++++++++++++++--------
> > > > > > >     drivers/gpu/drm/xe/xe_guc_ct.h       |  8 +++-
> > > > > > >     drivers/gpu/drm/xe/xe_guc_ct_types.h | 18 ++++++++-
> > > > > > >     4 files changed, 64 insertions(+), 21 deletions(-)
> > > > > > > 
> > > > > > > diff --git a/drivers/gpu/drm/xe/xe_guc.c
> > > > > > > b/drivers/gpu/drm/xe/xe_guc.c
> > > > > > > index 482cb0df9f15..9b0fa8b1eb48 100644
> > > > > > > --- a/drivers/gpu/drm/xe/xe_guc.c
> > > > > > > +++ b/drivers/gpu/drm/xe/xe_guc.c
> > > > > > > @@ -645,7 +645,7 @@ int xe_guc_mmio_send_recv(struct
> > > > > > > xe_guc *guc, const u32 *request,
> > > > > > >         BUILD_BUG_ON(VF_SW_FLAG_COUNT != MED_VF_SW_FLAG_COUNT);
> > > > > > > -    xe_assert(xe, !guc->ct.enabled);
> > > > > > > +    xe_assert(xe, !xe_guc_ct_enabled(&guc->ct));
> > > > > > >         xe_assert(xe, len);
> > > > > > >         xe_assert(xe, len <= VF_SW_FLAG_COUNT);
> > > > > > >         xe_assert(xe, len <= MED_VF_SW_FLAG_COUNT);
> > > > > > > @@ -827,7 +827,7 @@ int xe_guc_stop(struct xe_guc *guc)
> > > > > > >     {
> > > > > > >         int ret;
> > > > > > > -    xe_guc_ct_disable(&guc->ct);
> > > > > > > +    xe_guc_ct_drop_messages(&guc->ct);
> > > > > > >         ret = xe_guc_submit_stop(guc);
> > > > > > >         if (ret)
> > > > > > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > > > > b/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > > > > index 24a33fa36496..22d655a8bf9a 100644
> > > > > > > --- a/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > > > > +++ b/drivers/gpu/drm/xe/xe_guc_ct.c
> > > > > > > @@ -278,12 +278,25 @@ static int
> > > > > > > guc_ct_control_toggle(struct xe_guc_ct *ct, bool
> > > > > > > enable)
> > > > > > >         return ret > 0 ? -EPROTO : ret;
> > > > > > >     }
> > > > > > > +static void xe_guc_ct_set_state(struct xe_guc_ct *ct,
> > > > > > > +                enum xe_guc_ct_state state)
> > > > > > > +{
> > > > > > > +    mutex_lock(&ct->lock);        /* Serialise dequeue_one_g2h() */
> > > > > > > +    spin_lock_irq(&ct->fast_lock);    /* Serialise CT fast-path */
> > > > > > > +
> > > > > > > +    ct->g2h_outstanding = 0;
> > > > > > > +    ct->state = state;
> > > > > > > +
> > > > > > > +    spin_unlock_irq(&ct->fast_lock);
> > > > > > > +    mutex_unlock(&ct->lock);
> > > > > > > +}
> > > > > > > +
> > > > > > >     int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > > > > > >     {
> > > > > > >         struct xe_device *xe = ct_to_xe(ct);
> > > > > > >         int err;
> > > > > > > -    xe_assert(xe, !ct->enabled);
> > > > > > > +    xe_assert(xe, !xe_guc_ct_enabled(ct));
> > > > > > >         guc_ct_ctb_h2g_init(xe, &ct->ctbs.h2g, &ct->bo->vmap);
> > > > > > >         guc_ct_ctb_g2h_init(xe, &ct->ctbs.g2h, &ct->bo->vmap);
> > > > > > > @@ -300,12 +313,7 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > > > > > >         if (err)
> > > > > > >             goto err_out;
> > > > > > > -    mutex_lock(&ct->lock);
> > > > > > > -    spin_lock_irq(&ct->fast_lock);
> > > > > > > -    ct->g2h_outstanding = 0;
> > > > > > > -    ct->enabled = true;
> > > > > > > -    spin_unlock_irq(&ct->fast_lock);
> > > > > > > -    mutex_unlock(&ct->lock);
> > > > > > > +    xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_ENABLED);
> > > > > > >         smp_mb();
> > > > > > >         wake_up_all(&ct->wq);
> > > > > > > @@ -321,12 +329,12 @@ int xe_guc_ct_enable(struct xe_guc_ct *ct)
> > > > > > >     void xe_guc_ct_disable(struct xe_guc_ct *ct)
> > > > > > >     {
> > > > > > > -    mutex_lock(&ct->lock); /* Serialise dequeue_one_g2h() */
> > > > > > > -    spin_lock_irq(&ct->fast_lock); /* Serialise CT fast-path */
> > > > > > > -    ct->enabled = false; /* Finally disable CT communication */
> > > > > > > -    spin_unlock_irq(&ct->fast_lock);
> > > > > > > -    mutex_unlock(&ct->lock);
> > > > > > > +    xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DISABLED);
> > > > > > > +}
> > > > > > > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct)
> > > > > > > +{
> > > > > > > +    xe_guc_ct_set_state(ct, XE_GUC_CT_STATE_DROP_MESSAGES);
> > > > > > >         xa_destroy(&ct->fence_lookup);
> > > > > > >     }
> > > > > > > @@ -493,11 +501,19 @@ static int
> > > > > > > __guc_ct_send_locked(struct xe_guc_ct *ct, const u32
> > > > > > > *action,
> > > > > > >             goto out;
> > > > > > >         }
> > > > > > > -    if (unlikely(!ct->enabled)) {
> > > > > > > +    if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > > > > > > +        ct->state == XE_GUC_CT_STATE_DISABLED) {
> > > > > > >             ret = -ENODEV;
> > > > > > >             goto out;
> > > > > > >         }
> > > > > > > +    if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES) {
> > > > > > > +        ret = -ECANCELED;
> > > > > > > +        goto out;
> > > > > > > +    }
> > > > > > > +
> > > > > > > +    xe_assert(xe, xe_guc_ct_enabled(ct));
> > > > > > > +
> > > > > > >         if (g2h_fence) {
> > > > > > >             g2h_len = GUC_CTB_HXG_MSG_MAX_LEN;
> > > > > > >             num_g2h = 1;
> > > > > > > @@ -682,7 +698,8 @@ static bool retry_failure(struct
> > > > > > > xe_guc_ct *ct, int ret)
> > > > > > >             return false;
> > > > > > >     #define ct_alive(ct)    \
> > > > > > > -    (ct->enabled && !ct->ctbs.h2g.info.broken &&
> > > > > > > !ct->ctbs.g2h.info.broken)
> > > > > > > +    (xe_guc_ct_enabled(ct) && !ct->ctbs.h2g.info.broken && \
> > > > > > > +     !ct->ctbs.g2h.info.broken)
> > > > > > >         if
> > > > > > > (!wait_event_interruptible_timeout(ct->wq,
> > > > > > > ct_alive(ct),  HZ * 5))
> > > > > > >             return false;
> > > > > > >     #undef ct_alive
> > > > > > > @@ -941,12 +958,18 @@ static int g2h_read(struct
> > > > > > > xe_guc_ct *ct, u32 *msg, bool fast_path)
> > > > > > >         lockdep_assert_held(&ct->fast_lock);
> > > > > > > -    if (!ct->enabled)
> > > > > > > +    if (ct->state == XE_GUC_CT_STATE_NOT_INITIALIZED ||
> > > > > > > +        ct->state == XE_GUC_CT_STATE_DISABLED)
> > > > > > >             return -ENODEV;
> > > > > > > +    if (ct->state == XE_GUC_CT_STATE_DROP_MESSAGES)
> > > > > > > +        return -ECANCELED;
> > > > > > > +
> > > > > > >         if (g2h->info.broken)
> > > > > > >             return -EPIPE;
> > > > > > > +    xe_assert(xe, xe_guc_ct_enabled(ct));
> > > > > > > +
> > > > > > >         /* Calculate DW available to read */
> > > > > > >         tail = desc_read(xe, g2h, tail);
> > > > > > >         avail = tail - g2h->info.head;
> > > > > > > @@ -1245,7 +1268,7 @@ struct xe_guc_ct_snapshot
> > > > > > > *xe_guc_ct_snapshot_capture(struct xe_guc_ct *ct,
> > > > > > >             return NULL;
> > > > > > >         }
> > > > > > > -    if (ct->enabled) {
> > > > > > > +    if (xe_guc_ct_enabled(ct)) {
> > > > > > >             snapshot->ct_enabled = true;
> > > > > > >             snapshot->g2h_outstanding =
> > > > > > > READ_ONCE(ct->g2h_outstanding);
> > > > > > >             guc_ctb_snapshot_capture(xe, &ct->ctbs.h2g,
> > > > > > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > > > > b/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > > > > index f15f8a4857e0..214a6a357519 100644
> > > > > > > --- a/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > > > > +++ b/drivers/gpu/drm/xe/xe_guc_ct.h
> > > > > > > @@ -13,6 +13,7 @@ struct drm_printer;
> > > > > > >     int xe_guc_ct_init(struct xe_guc_ct *ct);
> > > > > > >     int xe_guc_ct_enable(struct xe_guc_ct *ct);
> > > > > > >     void xe_guc_ct_disable(struct xe_guc_ct *ct);
> > > > > > > +void xe_guc_ct_drop_messages(struct xe_guc_ct *ct);
> > > > > > >     void xe_guc_ct_fast_path(struct xe_guc_ct *ct);
> > > > > > >     struct xe_guc_ct_snapshot *
> > > > > > > @@ -22,10 +23,15 @@ void
> > > > > > > xe_guc_ct_snapshot_print(struct xe_guc_ct_snapshot
> > > > > > > *snapshot,
> > > > > > >     void xe_guc_ct_snapshot_free(struct
> > > > > > > xe_guc_ct_snapshot *snapshot);
> > > > > > >     void xe_guc_ct_print(struct xe_guc_ct *ct,
> > > > > > > struct drm_printer *p, bool atomic);
> > > > > > > +static inline bool xe_guc_ct_enabled(struct xe_guc_ct *ct)
> > > > > > > +{
> > > > > > > +    return ct->state == XE_GUC_CT_STATE_ENABLED;
> > > > > > > +}
> > > > > > > +
> > > > > > >     static inline void xe_guc_ct_irq_handler(struct xe_guc_ct *ct)
> > > > > > >     {
> > > > > > >         wake_up_all(&ct->wq);
> > > > > > > -    if (ct->enabled)
> > > > > > > +    if (xe_guc_ct_enabled(ct))
> > > > > > >             queue_work(system_unbound_wq, &ct->g2h_worker);
> > > > > > >         xe_guc_ct_fast_path(ct);
> > > > > > >     }
> > > > > > > diff --git a/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > > > > b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > > > > index d814d4ee3fc6..e36c7029dffe 100644
> > > > > > > --- a/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > > > > +++ b/drivers/gpu/drm/xe/xe_guc_ct_types.h
> > > > > > > @@ -72,6 +72,20 @@ struct xe_guc_ct_snapshot {
> > > > > > >         struct guc_ctb_snapshot h2g;
> > > > > > >     };
> > > > > > > +/**
> > > > > > > + * enum xe_guc_ct_state - CT state
> > > > > > > + * @XE_GUC_CT_STATE_NOT_INITIALIZED: CT suspended,
> > > > > > > messages not expected in this state
> > > > > > > + * @XE_GUC_CT_STATE_DISABLED: CT disabled, messages
> > > > > > > not expected in this state
> > > > > > > + * @XE_GUC_CT_STATE_DROP_MESSAGES: CT drops messages without errors
> > > > > > > + * @XE_GUC_CT_STATE_ENABLED: CT enabled, messages
> > > > > > > sent / recieved in this state
> > > > > > > + */
> > > > > > > +enum xe_guc_ct_state {
> > > > > > > +    XE_GUC_CT_STATE_NOT_INITIALIZED = 0,
> > > > > > > +    XE_GUC_CT_STATE_DISABLED,
> > > > > > > +    XE_GUC_CT_STATE_DROP_MESSAGES,
> > > > > > > +    XE_GUC_CT_STATE_ENABLED,
> > > > > > > +};
> > > > > > > +
> > > > > > >     /**
> > > > > > >      * struct xe_guc_ct - GuC command transport (CT) layer
> > > > > > >      *
> > > > > > > @@ -96,8 +110,8 @@ struct xe_guc_ct {
> > > > > > >         u32 g2h_outstanding;
> > > > > > >         /** @g2h_worker: worker to process G2H messages */
> > > > > > >         struct work_struct g2h_worker;
> > > > > > > -    /** @enabled: CT enabled */
> > > > > > > -    bool enabled;
> > > > > > > +    /** @state: CT state */
> > > > > > > +    enum xe_guc_ct_state state;;
> > > > > > >         /** @fence_seqno: G2H fence seqno - 16 bits used by CT */
> > > > > > >         u32 fence_seqno;
> > > > > > >         /** @fence_lookup: G2H fence lookup */
> > 
> 

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

end of thread, other threads:[~2023-12-27 22:45 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-19 17:28 [PATCH] drm/xe/guc: Add more GuC CT states Matthew Brost
2023-12-19 17:47 ` ✓ CI.Patch_applied: success for " Patchwork
2023-12-19 17:47 ` ✗ CI.checkpatch: warning " Patchwork
2023-12-19 17:48 ` ✓ CI.KUnit: success " Patchwork
2023-12-19 17:55 ` ✓ CI.Build: " Patchwork
2023-12-19 17:56 ` ✓ CI.Hooks: " Patchwork
2023-12-19 17:57 ` ✓ CI.checksparse: " Patchwork
2023-12-19 18:32 ` ✓ CI.BAT: " Patchwork
2023-12-21 21:56 ` [PATCH] " Daniele Ceraolo Spurio
2023-12-22  5:47   ` Matthew Brost
2023-12-22  5:52     ` Matthew Brost
2023-12-27  6:52       ` Riana Tauro
2023-12-27 22:21         ` Matthew Brost
2023-12-22 19:36     ` Daniele Ceraolo Spurio
2023-12-27 21:55       ` Matthew Brost
2023-12-27 22:20         ` Daniele Ceraolo Spurio
2023-12-27 22:25           ` Daniele Ceraolo Spurio
2023-12-27 22:43             ` Matthew Brost

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