intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] drm/xe: Per client usage
@ 2024-04-23 23:56 Lucas De Marchi
  2024-04-23 23:56 ` [PATCH v2 1/6] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
                   ` (12 more replies)
  0 siblings, 13 replies; 23+ messages in thread
From: Lucas De Marchi @ 2024-04-23 23:56 UTC (permalink / raw)
  To: intel-xe
  Cc: dri-devel, Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

Add per-client usage statistics to xe. This ports xe to use the common
method in drm to export the usage to userspace per client (where 1
client == 1 drm fd open).

However insted of using the current format measured in nsec, this
creates a new one. The intention here is not to mix the GPU clock domain
with the CPU clock. It allows to cover a few more use cases without
extra complications.

I tested this on DG2 and also checked gputop with i915 to make sure not
regressed. Last patch also contains the documentation for the new key
and sample output as requested in v1. Reproducing it partially here:

	- drm-total-cycles-<keystr>: <uint>

	Engine identifier string must be the same as the one specified in the
	drm-cycles-<keystr> tag and shall contain the total number cycles for the given
	engine.

	This is a timestamp in GPU unspecified unit that matches the update rate
	of drm-cycles-<keystr>. For drivers that implement this interface, the engine
	utilization can be calculated entirely on the GPU clock domain, without
	considering the CPU sleep time between 2 samples.

The pre-existent drm-cycles-<keystr> is used as is, which allows gputop
to work with xe.

v2:
  - Create a new drm-total-cycles instead of re-using drm-engine with a
    different unit
  - Add documentation for the new interface and clarify usage of
    xe_lrc_update_timestamp()

Test-with: https://lore.kernel.org/igt-dev/20240423234431.1959354-1-lucas.demarchi@intel.com/

Lucas De Marchi (4):
  drm/xe: Add helper to capture engine timestamp
  drm/xe: Promote xe_hw_engine_class_to_str()
  drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
  drm/xe/client: Print runtime to fdinfo

Umesh Nerlige Ramappa (2):
  drm/xe/lrc: Add helper to capture context timestamp
  drm/xe: Add helper to accumulate exec queue runtime

 Documentation/gpu/drm-usage-stats.rst         |  16 +-
 Documentation/gpu/xe/index.rst                |   1 +
 Documentation/gpu/xe/xe-drm-usage-stats.rst   |  10 ++
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h       |   1 +
 drivers/gpu/drm/xe/xe_device_types.h          |   9 ++
 drivers/gpu/drm/xe/xe_drm_client.c            | 138 +++++++++++++++++-
 drivers/gpu/drm/xe/xe_exec_queue.c            |  37 +++++
 drivers/gpu/drm/xe/xe_exec_queue.h            |   1 +
 drivers/gpu/drm/xe/xe_hw_engine.c             |  27 ++++
 drivers/gpu/drm/xe/xe_hw_engine.h             |   3 +
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c |  18 ---
 drivers/gpu/drm/xe/xe_lrc.c                   |  11 ++
 drivers/gpu/drm/xe/xe_lrc.h                   |  14 ++
 drivers/gpu/drm/xe/xe_lrc_types.h             |   3 +
 drivers/gpu/drm/xe/xe_sched_job.c             |   2 +
 15 files changed, 270 insertions(+), 21 deletions(-)
 create mode 100644 Documentation/gpu/xe/xe-drm-usage-stats.rst

-- 
2.43.0


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

* [PATCH v2 1/6] drm/xe/lrc: Add helper to capture context timestamp
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
@ 2024-04-23 23:56 ` Lucas De Marchi
  2024-04-23 23:56 ` [PATCH v2 2/6] drm/xe: Add helper to capture engine timestamp Lucas De Marchi
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 23+ messages in thread
From: Lucas De Marchi @ 2024-04-23 23:56 UTC (permalink / raw)
  To: intel-xe
  Cc: dri-devel, Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

Add a helper to capture CTX_TIMESTAMP from the context image so it can
be used to calculate the runtime.

v2: Add kernel-doc to clarify expectation from caller

Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h |  1 +
 drivers/gpu/drm/xe/xe_lrc.c             | 11 +++++++++++
 drivers/gpu/drm/xe/xe_lrc.h             | 14 ++++++++++++++
 drivers/gpu/drm/xe/xe_lrc_types.h       |  3 +++
 4 files changed, 29 insertions(+)

diff --git a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
index 1825d8f79db6..8780e6c6b649 100644
--- a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
+++ b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
@@ -11,6 +11,7 @@
 #define CTX_RING_TAIL			(0x06 + 1)
 #define CTX_RING_START			(0x08 + 1)
 #define CTX_RING_CTL			(0x0a + 1)
+#define CTX_TIMESTAMP			(0x22 + 1)
 #define CTX_PDP0_UDW			(0x30 + 1)
 #define CTX_PDP0_LDW			(0x32 + 1)
 
diff --git a/drivers/gpu/drm/xe/xe_lrc.c b/drivers/gpu/drm/xe/xe_lrc.c
index 615bbc372ac6..4bfd8f9c3b46 100644
--- a/drivers/gpu/drm/xe/xe_lrc.c
+++ b/drivers/gpu/drm/xe/xe_lrc.c
@@ -751,6 +751,7 @@ int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
 	lrc->tile = gt_to_tile(hwe->gt);
 	lrc->ring.size = ring_size;
 	lrc->ring.tail = 0;
+	lrc->ctx_timestamp = 0;
 
 	xe_hw_fence_ctx_init(&lrc->fence_ctx, hwe->gt,
 			     hwe->fence_irq, hwe->name);
@@ -786,6 +787,7 @@ int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
 			xe_drm_client_add_bo(vm->xef->client, lrc->bo);
 	}
 
+	xe_lrc_write_ctx_reg(lrc, CTX_TIMESTAMP, 0);
 	xe_lrc_write_ctx_reg(lrc, CTX_RING_START, __xe_lrc_ring_ggtt_addr(lrc));
 	xe_lrc_write_ctx_reg(lrc, CTX_RING_HEAD, 0);
 	xe_lrc_write_ctx_reg(lrc, CTX_RING_TAIL, lrc->ring.tail);
@@ -1444,3 +1446,12 @@ void xe_lrc_snapshot_free(struct xe_lrc_snapshot *snapshot)
 		xe_bo_put(snapshot->lrc_bo);
 	kfree(snapshot);
 }
+
+u32 xe_lrc_update_timestamp(struct xe_lrc *lrc, u32 *old_ts)
+{
+	*old_ts = lrc->ctx_timestamp;
+
+	lrc->ctx_timestamp = xe_lrc_read_ctx_reg(lrc, CTX_TIMESTAMP);
+
+	return lrc->ctx_timestamp;
+}
diff --git a/drivers/gpu/drm/xe/xe_lrc.h b/drivers/gpu/drm/xe/xe_lrc.h
index d32fa31faa2c..dcbc6edd80da 100644
--- a/drivers/gpu/drm/xe/xe_lrc.h
+++ b/drivers/gpu/drm/xe/xe_lrc.h
@@ -60,4 +60,18 @@ void xe_lrc_snapshot_capture_delayed(struct xe_lrc_snapshot *snapshot);
 void xe_lrc_snapshot_print(struct xe_lrc_snapshot *snapshot, struct drm_printer *p);
 void xe_lrc_snapshot_free(struct xe_lrc_snapshot *snapshot);
 
+/**
+ * xe_lrc_update_timestamp - readout LRC timestamp and update cached value
+ * @lrc: logical ring context for this exec queue
+ * @old_ts: pointer where to save the previous timestamp
+ *
+ * Read the current timestamp for this LRC and update the cached value. The
+ * previous cached value is also returned in @old_ts so the caller can calculate
+ * the delta between 2 updates. Note that this is not intended to be called from
+ * any place, but just by the paths updating the drm client utilization.
+ *
+ * Returns the current LRC timestamp
+ */
+u32 xe_lrc_update_timestamp(struct xe_lrc *lrc, u32 *old_ts);
+
 #endif
diff --git a/drivers/gpu/drm/xe/xe_lrc_types.h b/drivers/gpu/drm/xe/xe_lrc_types.h
index b716df0dfb4e..5765d771b901 100644
--- a/drivers/gpu/drm/xe/xe_lrc_types.h
+++ b/drivers/gpu/drm/xe/xe_lrc_types.h
@@ -41,6 +41,9 @@ struct xe_lrc {
 
 	/** @fence_ctx: context for hw fence */
 	struct xe_hw_fence_ctx fence_ctx;
+
+	/** @ctx_timestamp: readout value of CTX_TIMESTAMP on last update */
+	u32 ctx_timestamp;
 };
 
 struct xe_lrc_snapshot;
-- 
2.43.0


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

* [PATCH v2 2/6] drm/xe: Add helper to capture engine timestamp
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
  2024-04-23 23:56 ` [PATCH v2 1/6] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
@ 2024-04-23 23:56 ` Lucas De Marchi
  2024-04-23 23:56 ` [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime Lucas De Marchi
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 23+ messages in thread
From: Lucas De Marchi @ 2024-04-23 23:56 UTC (permalink / raw)
  To: intel-xe
  Cc: dri-devel, Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

Just like CTX_TIMESTAMP is used to calculate runtime, add a helper to
get the timestamp for the engine so it can be used to calculate the
"engine time" with the same unit as the runtime is recorded.

Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_hw_engine.c | 5 +++++
 drivers/gpu/drm/xe/xe_hw_engine.h | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index 455f375c1cbd..f357de532685 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -955,3 +955,8 @@ bool xe_hw_engine_is_reserved(struct xe_hw_engine *hwe)
 	return xe->info.has_usm && hwe->class == XE_ENGINE_CLASS_COPY &&
 		hwe->instance == gt->usm.reserved_bcs_instance;
 }
+
+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe)
+{
+	return xe_mmio_read64_2x32(hwe->gt, RING_TIMESTAMP(hwe->mmio_base));
+}
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.h b/drivers/gpu/drm/xe/xe_hw_engine.h
index 71968ee2f600..a10d5e528958 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.h
+++ b/drivers/gpu/drm/xe/xe_hw_engine.h
@@ -67,4 +67,6 @@ static inline bool xe_hw_engine_is_valid(struct xe_hw_engine *hwe)
 	return hwe->name;
 }
 
+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe);
+
 #endif
-- 
2.43.0


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

* [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
  2024-04-23 23:56 ` [PATCH v2 1/6] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
  2024-04-23 23:56 ` [PATCH v2 2/6] drm/xe: Add helper to capture engine timestamp Lucas De Marchi
@ 2024-04-23 23:56 ` Lucas De Marchi
  2024-04-24  4:08   ` Matthew Brost
  2024-04-26 10:49   ` Tvrtko Ursulin
  2024-04-23 23:56 ` [PATCH v2 4/6] drm/xe: Promote xe_hw_engine_class_to_str() Lucas De Marchi
                   ` (9 subsequent siblings)
  12 siblings, 2 replies; 23+ messages in thread
From: Lucas De Marchi @ 2024-04-23 23:56 UTC (permalink / raw)
  To: intel-xe
  Cc: dri-devel, Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

Add a helper to accumulate per-client runtime of all its
exec queues. Currently that is done in 2 places:

	1. when the exec_queue is destroyed
	2. when the sched job is completed

Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
 drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
 drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
 4 files changed, 49 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 2e62450d86e1..33d3bf93a2f1 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -547,6 +547,15 @@ struct xe_file {
 		struct mutex lock;
 	} exec_queue;
 
+	/**
+	 * @runtime: hw engine class runtime in ticks for this drm client
+	 *
+	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
+	 * case, since all jobs run in parallel on the engines, only the stats
+	 * from lrc[0] are sufficient.
+	 */
+	u64 runtime[XE_ENGINE_CLASS_MAX];
+
 	/** @client: drm client */
 	struct xe_drm_client *client;
 };
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 395de93579fa..b7b6256cb96a 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
 {
 	int i;
 
+	xe_exec_queue_update_runtime(q);
+
 	for (i = 0; i < q->width; ++i)
 		xe_lrc_finish(q->lrc + i);
 	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
@@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
 		q->lrc[0].fence_ctx.next_seqno - 1;
 }
 
+/**
+ * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
+ * @q: The exec queue
+ *
+ * Update the timestamp saved by HW for this exec queue and save runtime
+ * calculated by using the delta from last update. On multi-lrc case, only the
+ * first is considered.
+ */
+void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
+{
+	struct xe_file *xef;
+	struct xe_lrc *lrc;
+	u32 old_ts, new_ts;
+
+	/*
+	 * Jobs that are run during driver load may use an exec_queue, but are
+	 * not associated with a user xe file, so avoid accumulating busyness
+	 * for kernel specific work.
+	 */
+	if (!q->vm || !q->vm->xef)
+		return;
+
+	xef = q->vm->xef;
+	lrc = &q->lrc[0];
+
+	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
+
+	/*
+	 * Special case the very first timestamp: we don't want the
+	 * initial delta to be a huge value
+	 */
+	if (old_ts)
+		xef->runtime[q->class] += new_ts - old_ts;
+}
+
 void xe_exec_queue_kill(struct xe_exec_queue *q)
 {
 	struct xe_exec_queue *eq = q, *next;
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
index 02ce8d204622..45b72daa2db3 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue.h
@@ -66,5 +66,6 @@ struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
 					       struct xe_vm *vm);
 void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
 				  struct dma_fence *fence);
+void xe_exec_queue_update_runtime(struct xe_exec_queue *q);
 
 #endif
diff --git a/drivers/gpu/drm/xe/xe_sched_job.c b/drivers/gpu/drm/xe/xe_sched_job.c
index cd8a2fba5438..6a081a4fa190 100644
--- a/drivers/gpu/drm/xe/xe_sched_job.c
+++ b/drivers/gpu/drm/xe/xe_sched_job.c
@@ -242,6 +242,8 @@ bool xe_sched_job_completed(struct xe_sched_job *job)
 {
 	struct xe_lrc *lrc = job->q->lrc;
 
+	xe_exec_queue_update_runtime(job->q);
+
 	/*
 	 * Can safely check just LRC[0] seqno as that is last seqno written when
 	 * parallel handshake is done.
-- 
2.43.0


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

* [PATCH v2 4/6] drm/xe: Promote xe_hw_engine_class_to_str()
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (2 preceding siblings ...)
  2024-04-23 23:56 ` [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime Lucas De Marchi
@ 2024-04-23 23:56 ` Lucas De Marchi
  2024-04-23 23:56 ` [PATCH v2 5/6] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion Lucas De Marchi
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 23+ messages in thread
From: Lucas De Marchi @ 2024-04-23 23:56 UTC (permalink / raw)
  To: intel-xe
  Cc: dri-devel, Umesh Nerlige Ramappa, Tvrtko Ursulin,
	Lucas De Marchi, Nirmoy Das, Oak Zeng

Move it out of the sysfs compilation unit so it can be re-used in other
places.

Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Oak Zeng <oak.zeng@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_hw_engine.c             | 18 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_hw_engine.h             |  1 +
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c | 18 ------------------
 3 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index f357de532685..e1b167149166 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -960,3 +960,21 @@ u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe)
 {
 	return xe_mmio_read64_2x32(hwe->gt, RING_TIMESTAMP(hwe->mmio_base));
 }
+
+const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
+{
+	switch (class) {
+	case XE_ENGINE_CLASS_RENDER:
+		return "rcs";
+	case XE_ENGINE_CLASS_VIDEO_DECODE:
+		return "vcs";
+	case XE_ENGINE_CLASS_VIDEO_ENHANCE:
+		return "vecs";
+	case XE_ENGINE_CLASS_COPY:
+		return "bcs";
+	case XE_ENGINE_CLASS_COMPUTE:
+		return "ccs";
+	default:
+		return NULL;
+	}
+}
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.h b/drivers/gpu/drm/xe/xe_hw_engine.h
index a10d5e528958..d0ab2652667f 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.h
+++ b/drivers/gpu/drm/xe/xe_hw_engine.h
@@ -68,5 +68,6 @@ static inline bool xe_hw_engine_is_valid(struct xe_hw_engine *hwe)
 }
 
 u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe);
+const char *xe_hw_engine_class_to_str(enum xe_engine_class class);
 
 #endif
diff --git a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
index 844ec68cbbb8..efce6c7dd2a2 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
@@ -618,24 +618,6 @@ static void hw_engine_class_sysfs_fini(struct drm_device *drm, void *arg)
 	kobject_put(kobj);
 }
 
-static const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
-{
-	switch (class) {
-	case XE_ENGINE_CLASS_RENDER:
-		return "rcs";
-	case XE_ENGINE_CLASS_VIDEO_DECODE:
-		return "vcs";
-	case XE_ENGINE_CLASS_VIDEO_ENHANCE:
-		return "vecs";
-	case XE_ENGINE_CLASS_COPY:
-		return "bcs";
-	case XE_ENGINE_CLASS_COMPUTE:
-		return "ccs";
-	default:
-		return NULL;
-	}
-}
-
 /**
  * xe_hw_engine_class_sysfs_init - Init HW engine classes on GT.
  * @gt: Xe GT.
-- 
2.43.0


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

* [PATCH v2 5/6] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (3 preceding siblings ...)
  2024-04-23 23:56 ` [PATCH v2 4/6] drm/xe: Promote xe_hw_engine_class_to_str() Lucas De Marchi
@ 2024-04-23 23:56 ` Lucas De Marchi
  2024-04-23 23:56 ` [PATCH v2 6/6] drm/xe/client: Print runtime to fdinfo Lucas De Marchi
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 23+ messages in thread
From: Lucas De Marchi @ 2024-04-23 23:56 UTC (permalink / raw)
  To: intel-xe
  Cc: dri-devel, Umesh Nerlige Ramappa, Tvrtko Ursulin,
	Lucas De Marchi, Nirmoy Das

XE_ENGINE_CLASS_OTHER was missing from the str conversion. Add it and
remove the default handling so it's protected by -Wswitch-enum.
Currently the only user is xe_hw_engine_class_sysfs_init(), which
already skips XE_ENGINE_CLASS_OTHER, so there's no change in behavior.

Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_hw_engine.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index e1b167149166..7395e25d1c2e 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -972,9 +972,13 @@ const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
 		return "vecs";
 	case XE_ENGINE_CLASS_COPY:
 		return "bcs";
+	case XE_ENGINE_CLASS_OTHER:
+		return "other";
 	case XE_ENGINE_CLASS_COMPUTE:
 		return "ccs";
-	default:
-		return NULL;
+	case XE_ENGINE_CLASS_MAX:
+		break;
 	}
+
+	return NULL;
 }
-- 
2.43.0


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

* [PATCH v2 6/6] drm/xe/client: Print runtime to fdinfo
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (4 preceding siblings ...)
  2024-04-23 23:56 ` [PATCH v2 5/6] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion Lucas De Marchi
@ 2024-04-23 23:56 ` Lucas De Marchi
  2024-04-26 10:47   ` Tvrtko Ursulin
  2024-04-24  1:14 ` ✓ CI.Patch_applied: success for drm/xe: Per client usage (rev2) Patchwork
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 23+ messages in thread
From: Lucas De Marchi @ 2024-04-23 23:56 UTC (permalink / raw)
  To: intel-xe
  Cc: dri-devel, Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

Print the accumulated runtime for client when printing fdinfo.
Each time a query is done it first does 2 things:

1) loop through all the exec queues for the current client and
   accumulate the runtime, per engine class. CTX_TIMESTAMP is used for
   that, being read from the context image.

2) Read a "GPU timestamp" that can be used for considering "how much GPU
   time has passed" and that has the same unit/refclock as the one
   recording the runtime. RING_TIMESTAMP is used for that via MMIO.

Since for all current platforms RING_TIMESTAMP follows the same
refclock, just read it once, using any first engine.

This is exported to userspace as 2 numbers in fdinfo:

	drm-cycles-<class>: <RUNTIME>
	drm-total-cycles-<class>: <TIMESTAMP>

Userspace is expected to collect at least 2 samples, which allows to
know the client engine busyness as per:

		    RUNTIME1 - RUNTIME0
	busyness = ---------------------
			  T1 - T0

Another thing to point out is that it's expected that userspace will
read any 2 samples every few seconds.  Given the update frequency of the
counters involved and that CTX_TIMESTAMP is 32-bits, the counter for
each exec_queue can wrap around (assuming 100% utilization) after ~200s.
The wraparound is not perceived by userspace since it's just accumulated
for all the exec_queues in a 64-bit counter), but the measurement will
not be accurate if the samples are too far apart.

This could be mitigated by adding a workqueue to accumulate the counters
every so often, but it's additional complexity for something that is
done already by userspace every few seconds in tools like gputop (from
igt), htop, nvtop, etc with none of them really defaulting to 1 sample
per minute or more.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 Documentation/gpu/drm-usage-stats.rst       |  16 ++-
 Documentation/gpu/xe/index.rst              |   1 +
 Documentation/gpu/xe/xe-drm-usage-stats.rst |  10 ++
 drivers/gpu/drm/xe/xe_drm_client.c          | 138 +++++++++++++++++++-
 4 files changed, 162 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/gpu/xe/xe-drm-usage-stats.rst

diff --git a/Documentation/gpu/drm-usage-stats.rst b/Documentation/gpu/drm-usage-stats.rst
index 6dc299343b48..421766289b78 100644
--- a/Documentation/gpu/drm-usage-stats.rst
+++ b/Documentation/gpu/drm-usage-stats.rst
@@ -112,6 +112,17 @@ larger value within a reasonable period. Upon observing a value lower than what
 was previously read, userspace is expected to stay with that larger previous
 value until a monotonic update is seen.
 
+- drm-total-cycles-<keystr>: <uint>
+
+Engine identifier string must be the same as the one specified in the
+drm-cycles-<keystr> tag and shall contain the total number cycles for the given
+engine.
+
+This is a timestamp in GPU unspecified unit that matches the update rate
+of drm-cycles-<keystr>. For drivers that implement this interface, the engine
+utilization can be calculated entirely on the GPU clock domain, without
+considering the CPU sleep time between 2 samples.
+
 - drm-maxfreq-<keystr>: <uint> [Hz|MHz|KHz]
 
 Engine identifier string must be the same as the one specified in the
@@ -168,5 +179,6 @@ be documented above and where possible, aligned with other drivers.
 Driver specific implementations
 -------------------------------
 
-:ref:`i915-usage-stats`
-:ref:`panfrost-usage-stats`
+* :ref:`i915-usage-stats`
+* :ref:`panfrost-usage-stats`
+* :ref:`xe-usage-stats`
diff --git a/Documentation/gpu/xe/index.rst b/Documentation/gpu/xe/index.rst
index c224ecaee81e..3f07aa3b5432 100644
--- a/Documentation/gpu/xe/index.rst
+++ b/Documentation/gpu/xe/index.rst
@@ -23,3 +23,4 @@ DG2, etc is provided to prototype the driver.
    xe_firmware
    xe_tile
    xe_debugging
+   xe-drm-usage-stats.rst
diff --git a/Documentation/gpu/xe/xe-drm-usage-stats.rst b/Documentation/gpu/xe/xe-drm-usage-stats.rst
new file mode 100644
index 000000000000..ccb48733cbe3
--- /dev/null
+++ b/Documentation/gpu/xe/xe-drm-usage-stats.rst
@@ -0,0 +1,10 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+.. _xe-usage-stats:
+
+=======================================
+Xe DRM client usage stats implemenation
+=======================================
+
+.. kernel-doc:: drivers/gpu/drm/xe/xe_drm_client.c
+   :doc: DRM Client usage stats
diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
index 08f0b7c95901..0227383910fa 100644
--- a/drivers/gpu/drm/xe/xe_drm_client.c
+++ b/drivers/gpu/drm/xe/xe_drm_client.c
@@ -2,6 +2,7 @@
 /*
  * Copyright © 2023 Intel Corporation
  */
+#include "xe_drm_client.h"
 
 #include <drm/drm_print.h>
 #include <drm/xe_drm.h>
@@ -12,9 +13,66 @@
 #include "xe_bo.h"
 #include "xe_bo_types.h"
 #include "xe_device_types.h"
-#include "xe_drm_client.h"
+#include "xe_exec_queue.h"
+#include "xe_gt.h"
+#include "xe_hw_engine.h"
+#include "xe_pm.h"
 #include "xe_trace.h"
 
+/**
+ * DOC: DRM Client usage stats
+ *
+ * The drm/xe driver implements the DRM client usage stats specification as
+ * documented in :ref:`drm-client-usage-stats`.
+ *
+ * Example of the output showing the implemented key value pairs and entirety of
+ * the currently possible format options:
+ *
+ * ::
+ *
+ * 	pos:    0
+ * 	flags:  0100002
+ * 	mnt_id: 26
+ * 	ino:    685
+ * 	drm-driver:     xe
+ * 	drm-client-id:  3
+ * 	drm-pdev:       0000:03:00.0
+ * 	drm-total-system:       0
+ * 	drm-shared-system:      0
+ * 	drm-active-system:      0
+ * 	drm-resident-system:    0
+ * 	drm-purgeable-system:   0
+ * 	drm-total-gtt:  192 KiB
+ * 	drm-shared-gtt: 0
+ * 	drm-active-gtt: 0
+ * 	drm-resident-gtt:       192 KiB
+ * 	drm-total-vram0:        23992 KiB
+ * 	drm-shared-vram0:       16 MiB
+ * 	drm-active-vram0:       0
+ * 	drm-resident-vram0:     23992 KiB
+ * 	drm-total-stolen:       0
+ * 	drm-shared-stolen:      0
+ * 	drm-active-stolen:      0
+ * 	drm-resident-stolen:    0
+ * 	drm-cycles-rcs: 28257900
+ * 	drm-total-cycles-rcs:   7655183225
+ * 	drm-cycles-bcs: 0
+ * 	drm-total-cycles-bcs:   7655183225
+ * 	drm-cycles-vcs: 0
+ * 	drm-total-cycles-vcs:   7655183225
+ * 	drm-engine-capacity-vcs:        2
+ * 	drm-cycles-vecs:        0
+ * 	drm-total-cycles-vecs:  7655183225
+ * 	drm-engine-capacity-vecs:       2
+ * 	drm-cycles-ccs: 0
+ * 	drm-total-cycles-ccs:   7655183225
+ * 	drm-engine-capacity-ccs:        4
+ *
+ * Possible `drm-cycles-` key names are: `rcs`, `ccs`, `bcs`, `vcs`, `vecs` and
+ * "other".
+ */
+
+
 /**
  * xe_drm_client_alloc() - Allocate drm client
  * @void: No arg
@@ -179,6 +237,83 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
 	}
 }
 
+static const u64 class_to_mask[] = {
+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,
+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,
+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,
+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,
+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,
+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,
+};
+
+static void show_runtime(struct drm_printer *p, struct drm_file *file)
+{
+	struct xe_file *xef = file->driver_priv;
+	struct xe_device *xe = xef->xe;
+	struct xe_gt *gt;
+	struct xe_hw_engine *hwe;
+	struct xe_exec_queue *q;
+	unsigned long i, id_hwe, id_gt, capacity[XE_ENGINE_CLASS_MAX] = { };
+	u64 gpu_timestamp, engine_mask = 0;
+	bool gpu_stamp = false;
+
+	xe_pm_runtime_get(xe);
+
+	/* Accumulate all the exec queues from this client */
+	mutex_lock(&xef->exec_queue.lock);
+	xa_for_each(&xef->exec_queue.xa, i, q)
+		xe_exec_queue_update_runtime(q);
+	mutex_unlock(&xef->exec_queue.lock);
+
+
+	/* Calculate capacity of each engine class */
+	BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
+	for_each_gt(gt, xe, id_gt)
+		engine_mask |= gt->info.engine_mask;
+	for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
+		capacity[i] = hweight64(engine_mask & class_to_mask[i]);
+
+	/*
+	 * Iterate over all engines, printing the accumulated
+	 * runtime for this client, per engine class
+	 */
+	for_each_gt(gt, xe, id_gt) {
+		xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+		for_each_hw_engine(hwe, gt, id_hwe) {
+			const char *class_name;
+
+			if (!capacity[hwe->class])
+				continue;
+
+			/*
+			 * Use any (first) engine to have a timestamp to be used every
+			 * time
+			 */
+			if (!gpu_stamp) {
+				gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
+				gpu_stamp = true;
+			}
+
+			class_name = xe_hw_engine_class_to_str(hwe->class);
+
+			drm_printf(p, "drm-cycles-%s:\t%llu\n",
+				   class_name, xef->runtime[hwe->class]);
+			drm_printf(p, "drm-total-cycles-%s:\t%llu\n",
+				   class_name, gpu_timestamp);
+
+			if (capacity[hwe->class] > 1)
+				drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
+					   class_name, capacity[hwe->class]);
+
+			/* engine class already handled, skip next iterations */
+			capacity[hwe->class] = 0;
+		}
+		xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+	}
+
+	xe_pm_runtime_get(xe);
+}
+
 /**
  * xe_drm_client_fdinfo() - Callback for fdinfo interface
  * @p: The drm_printer ptr
@@ -192,5 +327,6 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
 void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
 {
 	show_meminfo(p, file);
+	show_runtime(p, file);
 }
 #endif
-- 
2.43.0


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

* ✓ CI.Patch_applied: success for drm/xe: Per client usage (rev2)
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (5 preceding siblings ...)
  2024-04-23 23:56 ` [PATCH v2 6/6] drm/xe/client: Print runtime to fdinfo Lucas De Marchi
@ 2024-04-24  1:14 ` Patchwork
  2024-04-24  1:14 ` ✗ CI.checkpatch: warning " Patchwork
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2024-04-24  1:14 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage (rev2)
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: b5b592a3902a drm-tip: 2024y-04m-23d-23h-09m-19s UTC integration manifest
=== git am output follows ===
Applying: drm/xe/lrc: Add helper to capture context timestamp
Applying: drm/xe: Add helper to capture engine timestamp
Applying: drm/xe: Add helper to accumulate exec queue runtime
Applying: drm/xe: Promote xe_hw_engine_class_to_str()
Applying: drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
Applying: drm/xe/client: Print runtime to fdinfo



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

* ✗ CI.checkpatch: warning for drm/xe: Per client usage (rev2)
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (6 preceding siblings ...)
  2024-04-24  1:14 ` ✓ CI.Patch_applied: success for drm/xe: Per client usage (rev2) Patchwork
@ 2024-04-24  1:14 ` Patchwork
  2024-04-24  1:15 ` ✓ CI.KUnit: success " Patchwork
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2024-04-24  1:14 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage (rev2)
URL   : https://patchwork.freedesktop.org/series/132477/
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
0daf0be5bb95eb0a0e42275e00a0e42d8d8fd543
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 23b4f637de099357961b38c371edd3b92b381cfa
Author: Lucas De Marchi <lucas.demarchi@intel.com>
Date:   Tue Apr 23 16:56:51 2024 -0700

    drm/xe/client: Print runtime to fdinfo
    
    Print the accumulated runtime for client when printing fdinfo.
    Each time a query is done it first does 2 things:
    
    1) loop through all the exec queues for the current client and
       accumulate the runtime, per engine class. CTX_TIMESTAMP is used for
       that, being read from the context image.
    
    2) Read a "GPU timestamp" that can be used for considering "how much GPU
       time has passed" and that has the same unit/refclock as the one
       recording the runtime. RING_TIMESTAMP is used for that via MMIO.
    
    Since for all current platforms RING_TIMESTAMP follows the same
    refclock, just read it once, using any first engine.
    
    This is exported to userspace as 2 numbers in fdinfo:
    
            drm-cycles-<class>: <RUNTIME>
            drm-total-cycles-<class>: <TIMESTAMP>
    
    Userspace is expected to collect at least 2 samples, which allows to
    know the client engine busyness as per:
    
                        RUNTIME1 - RUNTIME0
            busyness = ---------------------
                              T1 - T0
    
    Another thing to point out is that it's expected that userspace will
    read any 2 samples every few seconds.  Given the update frequency of the
    counters involved and that CTX_TIMESTAMP is 32-bits, the counter for
    each exec_queue can wrap around (assuming 100% utilization) after ~200s.
    The wraparound is not perceived by userspace since it's just accumulated
    for all the exec_queues in a 64-bit counter), but the measurement will
    not be accurate if the samples are too far apart.
    
    This could be mitigated by adding a workqueue to accumulate the counters
    every so often, but it's additional complexity for something that is
    done already by userspace every few seconds in tools like gputop (from
    igt), htop, nvtop, etc with none of them really defaulting to 1 sample
    per minute or more.
    
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
+ /mt/dim checkpatch b5b592a3902a51cc5747c625aa1898768d4ce79a drm-intel
4398037c5ec4 drm/xe/lrc: Add helper to capture context timestamp
315154a6233d drm/xe: Add helper to capture engine timestamp
5301ded9e3f3 drm/xe: Add helper to accumulate exec queue runtime
165d9d9850df drm/xe: Promote xe_hw_engine_class_to_str()
12ff7c76927e drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
23b4f637de09 drm/xe/client: Print runtime to fdinfo
Traceback (most recent call last):
  File "scripts/spdxcheck.py", line 6, in <module>
    from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:89: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#89: 
new file mode 100644

-:99: WARNING:TYPO_SPELLING: 'implemenation' may be misspelled - perhaps 'implementation'?
#99: FILE: Documentation/gpu/xe/xe-drm-usage-stats.rst:6:
+Xe DRM client usage stats implemenation
                           ^^^^^^^^^^^^^

-:138: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#138: FILE: drivers/gpu/drm/xe/xe_drm_client.c:33:
+ * ^Ipos:    0$

-:139: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#139: FILE: drivers/gpu/drm/xe/xe_drm_client.c:34:
+ * ^Iflags:  0100002$

-:140: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#140: FILE: drivers/gpu/drm/xe/xe_drm_client.c:35:
+ * ^Imnt_id: 26$

-:141: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#141: FILE: drivers/gpu/drm/xe/xe_drm_client.c:36:
+ * ^Iino:    685$

-:142: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#142: FILE: drivers/gpu/drm/xe/xe_drm_client.c:37:
+ * ^Idrm-driver:     xe$

-:143: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#143: FILE: drivers/gpu/drm/xe/xe_drm_client.c:38:
+ * ^Idrm-client-id:  3$

-:144: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#144: FILE: drivers/gpu/drm/xe/xe_drm_client.c:39:
+ * ^Idrm-pdev:       0000:03:00.0$

-:145: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#145: FILE: drivers/gpu/drm/xe/xe_drm_client.c:40:
+ * ^Idrm-total-system:       0$

-:146: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#146: FILE: drivers/gpu/drm/xe/xe_drm_client.c:41:
+ * ^Idrm-shared-system:      0$

-:147: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#147: FILE: drivers/gpu/drm/xe/xe_drm_client.c:42:
+ * ^Idrm-active-system:      0$

-:148: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#148: FILE: drivers/gpu/drm/xe/xe_drm_client.c:43:
+ * ^Idrm-resident-system:    0$

-:149: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#149: FILE: drivers/gpu/drm/xe/xe_drm_client.c:44:
+ * ^Idrm-purgeable-system:   0$

-:150: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#150: FILE: drivers/gpu/drm/xe/xe_drm_client.c:45:
+ * ^Idrm-total-gtt:  192 KiB$

-:151: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#151: FILE: drivers/gpu/drm/xe/xe_drm_client.c:46:
+ * ^Idrm-shared-gtt: 0$

-:152: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#152: FILE: drivers/gpu/drm/xe/xe_drm_client.c:47:
+ * ^Idrm-active-gtt: 0$

-:153: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#153: FILE: drivers/gpu/drm/xe/xe_drm_client.c:48:
+ * ^Idrm-resident-gtt:       192 KiB$

-:154: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#154: FILE: drivers/gpu/drm/xe/xe_drm_client.c:49:
+ * ^Idrm-total-vram0:        23992 KiB$

-:155: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#155: FILE: drivers/gpu/drm/xe/xe_drm_client.c:50:
+ * ^Idrm-shared-vram0:       16 MiB$

-:156: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#156: FILE: drivers/gpu/drm/xe/xe_drm_client.c:51:
+ * ^Idrm-active-vram0:       0$

-:157: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#157: FILE: drivers/gpu/drm/xe/xe_drm_client.c:52:
+ * ^Idrm-resident-vram0:     23992 KiB$

-:158: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#158: FILE: drivers/gpu/drm/xe/xe_drm_client.c:53:
+ * ^Idrm-total-stolen:       0$

-:159: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#159: FILE: drivers/gpu/drm/xe/xe_drm_client.c:54:
+ * ^Idrm-shared-stolen:      0$

-:160: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#160: FILE: drivers/gpu/drm/xe/xe_drm_client.c:55:
+ * ^Idrm-active-stolen:      0$

-:161: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#161: FILE: drivers/gpu/drm/xe/xe_drm_client.c:56:
+ * ^Idrm-resident-stolen:    0$

-:162: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#162: FILE: drivers/gpu/drm/xe/xe_drm_client.c:57:
+ * ^Idrm-cycles-rcs: 28257900$

-:163: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#163: FILE: drivers/gpu/drm/xe/xe_drm_client.c:58:
+ * ^Idrm-total-cycles-rcs:   7655183225$

-:164: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#164: FILE: drivers/gpu/drm/xe/xe_drm_client.c:59:
+ * ^Idrm-cycles-bcs: 0$

-:165: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#165: FILE: drivers/gpu/drm/xe/xe_drm_client.c:60:
+ * ^Idrm-total-cycles-bcs:   7655183225$

-:166: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#166: FILE: drivers/gpu/drm/xe/xe_drm_client.c:61:
+ * ^Idrm-cycles-vcs: 0$

-:167: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#167: FILE: drivers/gpu/drm/xe/xe_drm_client.c:62:
+ * ^Idrm-total-cycles-vcs:   7655183225$

-:168: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#168: FILE: drivers/gpu/drm/xe/xe_drm_client.c:63:
+ * ^Idrm-engine-capacity-vcs:        2$

-:169: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#169: FILE: drivers/gpu/drm/xe/xe_drm_client.c:64:
+ * ^Idrm-cycles-vecs:        0$

-:170: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#170: FILE: drivers/gpu/drm/xe/xe_drm_client.c:65:
+ * ^Idrm-total-cycles-vecs:  7655183225$

-:171: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#171: FILE: drivers/gpu/drm/xe/xe_drm_client.c:66:
+ * ^Idrm-engine-capacity-vecs:       2$

-:172: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#172: FILE: drivers/gpu/drm/xe/xe_drm_client.c:67:
+ * ^Idrm-cycles-ccs: 0$

-:173: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#173: FILE: drivers/gpu/drm/xe/xe_drm_client.c:68:
+ * ^Idrm-total-cycles-ccs:   7655183225$

-:174: WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#174: FILE: drivers/gpu/drm/xe/xe_drm_client.c:69:
+ * ^Idrm-engine-capacity-ccs:        4$

-:180: CHECK:LINE_SPACING: Please don't use multiple blank lines
#180: FILE: drivers/gpu/drm/xe/xe_drm_client.c:75:
+
+

-:189: ERROR:CODE_INDENT: code indent should use tabs where possible
#189: FILE: drivers/gpu/drm/xe/xe_drm_client.c:241:
+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,$

-:189: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#189: FILE: drivers/gpu/drm/xe/xe_drm_client.c:241:
+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,$

-:190: ERROR:CODE_INDENT: code indent should use tabs where possible
#190: FILE: drivers/gpu/drm/xe/xe_drm_client.c:242:
+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,$

-:190: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#190: FILE: drivers/gpu/drm/xe/xe_drm_client.c:242:
+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,$

-:191: ERROR:CODE_INDENT: code indent should use tabs where possible
#191: FILE: drivers/gpu/drm/xe/xe_drm_client.c:243:
+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,$

-:191: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#191: FILE: drivers/gpu/drm/xe/xe_drm_client.c:243:
+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,$

-:192: ERROR:CODE_INDENT: code indent should use tabs where possible
#192: FILE: drivers/gpu/drm/xe/xe_drm_client.c:244:
+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,$

-:192: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#192: FILE: drivers/gpu/drm/xe/xe_drm_client.c:244:
+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,$

-:193: ERROR:CODE_INDENT: code indent should use tabs where possible
#193: FILE: drivers/gpu/drm/xe/xe_drm_client.c:245:
+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,$

-:193: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#193: FILE: drivers/gpu/drm/xe/xe_drm_client.c:245:
+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,$

-:194: ERROR:CODE_INDENT: code indent should use tabs where possible
#194: FILE: drivers/gpu/drm/xe/xe_drm_client.c:246:
+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,$

-:194: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#194: FILE: drivers/gpu/drm/xe/xe_drm_client.c:246:
+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,$

-:216: CHECK:LINE_SPACING: Please don't use multiple blank lines
#216: FILE: drivers/gpu/drm/xe/xe_drm_client.c:268:
+
+

total: 6 errors, 45 warnings, 2 checks, 202 lines checked



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

* ✓ CI.KUnit: success for drm/xe: Per client usage (rev2)
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (7 preceding siblings ...)
  2024-04-24  1:14 ` ✗ CI.checkpatch: warning " Patchwork
@ 2024-04-24  1:15 ` Patchwork
  2024-04-24  1:27 ` ✓ CI.Build: " Patchwork
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2024-04-24  1:15 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage (rev2)
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[01:14:41] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[01:14:46] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
../arch/x86/um/user-offsets.c:17:6: warning: no previous prototype for ‘foo’ [-Wmissing-prototypes]
   17 | void foo(void)
      |      ^~~
In file included from ../arch/um/kernel/asm-offsets.c:1:
../arch/x86/um/shared/sysdep/kernel-offsets.h:9:6: warning: no previous prototype for ‘foo’ [-Wmissing-prototypes]
    9 | void foo(void)
      |      ^~~
../arch/x86/um/bugs_64.c:9:6: warning: no previous prototype for ‘arch_check_bugs’ [-Wmissing-prototypes]
    9 | void arch_check_bugs(void)
      |      ^~~~~~~~~~~~~~~
../arch/x86/um/bugs_64.c:13:6: warning: no previous prototype for ‘arch_examine_signal’ [-Wmissing-prototypes]
   13 | void arch_examine_signal(int sig, struct uml_pt_regs *regs)
      |      ^~~~~~~~~~~~~~~~~~~
../arch/x86/um/fault.c:18:5: warning: no previous prototype for ‘arch_fixup’ [-Wmissing-prototypes]
   18 | int arch_fixup(unsigned long address, struct uml_pt_regs *regs)
      |     ^~~~~~~~~~
../arch/x86/um/os-Linux/mcontext.c:7:6: warning: no previous prototype for ‘get_regs_from_mc’ [-Wmissing-prototypes]
    7 | void get_regs_from_mc(struct uml_pt_regs *regs, mcontext_t *mc)
      |      ^~~~~~~~~~~~~~~~
../arch/x86/um/os-Linux/registers.c:146:15: warning: no previous prototype for ‘get_thread_reg’ [-Wmissing-prototypes]
  146 | unsigned long get_thread_reg(int reg, jmp_buf *buf)
      |               ^~~~~~~~~~~~~~
../arch/x86/um/vdso/um_vdso.c:16:5: warning: no previous prototype for ‘__vdso_clock_gettime’ [-Wmissing-prototypes]
   16 | int __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts)
      |     ^~~~~~~~~~~~~~~~~~~~
../arch/x86/um/vdso/um_vdso.c:30:5: warning: no previous prototype for ‘__vdso_gettimeofday’ [-Wmissing-prototypes]
   30 | int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
      |     ^~~~~~~~~~~~~~~~~~~
../arch/x86/um/vdso/um_vdso.c:44:21: warning: no previous prototype for ‘__vdso_time’ [-Wmissing-prototypes]
   44 | __kernel_old_time_t __vdso_time(__kernel_old_time_t *t)
      |                     ^~~~~~~~~~~
../arch/x86/um/vdso/um_vdso.c:57:1: warning: no previous prototype for ‘__vdso_getcpu’ [-Wmissing-prototypes]
   57 | __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused)
      | ^~~~~~~~~~~~~
../arch/um/os-Linux/skas/process.c:107:6: warning: no previous prototype for ‘wait_stub_done’ [-Wmissing-prototypes]
  107 | void wait_stub_done(int pid)
      |      ^~~~~~~~~~~~~~
../arch/um/os-Linux/skas/process.c:683:6: warning: no previous prototype for ‘__switch_mm’ [-Wmissing-prototypes]
  683 | void __switch_mm(struct mm_id *mm_idp)
      |      ^~~~~~~~~~~
../arch/um/kernel/skas/process.c:36:12: warning: no previous prototype for ‘start_uml’ [-Wmissing-prototypes]
   36 | int __init start_uml(void)
      |            ^~~~~~~~~
../arch/um/kernel/skas/mmu.c:17:5: warning: no previous prototype for ‘init_new_context’ [-Wmissing-prototypes]
   17 | int init_new_context(struct task_struct *task, struct mm_struct *mm)
      |     ^~~~~~~~~~~~~~~~
../arch/um/kernel/skas/mmu.c:60:6: warning: no previous prototype for ‘destroy_context’ [-Wmissing-prototypes]
   60 | void destroy_context(struct mm_struct *mm)
      |      ^~~~~~~~~~~~~~~
../arch/um/os-Linux/main.c:187:7: warning: no previous prototype for ‘__wrap_malloc’ [-Wmissing-prototypes]
  187 | void *__wrap_malloc(int size)
      |       ^~~~~~~~~~~~~
../arch/um/os-Linux/main.c:208:7: warning: no previous prototype for ‘__wrap_calloc’ [-Wmissing-prototypes]
  208 | void *__wrap_calloc(int n, int size)
      |       ^~~~~~~~~~~~~
../arch/um/os-Linux/main.c:222:6: warning: no previous prototype for ‘__wrap_free’ [-Wmissing-prototypes]
  222 | void __wrap_free(void *ptr)
      |      ^~~~~~~~~~~
../arch/um/os-Linux/mem.c:28:6: warning: no previous prototype for ‘kasan_map_memory’ [-Wmissing-prototypes]
   28 | void kasan_map_memory(void *start, size_t len)
      |      ^~~~~~~~~~~~~~~~
../arch/um/os-Linux/mem.c:212:13: warning: no previous prototype for ‘check_tmpexec’ [-Wmissing-prototypes]
  212 | void __init check_tmpexec(void)
      |             ^~~~~~~~~~~~~
../arch/x86/um/ptrace_64.c:111:5: warning: no previous prototype for ‘poke_user’ [-Wmissing-prototypes]
  111 | int poke_user(struct task_struct *child, long addr, long data)
      |     ^~~~~~~~~
../arch/x86/um/ptrace_64.c:171:5: warning: no previous prototype for ‘peek_user’ [-Wmissing-prototypes]
  171 | int peek_user(struct task_struct *child, long addr, long data)
      |     ^~~~~~~~~
../arch/x86/um/signal.c:560:6: warning: no previous prototype for ‘sys_rt_sigreturn’ [-Wmissing-prototypes]
  560 | long sys_rt_sigreturn(void)
      |      ^~~~~~~~~~~~~~~~
../arch/um/os-Linux/signal.c:75:6: warning: no previous prototype for ‘sig_handler’ [-Wmissing-prototypes]
   75 | void sig_handler(int sig, struct siginfo *si, mcontext_t *mc)
      |      ^~~~~~~~~~~
../arch/um/os-Linux/signal.c:111:6: warning: no previous prototype for ‘timer_alarm_handler’ [-Wmissing-prototypes]
  111 | void timer_alarm_handler(int sig, struct siginfo *unused_si, mcontext_t *mc)
      |      ^~~~~~~~~~~~~~~~~~~
../arch/um/os-Linux/start_up.c:301:12: warning: no previous prototype for ‘parse_iomem’ [-Wmissing-prototypes]
  301 | int __init parse_iomem(char *str, int *add)
      |            ^~~~~~~~~~~
../arch/um/kernel/mem.c:202:8: warning: no previous prototype for ‘pgd_alloc’ [-Wmissing-prototypes]
  202 | pgd_t *pgd_alloc(struct mm_struct *mm)
      |        ^~~~~~~~~
../arch/um/kernel/mem.c:215:7: warning: no previous prototype for ‘uml_kmalloc’ [-Wmissing-prototypes]
  215 | void *uml_kmalloc(int size, int flags)
      |       ^~~~~~~~~~~
../arch/um/kernel/process.c:51:5: warning: no previous prototype for ‘pid_to_processor_id’ [-Wmissing-prototypes]
   51 | int pid_to_processor_id(int pid)
      |     ^~~~~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:87:7: warning: no previous prototype for ‘__switch_to’ [-Wmissing-prototypes]
   87 | void *__switch_to(struct task_struct *from, struct task_struct *to)
      |       ^~~~~~~~~~~
../arch/um/kernel/process.c:140:6: warning: no previous prototype for ‘fork_handler’ [-Wmissing-prototypes]
  140 | void fork_handler(void)
      |      ^~~~~~~~~~~~
../arch/um/kernel/process.c:217:6: warning: no previous prototype for ‘arch_cpu_idle’ [-Wmissing-prototypes]
  217 | void arch_cpu_idle(void)
      |      ^~~~~~~~~~~~~
../arch/um/kernel/process.c:253:5: warning: no previous prototype for ‘copy_to_user_proc’ [-Wmissing-prototypes]
  253 | int copy_to_user_proc(void __user *to, void *from, int size)
      |     ^~~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:263:5: warning: no previous prototype for ‘clear_user_proc’ [-Wmissing-prototypes]
  263 | int clear_user_proc(void __user *buf, int size)
      |     ^~~~~~~~~~~~~~~
../arch/um/kernel/process.c:271:6: warning: no previous prototype for ‘set_using_sysemu’ [-Wmissing-prototypes]
  271 | void set_using_sysemu(int value)
      |      ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:278:5: warning: no previous prototype for ‘get_using_sysemu’ [-Wmissing-prototypes]
  278 | int get_using_sysemu(void)
      |     ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:316:12: warning: no previous prototype for ‘make_proc_sysemu’ [-Wmissing-prototypes]
  316 | int __init make_proc_sysemu(void)
      |            ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:348:15: warning: no previous prototype for ‘arch_align_stack’ [-Wmissing-prototypes]
  348 | unsigned long arch_align_stack(unsigned long sp)
      |               ^~~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:45:6: warning: no previous prototype for ‘machine_restart’ [-Wmissing-prototypes]
   45 | void machine_restart(char * __unused)
      |      ^~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:51:6: warning: no previous prototype for ‘machine_power_off’ [-Wmissing-prototypes]
   51 | void machine_power_off(void)
      |      ^~~~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:57:6: warning: no previous prototype for ‘machine_halt’ [-Wmissing-prototypes]
   57 | void machine_halt(void)
      |      ^~~~~~~~~~~~
../arch/x86/um/syscalls_64.c:48:6: warning: no previous prototype for ‘arch_switch_to’ [-Wmissing-prototypes]
   48 | void arch_switch_to(struct task_struct *to)
      |      ^~~~~~~~~~~~~~
../arch/um/kernel/tlb.c:579:6: warning: no previous prototype for ‘flush_tlb_mm_range’ [-Wmissing-prototypes]
  579 | void flush_tlb_mm_range(struct mm_struct *mm, unsigned long start,
      |      ^~~~~~~~~~~~~~~~~~
../arch/um/kernel/tlb.c:594:6: warning: no previous prototype for ‘force_flush_all’ [-Wmissing-prototypes]
  594 | void force_flush_all(void)
      |      ^~~~~~~~~~~~~~~
../arch/um/kernel/um_arch.c:408:19: warning: no previous prototype for ‘read_initrd’ [-Wmissing-prototypes]
  408 | int __init __weak read_initrd(void)
      |                   ^~~~~~~~~~~
../arch/um/kernel/um_arch.c:461:7: warning: no previous prototype for ‘text_poke’ [-Wmissing-prototypes]
  461 | void *text_poke(void *addr, const void *opcode, size_t len)
      |       ^~~~~~~~~
../arch/um/kernel/um_arch.c:473:6: warning: no previous prototype for ‘text_poke_sync’ [-Wmissing-prototypes]
  473 | void text_poke_sync(void)
      |      ^~~~~~~~~~~~~~
../arch/um/kernel/kmsg_dump.c:60:12: warning: no previous prototype for ‘kmsg_dumper_stdout_init’ [-Wmissing-prototypes]
   60 | int __init kmsg_dumper_stdout_init(void)
      |            ^~~~~~~~~~~~~~~~~~~~~~~
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
  156 | u64 ioread64_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
  163 | u64 ioread64_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
  170 | u64 ioread64be_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
  178 | u64 ioread64be_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
  264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
  272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
  280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
  288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
stty: 'standard input': Inappropriate ioctl for device

[01:15:11] Starting KUnit Kernel (1/1)...
[01:15:11] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[01:15:11] =================== guc_dbm (7 subtests) ===================
[01:15:11] [PASSED] test_empty
[01:15:11] [PASSED] test_default
[01:15:11] ======================== test_size  ========================
[01:15:11] [PASSED] 4
[01:15:11] [PASSED] 8
[01:15:11] [PASSED] 32
[01:15:11] [PASSED] 256
[01:15:11] ==================== [PASSED] test_size ====================
[01:15:11] ======================= test_reuse  ========================
[01:15:11] [PASSED] 4
[01:15:11] [PASSED] 8
[01:15:11] [PASSED] 32
[01:15:11] [PASSED] 256
[01:15:11] =================== [PASSED] test_reuse ====================
[01:15:11] =================== test_range_overlap  ====================
[01:15:11] [PASSED] 4
[01:15:11] [PASSED] 8
[01:15:11] [PASSED] 32
[01:15:11] [PASSED] 256
[01:15:11] =============== [PASSED] test_range_overlap ================
[01:15:11] =================== test_range_compact  ====================
[01:15:11] [PASSED] 4
[01:15:11] [PASSED] 8
[01:15:11] [PASSED] 32
[01:15:11] [PASSED] 256
[01:15:11] =============== [PASSED] test_range_compact ================
[01:15:11] ==================== test_range_spare  =====================
[01:15:11] [PASSED] 4
[01:15:11] [PASSED] 8
[01:15:11] [PASSED] 32
[01:15:11] [PASSED] 256
[01:15:11] ================ [PASSED] test_range_spare =================
[01:15:11] ===================== [PASSED] guc_dbm =====================
[01:15:11] =================== guc_idm (6 subtests) ===================
[01:15:11] [PASSED] bad_init
[01:15:11] [PASSED] no_init
[01:15:11] [PASSED] init_fini
[01:15:11] [PASSED] check_used
[01:15:11] [PASSED] check_quota
[01:15:11] [PASSED] check_all
[01:15:11] ===================== [PASSED] guc_idm =====================
[01:15:11] ================== no_relay (3 subtests) ===================
[01:15:11] [PASSED] xe_drops_guc2pf_if_not_ready
[01:15:11] [PASSED] xe_drops_guc2vf_if_not_ready
[01:15:11] [PASSED] xe_rejects_send_if_not_ready
[01:15:11] ==================== [PASSED] no_relay =====================
[01:15:11] ================== pf_relay (14 subtests) ==================
[01:15:11] [PASSED] pf_rejects_guc2pf_too_short
[01:15:11] [PASSED] pf_rejects_guc2pf_too_long
[01:15:11] [PASSED] pf_rejects_guc2pf_no_payload
[01:15:11] [PASSED] pf_fails_no_payload
[01:15:11] [PASSED] pf_fails_bad_origin
[01:15:11] [PASSED] pf_fails_bad_type
[01:15:11] [PASSED] pf_txn_reports_error
[01:15:11] [PASSED] pf_txn_sends_pf2guc
[01:15:11] [PASSED] pf_sends_pf2guc
[01:15:11] [SKIPPED] pf_loopback_nop
[01:15:11] [SKIPPED] pf_loopback_echo
[01:15:11] [SKIPPED] pf_loopback_fail
[01:15:11] [SKIPPED] pf_loopback_busy
[01:15:11] [SKIPPED] pf_loopback_retry
[01:15:11] ==================== [PASSED] pf_relay =====================
[01:15:11] ================== vf_relay (3 subtests) ===================
[01:15:11] [PASSED] vf_rejects_guc2vf_too_short
[01:15:11] [PASSED] vf_rejects_guc2vf_too_long
[01:15:11] [PASSED] vf_rejects_guc2vf_no_payload
[01:15:11] ==================== [PASSED] vf_relay =====================
[01:15:11] ===================== lmtt (1 subtest) =====================
[01:15:11] ======================== test_ops  =========================
[01:15:11] [PASSED] 2-level
[01:15:11] [PASSED] multi-level
[01:15:11] ==================== [PASSED] test_ops =====================
[01:15:11] ====================== [PASSED] lmtt =======================
[01:15:11] ==================== xe_bo (2 subtests) ====================
[01:15:11] [SKIPPED] xe_ccs_migrate_kunit
[01:15:11] [SKIPPED] xe_bo_evict_kunit
[01:15:11] ===================== [SKIPPED] xe_bo ======================
[01:15:11] ================== xe_dma_buf (1 subtest) ==================
[01:15:11] [SKIPPED] xe_dma_buf_kunit
[01:15:11] =================== [SKIPPED] xe_dma_buf ===================
[01:15:11] ================== xe_migrate (1 subtest) ==================
[01:15:11] [SKIPPED] xe_migrate_sanity_kunit
[01:15:11] =================== [SKIPPED] xe_migrate ===================
[01:15:11] =================== xe_mocs (2 subtests) ===================
[01:15:11] [SKIPPED] xe_live_mocs_kernel_kunit
[01:15:11] [SKIPPED] xe_live_mocs_reset_kunit
[01:15:11] ==================== [SKIPPED] xe_mocs =====================
[01:15:11] =================== xe_pci (2 subtests) ====================
[01:15:11] [PASSED] xe_gmdid_graphics_ip
[01:15:11] [PASSED] xe_gmdid_media_ip
[01:15:11] ===================== [PASSED] xe_pci ======================
[01:15:11] ==================== xe_rtp (1 subtest) ====================
[01:15:11] ================== xe_rtp_process_tests  ===================
[01:15:11] [PASSED] coalesce-same-reg
[01:15:11] [PASSED] no-match-no-add
[01:15:11] [PASSED] no-match-no-add-multiple-rules
[01:15:11] [PASSED] two-regs-two-entries
[01:15:11] [PASSED] clr-one-set-other
[01:15:11] [PASSED] set-field
[01:15:11] [PASSED] conflict-duplicate
[01:15:11] [PASSED] conflict-not-disjoint
[01:15:11] [PASSED] conflict-reg-type
[01:15:11] ============== [PASSED] xe_rtp_process_tests ===============
[01:15:11] ===================== [PASSED] xe_rtp ======================
[01:15:11] ==================== xe_wa (1 subtest) =====================
[01:15:11] ======================== xe_wa_gt  =========================
[01:15:11] [PASSED] TIGERLAKE (B0)
[01:15:11] [PASSED] DG1 (A0)
[01:15:11] [PASSED] DG1 (B0)
[01:15:11] [PASSED] ALDERLAKE_S (A0)
[01:15:11] [PASSED] ALDERLAKE_S (B0)
[01:15:11] [PASSED] ALDERLAKE_S (C0)
[01:15:11] [PASSED] ALDERLAKE_S (D0)
[01:15:11] [PASSED] ALDERLAKE_P (A0)
[01:15:11] [PASSED] ALDERLAKE_P (B0)
[01:15:11] [PASSED] ALDERLAKE_P (C0)
[01:15:11] [PASSED] ALDERLAKE_S_RPLS (D0)
[01:15:11] [PASSED] ALDERLAKE_P_RPLU (E0)
[01:15:11] [PASSED] DG2_G10 (C0)
[01:15:11] [PASSED] DG2_G11 (B1)
[01:15:11] [PASSED] DG2_G12 (A1)
[01:15:11] [PASSED] METEORLAKE (g:A0, m:A0)
[01:15:11] [PASSED] METEORLAKE (g:A0, m:A0)
[01:15:11] [PASSED] METEORLAKE (g:A0, m:A0)
[01:15:11] [PASSED] LUNARLAKE (g:A0, m:A0)
[01:15:11] [PASSED] LUNARLAKE (g:B0, m:A0)
[01:15:11] ==================== [PASSED] xe_wa_gt =====================
[01:15:11] ====================== [PASSED] xe_wa ======================
[01:15:11] ============================================================
[01:15:11] Testing complete. Ran 87 tests: passed: 76, skipped: 11
[01:15:11] Elapsed time: 29.687s total, 4.209s configuring, 25.258s building, 0.169s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[01:15:11] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[01:15:13] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
In file included from ../arch/um/kernel/asm-offsets.c:1:
../arch/x86/um/shared/sysdep/kernel-offsets.h:9:6: warning: no previous prototype for ‘foo’ [-Wmissing-prototypes]
    9 | void foo(void)
      |      ^~~
../arch/x86/um/ptrace_64.c:111:5: warning: no previous prototype for ‘poke_user’ [-Wmissing-prototypes]
  111 | int poke_user(struct task_struct *child, long addr, long data)
      |     ^~~~~~~~~
../arch/x86/um/ptrace_64.c:171:5: warning: no previous prototype for ‘peek_user’ [-Wmissing-prototypes]
  171 | int peek_user(struct task_struct *child, long addr, long data)
      |     ^~~~~~~~~
../arch/um/kernel/mem.c:202:8: warning: no previous prototype for ‘pgd_alloc’ [-Wmissing-prototypes]
  202 | pgd_t *pgd_alloc(struct mm_struct *mm)
      |        ^~~~~~~~~
../arch/um/kernel/mem.c:215:7: warning: no previous prototype for ‘uml_kmalloc’ [-Wmissing-prototypes]
  215 | void *uml_kmalloc(int size, int flags)
      |       ^~~~~~~~~~~
../arch/x86/um/signal.c:560:6: warning: no previous prototype for ‘sys_rt_sigreturn’ [-Wmissing-prototypes]
  560 | long sys_rt_sigreturn(void)
      |      ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:51:5: warning: no previous prototype for ‘pid_to_processor_id’ [-Wmissing-prototypes]
   51 | int pid_to_processor_id(int pid)
      |     ^~~~~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:87:7: warning: no previous prototype for ‘__switch_to’ [-Wmissing-prototypes]
   87 | void *__switch_to(struct task_struct *from, struct task_struct *to)
      |       ^~~~~~~~~~~
../arch/um/kernel/process.c:140:6: warning: no previous prototype for ‘fork_handler’ [-Wmissing-prototypes]
  140 | void fork_handler(void)
      |      ^~~~~~~~~~~~
../arch/um/kernel/process.c:217:6: warning: no previous prototype for ‘arch_cpu_idle’ [-Wmissing-prototypes]
  217 | void arch_cpu_idle(void)
      |      ^~~~~~~~~~~~~
../arch/um/kernel/process.c:253:5: warning: no previous prototype for ‘copy_to_user_proc’ [-Wmissing-prototypes]
  253 | int copy_to_user_proc(void __user *to, void *from, int size)
      |     ^~~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:263:5: warning: no previous prototype for ‘clear_user_proc’ [-Wmissing-prototypes]
  263 | int clear_user_proc(void __user *buf, int size)
      |     ^~~~~~~~~~~~~~~
../arch/um/kernel/process.c:271:6: warning: no previous prototype for ‘set_using_sysemu’ [-Wmissing-prototypes]
  271 | void set_using_sysemu(int value)
      |      ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:278:5: warning: no previous prototype for ‘get_using_sysemu’ [-Wmissing-prototypes]
  278 | int get_using_sysemu(void)
      |     ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:316:12: warning: no previous prototype for ‘make_proc_sysemu’ [-Wmissing-prototypes]
  316 | int __init make_proc_sysemu(void)
      |            ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:348:15: warning: no previous prototype for ‘arch_align_stack’ [-Wmissing-prototypes]
  348 | unsigned long arch_align_stack(unsigned long sp)
      |               ^~~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:45:6: warning: no previous prototype for ‘machine_restart’ [-Wmissing-prototypes]
   45 | void machine_restart(char * __unused)
      |      ^~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:51:6: warning: no previous prototype for ‘machine_power_off’ [-Wmissing-prototypes]
   51 | void machine_power_off(void)
      |      ^~~~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:57:6: warning: no previous prototype for ‘machine_halt’ [-Wmissing-prototypes]
   57 | void machine_halt(void)
      |      ^~~~~~~~~~~~
../arch/x86/um/syscalls_64.c:48:6: warning: no previous prototype for ‘arch_switch_to’ [-Wmissing-prototypes]
   48 | void arch_switch_to(struct task_struct *to)
      |      ^~~~~~~~~~~~~~
../arch/um/kernel/tlb.c:579:6: warning: no previous prototype for ‘flush_tlb_mm_range’ [-Wmissing-prototypes]
  579 | void flush_tlb_mm_range(struct mm_struct *mm, unsigned long start,
      |      ^~~~~~~~~~~~~~~~~~
../arch/um/kernel/tlb.c:594:6: warning: no previous prototype for ‘force_flush_all’ [-Wmissing-prototypes]
  594 | void force_flush_all(void)
      |      ^~~~~~~~~~~~~~~
../arch/um/kernel/um_arch.c:408:19: warning: no previous prototype for ‘read_initrd’ [-Wmissing-prototypes]
  408 | int __init __weak read_initrd(void)
      |                   ^~~~~~~~~~~
../arch/um/kernel/um_arch.c:461:7: warning: no previous prototype for ‘text_poke’ [-Wmissing-prototypes]
  461 | void *text_poke(void *addr, const void *opcode, size_t len)
      |       ^~~~~~~~~
../arch/um/kernel/um_arch.c:473:6: warning: no previous prototype for ‘text_poke_sync’ [-Wmissing-prototypes]
  473 | void text_poke_sync(void)
      |      ^~~~~~~~~~~~~~
../arch/um/kernel/kmsg_dump.c:60:12: warning: no previous prototype for ‘kmsg_dumper_stdout_init’ [-Wmissing-prototypes]
   60 | int __init kmsg_dumper_stdout_init(void)
      |            ^~~~~~~~~~~~~~~~~~~~~~~
../arch/um/kernel/skas/process.c:36:12: warning: no previous prototype for ‘start_uml’ [-Wmissing-prototypes]
   36 | int __init start_uml(void)
      |            ^~~~~~~~~
../arch/um/kernel/skas/mmu.c:17:5: warning: no previous prototype for ‘init_new_context’ [-Wmissing-prototypes]
   17 | int init_new_context(struct task_struct *task, struct mm_struct *mm)
      |     ^~~~~~~~~~~~~~~~
../arch/um/kernel/skas/mmu.c:60:6: warning: no previous prototype for ‘destroy_context’ [-Wmissing-prototypes]
   60 | void destroy_context(struct mm_struct *mm)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
  156 | u64 ioread64_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
  163 | u64 ioread64_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
  170 | u64 ioread64be_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
  178 | u64 ioread64be_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
  264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
  272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
  280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
  288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~

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

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



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

* ✓ CI.Build: success for drm/xe: Per client usage (rev2)
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (8 preceding siblings ...)
  2024-04-24  1:15 ` ✓ CI.KUnit: success " Patchwork
@ 2024-04-24  1:27 ` Patchwork
  2024-04-24  1:29 ` ✓ CI.Hooks: " Patchwork
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2024-04-24  1:27 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage (rev2)
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== Summary ==

lib/modules/6.9.0-rc5-xe/kernel/sound/pci/hda/snd-hda-intel.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/core/
lib/modules/6.9.0-rc5-xe/kernel/sound/core/seq/
lib/modules/6.9.0-rc5-xe/kernel/sound/core/seq/snd-seq.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/core/snd-seq-device.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/core/snd-hwdep.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/core/snd.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/core/snd-pcm.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/core/snd-compress.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/core/snd-timer.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soundcore.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/intel/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/intel/atom/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/intel/atom/sst/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/intel/atom/sst/snd-intel-sst-core.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/intel/common/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/intel/common/snd-soc-acpi-intel-match.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/amd/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/amd/snd-acp-config.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/intel/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-tgl.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-mlink.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-lnl.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-common.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-mtl.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/amd/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/amd/snd-sof-amd-renoir.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/amd/snd-sof-amd-acp.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/snd-sof-utils.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/snd-sof-pci.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/snd-sof.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/snd-sof-probes.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/xtensa/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/sof/xtensa/snd-sof-xtensa-dsp.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/snd-soc-core.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/snd-soc-acpi.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/codecs/
lib/modules/6.9.0-rc5-xe/kernel/sound/soc/codecs/snd-soc-hdac-hda.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/hda/
lib/modules/6.9.0-rc5-xe/kernel/sound/hda/snd-intel-sdw-acpi.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/hda/ext/
lib/modules/6.9.0-rc5-xe/kernel/sound/hda/ext/snd-hda-ext-core.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/hda/snd-intel-dspcfg.ko
lib/modules/6.9.0-rc5-xe/kernel/sound/hda/snd-hda-core.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/kernel/
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/kernel/msr.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/kernel/cpuid.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/crypto/
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/crypto/sha512-ssse3.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/crypto/crct10dif-pclmul.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/crypto/ghash-clmulni-intel.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/crypto/sha1-ssse3.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/crypto/crc32-pclmul.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/crypto/sha256-ssse3.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/crypto/aesni-intel.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/crypto/polyval-clmulni.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/events/
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/events/intel/
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/events/intel/intel-cstate.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/events/rapl.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/kvm/
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.9.0-rc5-xe/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/
lib/modules/6.9.0-rc5-xe/kernel/crypto/crypto_simd.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/cmac.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/ccm.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/cryptd.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/polyval-generic.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/async_tx/
lib/modules/6.9.0-rc5-xe/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.9.0-rc5-xe/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.9.0-rc5-xe/build
lib/modules/6.9.0-rc5-xe/modules.alias.bin
lib/modules/6.9.0-rc5-xe/modules.builtin
lib/modules/6.9.0-rc5-xe/modules.softdep
lib/modules/6.9.0-rc5-xe/modules.alias
lib/modules/6.9.0-rc5-xe/modules.order
lib/modules/6.9.0-rc5-xe/modules.symbols
lib/modules/6.9.0-rc5-xe/modules.dep.bin
+ mv kernel-nodebug.tar.gz ..
+ cd ..
+ rm -rf archive
++ date +%s
+ echo -e '\e[0Ksection_end:1713922022:package_x86_64_nodebug\r\e[0K'
+ sync
^[[0Ksection_end:1713922022:package_x86_64_nodebug
^[[0K
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✓ CI.Hooks: success for drm/xe: Per client usage (rev2)
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (9 preceding siblings ...)
  2024-04-24  1:27 ` ✓ CI.Build: " Patchwork
@ 2024-04-24  1:29 ` Patchwork
  2024-04-24  1:31 ` ✓ CI.checksparse: " Patchwork
  2024-04-24  1:53 ` ✓ CI.BAT: " Patchwork
  12 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2024-04-24  1:29 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage (rev2)
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ 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"
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
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool 
  UPD     include/config/kernel.release
  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/objtool.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64-default/tools/objtool/libstring.o
  CC      /workspace/kernel/build64-default/tools/objtool/libctype.o
  CC      /workspace/kernel/build64-default/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64-default/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.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
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_proxy.o
  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_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_id_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_klv_helpers.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
  GEN     xe_wa_oob.c xe_wa_oob.h
  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_ring_ops.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/gpu/drm/xe/xe_vram_freq.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/xe/xe_hmm.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_relay.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_gt_sriov_pf.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_pf_config.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_pf_control.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.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_sriov_pf.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_kunit_helpers.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/display/intel_fb_bo.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev_fb.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC [M]  drivers/gpu/drm/xe/display/xe_dsb_buffer.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/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_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_fbc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fdi.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_hdcp_gsc_message.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_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_dmc_wl.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/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_pipe_crc.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_proxy_commands_abi.h
  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_live_test_mod.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_mocs_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_relay_actions_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_test_mod.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_relay_communication_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  HDRTEST drivers/gpu/drm/xe/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
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.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
  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/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_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/xe_display.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_gfx_state_commands.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
  LD [M]  drivers/gpu/drm/xe/tests/xe_live_test.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_pcode_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_gtt_defs.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_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_proxy.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_sriov_pf.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_config_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_helpers.h
  LD [M]  drivers/gpu/drm/xe/tests/xe_test.o
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_policy_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_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_hxg_helpers.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_id_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_klv_helpers.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_relay.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_relay_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_hmm.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_pf.h
  HDRTEST drivers/gpu/drm/xe/xe_sriov_pf_helpers.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_vram_freq.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
  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_guc_ads.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  MODPOST drivers/gpu/drm/xe/Module.symvers
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_live_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_test.mod.o
  LD [M]  drivers/gpu/drm/xe/tests/xe_test.ko
  LD [M]  drivers/gpu/drm/xe/xe.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_live_test.ko
make[1]: Leaving directory '/workspace/kernel/build64-default'
run-parts: executing /workspace/ci/hooks/11-build-32b
+++ realpath /workspace/ci/hooks/11-build-32b
++ dirname /workspace/ci/hooks/11-build-32b
+ THIS_SCRIPT_DIR=/workspace/ci/hooks
+ SRC_DIR=/workspace/kernel
+ TOOLS_SRC_DIR=/workspace/ci
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ BUILD_DIR=/workspace/kernel/build64-default/build32
+ cd /workspace/kernel
+ mkdir -p /workspace/kernel/build64-default/build32
++ nproc
+ make -j48 ARCH=i386 O=/workspace/kernel/build64-default/build32 defconfig
make[1]: Entering directory '/workspace/kernel/build64-default/build32'
  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/preprocess.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTLD  scripts/kconfig/conf
*** Default configuration is based on 'i386_defconfig'
#
# configuration written to .config
#
make[1]: Leaving directory '/workspace/kernel/build64-default/build32'
+ cd /workspace/kernel/build64-default/build32
+ /workspace/kernel/scripts/kconfig/merge_config.sh .config /workspace/ci/kernel/10-xe.fragment
Using .config as base
Merging /workspace/ci/kernel/10-xe.fragment
Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_DRM_XE is not set
New value: CONFIG_DRM_XE=m

Value of CONFIG_SND_DEBUG is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_SND_DEBUG is not set
New value: CONFIG_SND_DEBUG=y

Value of CONFIG_SND_HDA_INTEL is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: CONFIG_SND_HDA_INTEL=y
New value: CONFIG_SND_HDA_INTEL=m

Value of CONFIG_SND_HDA_CODEC_HDMI is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_SND_HDA_CODEC_HDMI is not set
New value: CONFIG_SND_HDA_CODEC_HDMI=m

  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m
#
# configuration written to .config
#
Value requested for CONFIG_HAVE_UID16 not in final .config
Requested value:  CONFIG_HAVE_UID16=y
Actual value:     

Value requested for CONFIG_UID16 not in final .config
Requested value:  CONFIG_UID16=y
Actual value:     

Value requested for CONFIG_X86_32 not in final .config
Requested value:  CONFIG_X86_32=y
Actual value:     

Value requested for CONFIG_OUTPUT_FORMAT not in final .config
Requested value:  CONFIG_OUTPUT_FORMAT="elf32-i386"
Actual value:     CONFIG_OUTPUT_FORMAT="elf64-x86-64"

Value requested for CONFIG_ARCH_MMAP_RND_BITS_MIN not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS_MIN=8
Actual value:     CONFIG_ARCH_MMAP_RND_BITS_MIN=28

Value requested for CONFIG_ARCH_MMAP_RND_BITS_MAX not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS_MAX=16
Actual value:     CONFIG_ARCH_MMAP_RND_BITS_MAX=32

Value requested for CONFIG_PGTABLE_LEVELS not in final .config
Requested value:  CONFIG_PGTABLE_LEVELS=2
Actual value:     CONFIG_PGTABLE_LEVELS=5

Value requested for CONFIG_X86_BIGSMP not in final .config
Requested value:  # CONFIG_X86_BIGSMP is not set
Actual value:     

Value requested for CONFIG_X86_INTEL_QUARK not in final .config
Requested value:  # CONFIG_X86_INTEL_QUARK is not set
Actual value:     

Value requested for CONFIG_X86_RDC321X not in final .config
Requested value:  # CONFIG_X86_RDC321X is not set
Actual value:     

Value requested for CONFIG_X86_32_NON_STANDARD not in final .config
Requested value:  # CONFIG_X86_32_NON_STANDARD is not set
Actual value:     

Value requested for CONFIG_X86_32_IRIS not in final .config
Requested value:  # CONFIG_X86_32_IRIS is not set
Actual value:     

Value requested for CONFIG_M486SX not in final .config
Requested value:  # CONFIG_M486SX is not set
Actual value:     

Value requested for CONFIG_M486 not in final .config
Requested value:  # CONFIG_M486 is not set
Actual value:     

Value requested for CONFIG_M586 not in final .config
Requested value:  # CONFIG_M586 is not set
Actual value:     

Value requested for CONFIG_M586TSC not in final .config
Requested value:  # CONFIG_M586TSC is not set
Actual value:     

Value requested for CONFIG_M586MMX not in final .config
Requested value:  # CONFIG_M586MMX is not set
Actual value:     

Value requested for CONFIG_M686 not in final .config
Requested value:  CONFIG_M686=y
Actual value:     

Value requested for CONFIG_MPENTIUMII not in final .config
Requested value:  # CONFIG_MPENTIUMII is not set
Actual value:     

Value requested for CONFIG_MPENTIUMIII not in final .config
Requested value:  # CONFIG_MPENTIUMIII is not set
Actual value:     

Value requested for CONFIG_MPENTIUMM not in final .config
Requested value:  # CONFIG_MPENTIUMM is not set
Actual value:     

Value requested for CONFIG_MPENTIUM4 not in final .config
Requested value:  # CONFIG_MPENTIUM4 is not set
Actual value:     

Value requested for CONFIG_MK6 not in final .config
Requested value:  # CONFIG_MK6 is not set
Actual value:     

Value requested for CONFIG_MK7 not in final .config
Requested value:  # CONFIG_MK7 is not set
Actual value:     

Value requested for CONFIG_MCRUSOE not in final .config
Requested value:  # CONFIG_MCRUSOE is not set
Actual value:     

Value requested for CONFIG_MEFFICEON not in final .config
Requested value:  # CONFIG_MEFFICEON is not set
Actual value:     

Value requested for CONFIG_MWINCHIPC6 not in final .config
Requested value:  # CONFIG_MWINCHIPC6 is not set
Actual value:     

Value requested for CONFIG_MWINCHIP3D not in final .config
Requested value:  # CONFIG_MWINCHIP3D is not set
Actual value:     

Value requested for CONFIG_MELAN not in final .config
Requested value:  # CONFIG_MELAN is not set
Actual value:     

Value requested for CONFIG_MGEODEGX1 not in final .config
Requested value:  # CONFIG_MGEODEGX1 is not set
Actual value:     

Value requested for CONFIG_MGEODE_LX not in final .config
Requested value:  # CONFIG_MGEODE_LX is not set
Actual value:     

Value requested for CONFIG_MCYRIXIII not in final .config
Requested value:  # CONFIG_MCYRIXIII is not set
Actual value:     

Value requested for CONFIG_MVIAC3_2 not in final .config
Requested value:  # CONFIG_MVIAC3_2 is not set
Actual value:     

Value requested for CONFIG_MVIAC7 not in final .config
Requested value:  # CONFIG_MVIAC7 is not set
Actual value:     

Value requested for CONFIG_X86_GENERIC not in final .config
Requested value:  # CONFIG_X86_GENERIC is not set
Actual value:     

Value requested for CONFIG_X86_INTERNODE_CACHE_SHIFT not in final .config
Requested value:  CONFIG_X86_INTERNODE_CACHE_SHIFT=5
Actual value:     CONFIG_X86_INTERNODE_CACHE_SHIFT=6

Value requested for CONFIG_X86_L1_CACHE_SHIFT not in final .config
Requested value:  CONFIG_X86_L1_CACHE_SHIFT=5
Actual value:     CONFIG_X86_L1_CACHE_SHIFT=6

Value requested for CONFIG_X86_USE_PPRO_CHECKSUM not in final .config
Requested value:  CONFIG_X86_USE_PPRO_CHECKSUM=y
Actual value:     

Value requested for CONFIG_X86_MINIMUM_CPU_FAMILY not in final .config
Requested value:  CONFIG_X86_MINIMUM_CPU_FAMILY=6
Actual value:     CONFIG_X86_MINIMUM_CPU_FAMILY=64

Value requested for CONFIG_CPU_SUP_TRANSMETA_32 not in final .config
Requested value:  CONFIG_CPU_SUP_TRANSMETA_32=y
Actual value:     

Value requested for CONFIG_CPU_SUP_VORTEX_32 not in final .config
Requested value:  CONFIG_CPU_SUP_VORTEX_32=y
Actual value:     

Value requested for CONFIG_HPET_TIMER not in final .config
Requested value:  # CONFIG_HPET_TIMER is not set
Actual value:     CONFIG_HPET_TIMER=y

Value requested for CONFIG_NR_CPUS_RANGE_END not in final .config
Requested value:  CONFIG_NR_CPUS_RANGE_END=8
Actual value:     CONFIG_NR_CPUS_RANGE_END=512

Value requested for CONFIG_NR_CPUS_DEFAULT not in final .config
Requested value:  CONFIG_NR_CPUS_DEFAULT=8
Actual value:     CONFIG_NR_CPUS_DEFAULT=64

Value requested for CONFIG_X86_ANCIENT_MCE not in final .config
Requested value:  # CONFIG_X86_ANCIENT_MCE is not set
Actual value:     

Value requested for CONFIG_X86_LEGACY_VM86 not in final .config
Requested value:  # CONFIG_X86_LEGACY_VM86 is not set
Actual value:     

Value requested for CONFIG_X86_ESPFIX32 not in final .config
Requested value:  CONFIG_X86_ESPFIX32=y
Actual value:     

Value requested for CONFIG_TOSHIBA not in final .config
Requested value:  # CONFIG_TOSHIBA is not set
Actual value:     

Value requested for CONFIG_X86_REBOOTFIXUPS not in final .config
Requested value:  # CONFIG_X86_REBOOTFIXUPS is not set
Actual value:     

Value requested for CONFIG_MICROCODE_INITRD32 not in final .config
Requested value:  CONFIG_MICROCODE_INITRD32=y
Actual value:     

Value requested for CONFIG_NOHIGHMEM not in final .config
Requested value:  # CONFIG_NOHIGHMEM is not set
Actual value:     

Value requested for CONFIG_HIGHMEM4G not in final .config
Requested value:  CONFIG_HIGHMEM4G=y
Actual value:     

Value requested for CONFIG_HIGHMEM64G not in final .config
Requested value:  # CONFIG_HIGHMEM64G is not set
Actual value:     

Value requested for CONFIG_PAGE_OFFSET not in final .config
Requested value:  CONFIG_PAGE_OFFSET=0xC0000000
Actual value:     

Value requested for CONFIG_HIGHMEM not in final .config
Requested value:  CONFIG_HIGHMEM=y
Actual value:     

Value requested for CONFIG_X86_PAE not in final .config
Requested value:  # CONFIG_X86_PAE is not set
Actual value:     

Value requested for CONFIG_ARCH_FLATMEM_ENABLE not in final .config
Requested value:  CONFIG_ARCH_FLATMEM_ENABLE=y
Actual value:     

Value requested for CONFIG_ARCH_SELECT_MEMORY_MODEL not in final .config
Requested value:  CONFIG_ARCH_SELECT_MEMORY_MODEL=y
Actual value:     

Value requested for CONFIG_ILLEGAL_POINTER_VALUE not in final .config
Requested value:  CONFIG_ILLEGAL_POINTER_VALUE=0
Actual value:     CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000

Value requested for CONFIG_HIGHPTE not in final .config
Requested value:  # CONFIG_HIGHPTE is not set
Actual value:     

Value requested for CONFIG_COMPAT_VDSO not in final .config
Requested value:  # CONFIG_COMPAT_VDSO is not set
Actual value:     

Value requested for CONFIG_FUNCTION_PADDING_CFI not in final .config
Requested value:  CONFIG_FUNCTION_PADDING_CFI=0
Actual value:     CONFIG_FUNCTION_PADDING_CFI=11

Value requested for CONFIG_FUNCTION_PADDING_BYTES not in final .config
Requested value:  CONFIG_FUNCTION_PADDING_BYTES=4
Actual value:     CONFIG_FUNCTION_PADDING_BYTES=16

Value requested for CONFIG_APM not in final .config
Requested value:  # CONFIG_APM is not set
Actual value:     

Value requested for CONFIG_X86_POWERNOW_K6 not in final .config
Requested value:  # CONFIG_X86_POWERNOW_K6 is not set
Actual value:     

Value requested for CONFIG_X86_POWERNOW_K7 not in final .config
Requested value:  # CONFIG_X86_POWERNOW_K7 is not set
Actual value:     

Value requested for CONFIG_X86_GX_SUSPMOD not in final .config
Requested value:  # CONFIG_X86_GX_SUSPMOD is not set
Actual value:     

Value requested for CONFIG_X86_SPEEDSTEP_ICH not in final .config
Requested value:  # CONFIG_X86_SPEEDSTEP_ICH is not set
Actual value:     

Value requested for CONFIG_X86_SPEEDSTEP_SMI not in final .config
Requested value:  # CONFIG_X86_SPEEDSTEP_SMI is not set
Actual value:     

Value requested for CONFIG_X86_CPUFREQ_NFORCE2 not in final .config
Requested value:  # CONFIG_X86_CPUFREQ_NFORCE2 is not set
Actual value:     

Value requested for CONFIG_X86_LONGRUN not in final .config
Requested value:  # CONFIG_X86_LONGRUN is not set
Actual value:     

Value requested for CONFIG_X86_LONGHAUL not in final .config
Requested value:  # CONFIG_X86_LONGHAUL is not set
Actual value:     

Value requested for CONFIG_X86_E_POWERSAVER not in final .config
Requested value:  # CONFIG_X86_E_POWERSAVER is not set
Actual value:     

Value requested for CONFIG_PCI_GOBIOS not in final .config
Requested value:  # CONFIG_PCI_GOBIOS is not set
Actual value:     

Value requested for CONFIG_PCI_GOMMCONFIG not in final .config
Requested value:  # CONFIG_PCI_GOMMCONFIG is not set
Actual value:     

Value requested for CONFIG_PCI_GODIRECT not in final .config
Requested value:  # CONFIG_PCI_GODIRECT is not set
Actual value:     

Value requested for CONFIG_PCI_GOANY not in final .config
Requested value:  CONFIG_PCI_GOANY=y
Actual value:     

Value requested for CONFIG_PCI_BIOS not in final .config
Requested value:  CONFIG_PCI_BIOS=y
Actual value:     

Value requested for CONFIG_ISA not in final .config
Requested value:  # CONFIG_ISA is not set
Actual value:     

Value requested for CONFIG_SCx200 not in final .config
Requested value:  # CONFIG_SCx200 is not set
Actual value:     

Value requested for CONFIG_OLPC not in final .config
Requested value:  # CONFIG_OLPC is not set
Actual value:     

Value requested for CONFIG_ALIX not in final .config
Requested value:  # CONFIG_ALIX is not set
Actual value:     

Value requested for CONFIG_NET5501 not in final .config
Requested value:  # CONFIG_NET5501 is not set
Actual value:     

Value requested for CONFIG_GEOS not in final .config
Requested value:  # CONFIG_GEOS is not set
Actual value:     

Value requested for CONFIG_COMPAT_32 not in final .config
Requested value:  CONFIG_COMPAT_32=y
Actual value:     

Value requested for CONFIG_HAVE_ATOMIC_IOMAP not in final .config
Requested value:  CONFIG_HAVE_ATOMIC_IOMAP=y
Actual value:     

Value requested for CONFIG_ARCH_32BIT_OFF_T not in final .config
Requested value:  CONFIG_ARCH_32BIT_OFF_T=y
Actual value:     

Value requested for CONFIG_ARCH_WANT_IPC_PARSE_VERSION not in final .config
Requested value:  CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
Actual value:     

Value requested for CONFIG_MODULES_USE_ELF_REL not in final .config
Requested value:  CONFIG_MODULES_USE_ELF_REL=y
Actual value:     

Value requested for CONFIG_ARCH_MMAP_RND_BITS not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS=8
Actual value:     CONFIG_ARCH_MMAP_RND_BITS=28

Value requested for CONFIG_CLONE_BACKWARDS not in final .config
Requested value:  CONFIG_CLONE_BACKWARDS=y
Actual value:     

Value requested for CONFIG_OLD_SIGSUSPEND3 not in final .config
Requested value:  CONFIG_OLD_SIGSUSPEND3=y
Actual value:     

Value requested for CONFIG_OLD_SIGACTION not in final .config
Requested value:  CONFIG_OLD_SIGACTION=y
Actual value:     

Value requested for CONFIG_ARCH_SPLIT_ARG64 not in final .config
Requested value:  CONFIG_ARCH_SPLIT_ARG64=y
Actual value:     

Value requested for CONFIG_FUNCTION_ALIGNMENT not in final .config
Requested value:  CONFIG_FUNCTION_ALIGNMENT=4
Actual value:     CONFIG_FUNCTION_ALIGNMENT=16

Value requested for CONFIG_SELECT_MEMORY_MODEL not in final .config
Requested value:  CONFIG_SELECT_MEMORY_MODEL=y
Actual value:     

Value requested for CONFIG_FLATMEM_MANUAL not in final .config
Requested value:  CONFIG_FLATMEM_MANUAL=y
Actual value:     

Value requested for CONFIG_SPARSEMEM_MANUAL not in final .config
Requested value:  # CONFIG_SPARSEMEM_MANUAL is not set
Actual value:     

Value requested for CONFIG_FLATMEM not in final .config
Requested value:  CONFIG_FLATMEM=y
Actual value:     

Value requested for CONFIG_SPARSEMEM_STATIC not in final .config
Requested value:  CONFIG_SPARSEMEM_STATIC=y
Actual value:     

Value requested for CONFIG_BOUNCE not in final .config
Requested value:  CONFIG_BOUNCE=y
Actual value:     

Value requested for CONFIG_KMAP_LOCAL not in final .config
Requested value:  CONFIG_KMAP_LOCAL=y
Actual value:     

Value requested for CONFIG_HOTPLUG_PCI_COMPAQ not in final .config
Requested value:  # CONFIG_HOTPLUG_PCI_COMPAQ is not set
Actual value:     

Value requested for CONFIG_HOTPLUG_PCI_IBM not in final .config
Requested value:  # CONFIG_HOTPLUG_PCI_IBM is not set
Actual value:     

Value requested for CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH not in final .config
Requested value:  CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
Actual value:     

Value requested for CONFIG_PCH_PHUB not in final .config
Requested value:  # CONFIG_PCH_PHUB is not set
Actual value:     

Value requested for CONFIG_SCSI_NSP32 not in final .config
Requested value:  # CONFIG_SCSI_NSP32 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5520 not in final .config
Requested value:  # CONFIG_PATA_CS5520 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5530 not in final .config
Requested value:  # CONFIG_PATA_CS5530 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5535 not in final .config
Requested value:  # CONFIG_PATA_CS5535 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5536 not in final .config
Requested value:  # CONFIG_PATA_CS5536 is not set
Actual value:     

Value requested for CONFIG_PATA_SC1200 not in final .config
Requested value:  # CONFIG_PATA_SC1200 is not set
Actual value:     

Value requested for CONFIG_PCH_GBE not in final .config
Requested value:  # CONFIG_PCH_GBE is not set
Actual value:     

Value requested for CONFIG_INPUT_WISTRON_BTNS not in final .config
Requested value:  # CONFIG_INPUT_WISTRON_BTNS is not set
Actual value:     

Value requested for CONFIG_SERIAL_TIMBERDALE not in final .config
Requested value:  # CONFIG_SERIAL_TIMBERDALE is not set
Actual value:     

Value requested for CONFIG_SERIAL_PCH_UART not in final .config
Requested value:  # CONFIG_SERIAL_PCH_UART is not set
Actual value:     

Value requested for CONFIG_HW_RANDOM_GEODE not in final .config
Requested value:  CONFIG_HW_RANDOM_GEODE=y
Actual value:     

Value requested for CONFIG_SONYPI not in final .config
Requested value:  # CONFIG_SONYPI is not set
Actual value:     

Value requested for CONFIG_PC8736x_GPIO not in final .config
Requested value:  # CONFIG_PC8736x_GPIO is not set
Actual value:     

Value requested for CONFIG_NSC_GPIO not in final .config
Requested value:  # CONFIG_NSC_GPIO is not set
Actual value:     

Value requested for CONFIG_I2C_EG20T not in final .config
Requested value:  # CONFIG_I2C_EG20T is not set
Actual value:     

Value requested for CONFIG_SCx200_ACB not in final .config
Requested value:  # CONFIG_SCx200_ACB is not set
Actual value:     

Value requested for CONFIG_PTP_1588_CLOCK_PCH not in final .config
Requested value:  # CONFIG_PTP_1588_CLOCK_PCH is not set
Actual value:     

Value requested for CONFIG_SBC8360_WDT not in final .config
Requested value:  # CONFIG_SBC8360_WDT is not set
Actual value:     

Value requested for CONFIG_SBC7240_WDT not in final .config
Requested value:  # CONFIG_SBC7240_WDT is not set
Actual value:     

Value requested for CONFIG_MFD_CS5535 not in final .config
Requested value:  # CONFIG_MFD_CS5535 is not set
Actual value:     

Value requested for CONFIG_AGP_ALI not in final .config
Requested value:  # CONFIG_AGP_ALI is not set
Actual value:     

Value requested for CONFIG_AGP_ATI not in final .config
Requested value:  # CONFIG_AGP_ATI is not set
Actual value:     

Value requested for CONFIG_AGP_AMD not in final .config
Requested value:  # CONFIG_AGP_AMD is not set
Actual value:     

Value requested for CONFIG_AGP_NVIDIA not in final .config
Requested value:  # CONFIG_AGP_NVIDIA is not set
Actual value:     

Value requested for CONFIG_AGP_SWORKS not in final .config
Requested value:  # CONFIG_AGP_SWORKS is not set
Actual value:     

Value requested for CONFIG_AGP_EFFICEON not in final .config
Requested value:  # CONFIG_AGP_EFFICEON is not set
Actual value:     

Value requested for CONFIG_SND_PCM not in final .config
Requested value:  CONFIG_SND_PCM=y
Actual value:     CONFIG_SND_PCM=m

Value requested for CONFIG_SND_HWDEP not in final .config
Requested value:  CONFIG_SND_HWDEP=y
Actual value:     CONFIG_SND_HWDEP=m

Value requested for CONFIG_SND_DYNAMIC_MINORS not in final .config
Requested value:  # CONFIG_SND_DYNAMIC_MINORS is not set
Actual value:     CONFIG_SND_DYNAMIC_MINORS=y

Value requested for CONFIG_SND_CS5530 not in final .config
Requested value:  # CONFIG_SND_CS5530 is not set
Actual value:     

Value requested for CONFIG_SND_CS5535AUDIO not in final .config
Requested value:  # CONFIG_SND_CS5535AUDIO is not set
Actual value:     

Value requested for CONFIG_SND_SIS7019 not in final .config
Requested value:  # CONFIG_SND_SIS7019 is not set
Actual value:     

Value requested for CONFIG_SND_HDA not in final .config
Requested value:  CONFIG_SND_HDA=y
Actual value:     CONFIG_SND_HDA=m

Value requested for CONFIG_SND_HDA_CORE not in final .config
Requested value:  CONFIG_SND_HDA_CORE=y
Actual value:     CONFIG_SND_HDA_CORE=m

Value requested for CONFIG_SND_INTEL_DSP_CONFIG not in final .config
Requested value:  CONFIG_SND_INTEL_DSP_CONFIG=y
Actual value:     CONFIG_SND_INTEL_DSP_CONFIG=m

Value requested for CONFIG_SND_INTEL_SOUNDWIRE_ACPI not in final .config
Requested value:  CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
Actual value:     CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m

Value requested for CONFIG_LEDS_OT200 not in final .config
Requested value:  # CONFIG_LEDS_OT200 is not set
Actual value:     

Value requested for CONFIG_PCH_DMA not in final .config
Requested value:  # CONFIG_PCH_DMA is not set
Actual value:     

Value requested for CONFIG_CLKSRC_I8253 not in final .config
Requested value:  CONFIG_CLKSRC_I8253=y
Actual value:     

Value requested for CONFIG_MAILBOX not in final .config
Requested value:  # CONFIG_MAILBOX is not set
Actual value:     CONFIG_MAILBOX=y

Value requested for CONFIG_CRYPTO_SERPENT_SSE2_586 not in final .config
Requested value:  # CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
Actual value:     

Value requested for CONFIG_CRYPTO_TWOFISH_586 not in final .config
Requested value:  # CONFIG_CRYPTO_TWOFISH_586 is not set
Actual value:     

Value requested for CONFIG_CRYPTO_DEV_GEODE not in final .config
Requested value:  # CONFIG_CRYPTO_DEV_GEODE is not set
Actual value:     

Value requested for CONFIG_CRYPTO_DEV_HIFN_795X not in final .config
Requested value:  # CONFIG_CRYPTO_DEV_HIFN_795X is not set
Actual value:     

Value requested for CONFIG_CRYPTO_LIB_POLY1305_RSIZE not in final .config
Requested value:  CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
Actual value:     CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11

Value requested for CONFIG_AUDIT_GENERIC not in final .config
Requested value:  CONFIG_AUDIT_GENERIC=y
Actual value:     

Value requested for CONFIG_GENERIC_VDSO_32 not in final .config
Requested value:  CONFIG_GENERIC_VDSO_32=y
Actual value:     

Value requested for CONFIG_DEBUG_KMAP_LOCAL not in final .config
Requested value:  # CONFIG_DEBUG_KMAP_LOCAL is not set
Actual value:     

Value requested for CONFIG_DEBUG_HIGHMEM not in final .config
Requested value:  # CONFIG_DEBUG_HIGHMEM is not set
Actual value:     

Value requested for CONFIG_HAVE_DEBUG_STACKOVERFLOW not in final .config
Requested value:  CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
Actual value:     

Value requested for CONFIG_DEBUG_STACKOVERFLOW not in final .config
Requested value:  # CONFIG_DEBUG_STACKOVERFLOW is not set
Actual value:     

Value requested for CONFIG_HAVE_FUNCTION_GRAPH_TRACER not in final .config
Requested value:  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
Actual value:     

Value requested for CONFIG_HAVE_FUNCTION_GRAPH_RETVAL not in final .config
Requested value:  CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
Actual value:     

Value requested for CONFIG_DRM_KUNIT_TEST not in final .config
Requested value:  CONFIG_DRM_KUNIT_TEST=m
Actual value:     

Value requested for CONFIG_DRM_XE_WERROR not in final .config
Requested value:  CONFIG_DRM_XE_WERROR=y
Actual value:     

Value requested for CONFIG_DRM_XE_DEBUG not in final .config
Requested value:  CONFIG_DRM_XE_DEBUG=y
Actual value:     

Value requested for CONFIG_DRM_XE_DEBUG_MEM not in final .config
Requested value:  CONFIG_DRM_XE_DEBUG_MEM=y
Actual value:     

Value requested for CONFIG_DRM_XE_KUNIT_TEST not in final .config
Requested value:  CONFIG_DRM_XE_KUNIT_TEST=m
Actual value:     

++ nproc
+ make -j48 ARCH=i386 olddefconfig
  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m
#
# configuration written to .config
#
++ nproc
+ make -j48 ARCH=i386
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m
  GEN     Makefile
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/errno.h
  UPD     include/generated/uapi/linux/version.h
  WRAP    arch/x86/include/generated/uapi/asm/fcntl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctls.h
  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
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/irq_regs.h
  WRAP    arch/x86/include/generated/asm/kmap_size.h
  WRAP    arch/x86/include/generated/asm/local64.h
  HOSTCC  arch/x86/tools/relocs_32.o
  HOSTCC  arch/x86/tools/relocs_64.o
  WRAP    arch/x86/include/generated/asm/mmiowb.h
  WRAP    arch/x86/include/generated/asm/rwonce.h
  WRAP    arch/x86/include/generated/asm/module.lds.h
  HOSTCC  arch/x86/tools/relocs_common.o
  WRAP    arch/x86/include/generated/asm/unaligned.h
  UPD     include/generated/compile.h
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTLD  arch/x86/tools/relocs
  UPD     include/config/kernel.release
  UPD     include/generated/utsrelease.h
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  UPD     scripts/mod/devicetable-offsets.h
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-instrumented.h
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-long.h
  UPD     include/generated/timeconst.h
  UPD     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  UPD     include/generated/asm-offsets.h
  CALL    /workspace/kernel/scripts/checksyscalls.sh
  LDS     scripts/module.lds
  CC      init/main.o
  CC      init/do_mounts.o
  HOSTCC  usr/gen_init_cpio
  CC      init/do_mounts_initrd.o
  UPD     init/utsversion-tmp.h
  CC      ipc/util.o
  CC      init/initramfs.o
  CC      certs/system_keyring.o
  CC      ipc/msgutil.o
  CC      init/calibrate.o
  AS      arch/x86/lib/atomic64_cx8_32.o
  CC      ipc/msg.o
  AS      arch/x86/lib/checksum_32.o
  CC      io_uring/io_uring.o
  CC      io_uring/xattr.o
  CC      arch/x86/power/cpu.o
  CC      arch/x86/pci/i386.o
  CC      arch/x86/lib/cmdline.o
  CC      arch/x86/power/hibernate_32.o
  CC      ipc/sem.o
  CC      init/init_task.o
  CC      security/commoncap.o
  CC      io_uring/nop.o
  CC      block/bdev.o
  CC      ipc/shm.o
  AS      arch/x86/lib/cmpxchg8b_emu.o
  CC      block/fops.o
  CC      ipc/syscall.o
  CC      mm/filemap.o
  CC      block/partitions/core.o
  AR      drivers/irqchip/built-in.a
  AR      drivers/cache/built-in.a
  CC      security/keys/gc.o
  CC      security/integrity/iint.o
  CC      net/ethernet/eth.o
  CC      arch/x86/realmode/init.o
  CC      net/core/sock.o
  AR      net/802/built-in.a
  GEN     security/selinux/flask.h security/selinux/av_permissions.h
  AR      virt/lib/built-in.a
  CC      arch/x86/events/amd/core.o
  CC      fs/notify/dnotify/dnotify.o
  CC      arch/x86/mm/pat/set_memory.o
  CC      arch/x86/kernel/fpu/init.o
  CC      arch/x86/pci/init.o
  CC      arch/x86/mm/pat/memtype.o
  CC      sound/core/seq/seq.o
  AS      arch/x86/realmode/rm/header.o
  AR      drivers/bus/mhi/built-in.a
  CC      security/selinux/avc.o
  CC      sound/core/seq/seq_lock.o
  AR      virt/built-in.a
  CC      net/core/request_sock.o
  AR      drivers/bus/built-in.a
  CC      lib/math/div64.o
  CC      arch/x86/entry/vdso/vma.o
  CC      lib/math/gcd.o
  AS      arch/x86/realmode/rm/trampoline_32.o
  AR      drivers/pwm/built-in.a
  CC      kernel/sched/core.o
  AS      arch/x86/realmode/rm/stack.o
  CC      crypto/asymmetric_keys/asymmetric_type.o
  CC      drivers/pci/msi/pcidev_msi.o
  AS      arch/x86/realmode/rm/reboot.o
  CC      arch/x86/lib/cpu.o
  CC      drivers/pci/pcie/portdrv.o
  AS      arch/x86/realmode/rm/wakeup_asm.o
  CC      arch/x86/realmode/rm/wakemain.o
  CC      lib/math/lcm.o
  CC      lib/math/int_log.o
  CC      arch/x86/realmode/rm/video-mode.o
  CC      crypto/asymmetric_keys/restrict.o
  GEN     usr/initramfs_data.cpio
  COPY    usr/initramfs_inc_data
  CC      lib/math/int_pow.o
  AS      usr/initramfs_data.o
  HOSTCC  certs/extract-cert
  AR      usr/built-in.a
  CC      arch/x86/kernel/fpu/bugs.o
  CC      init/version.o
  CC      lib/math/int_sqrt.o
  AS      arch/x86/realmode/rm/copy.o
  CC      arch/x86/mm/init.o
  AS      arch/x86/realmode/rm/bioscall.o
  CC      arch/x86/realmode/rm/regs.o
  CC      arch/x86/kernel/fpu/core.o
  CC      lib/math/reciprocal_div.o
  CC      arch/x86/lib/delay.o
  CC      arch/x86/realmode/rm/video-vga.o
  CC      sound/core/seq/seq_clientmgr.o
  CC      arch/x86/realmode/rm/video-vesa.o
  CC      arch/x86/mm/init_32.o
  CC      lib/math/rational.o
  CC      net/core/skbuff.o
  CC      lib/crypto/mpi/generic_mpih-lshift.o
  CERT    certs/x509_certificate_list
  CC      arch/x86/realmode/rm/video-bios.o
  CERT    certs/signing_key.x509
  AS      certs/system_certificates.o
  CC      lib/crypto/memneq.o
  CC      security/integrity/integrity_audit.o
  CC      ipc/ipc_sysctl.o
  CC      lib/crypto/utils.o
  CC      arch/x86/pci/pcbios.o
  AR      certs/built-in.a
  CC      lib/crypto/chacha.o
  CC      arch/x86/pci/mmconfig_32.o
  CC      drivers/pci/msi/api.o
  CC      lib/crypto/aes.o
  PASYMS  arch/x86/realmode/rm/pasyms.h
  CC      crypto/asymmetric_keys/signature.o
  LDS     arch/x86/realmode/rm/realmode.lds
  CC      security/keys/key.o
  LD      arch/x86/realmode/rm/realmode.elf
  CC      drivers/pci/msi/msi.o
  RELOCS  arch/x86/realmode/rm/realmode.relocs
  CC      arch/x86/entry/vdso/extable.o
  OBJCOPY arch/x86/realmode/rm/realmode.bin
  AS      arch/x86/realmode/rmpiggy.o
  CC      arch/x86/mm/pat/memtype_interval.o
  AS      arch/x86/lib/getuser.o
  AS      arch/x86/power/hibernate_asm_32.o
  AR      arch/x86/realmode/built-in.a
  AR      fs/notify/dnotify/built-in.a
  CC      fs/notify/inotify/inotify_fsnotify.o
  CC      net/sched/sch_generic.o
  CC      net/netlink/af_netlink.o
  GEN     arch/x86/lib/inat-tables.c
  CC      arch/x86/power/hibernate.o
  CC      net/netlink/genetlink.o
  CC      arch/x86/lib/insn-eval.o
  CC      drivers/pci/pcie/rcec.o
  CC      drivers/pci/msi/irqdomain.o
  CC      block/partitions/msdos.o
  AR      lib/math/built-in.a
  CC      net/sched/sch_mq.o
  CC      kernel/sched/fair.o
  CC      net/core/datagram.o
  CC      arch/x86/lib/insn.o
  CC      block/bio.o
  CC      sound/core/seq/seq_memory.o
  CC      sound/core/seq/seq_queue.o
  CC      io_uring/fs.o
  CC      arch/x86/events/amd/lbr.o
  LDS     arch/x86/entry/vdso/vdso32/vdso32.lds
  CC      net/netlink/policy.o
  CC      kernel/sched/build_policy.o
  CC      block/elevator.o
  CC      drivers/pci/pcie/aspm.o
  CC      lib/crypto/mpi/generic_mpih-mul1.o
  CC      lib/zlib_inflate/inffast.o
  CC      crypto/asymmetric_keys/public_key.o
  AR      net/ethernet/built-in.a
  CC      lib/zlib_inflate/inflate.o
  CC      net/core/stream.o
  CC      security/lsm_syscalls.o
  CC      kernel/sched/build_utility.o
  CC      net/sched/sch_frag.o
  CC      lib/zlib_inflate/infutil.o
  CC      fs/notify/inotify/inotify_user.o
  CC      arch/x86/pci/direct.o
  AR      security/integrity/built-in.a
  CC      lib/zlib_inflate/inftrees.o
  AS      arch/x86/entry/vdso/vdso32/note.o
  ASN.1   crypto/asymmetric_keys/x509.asn1.[ch]
  CC      mm/mempool.o
  AR      arch/x86/crypto/built-in.a
  CC      mm/oom_kill.o
  AR      init/built-in.a
  AR      arch/x86/mm/pat/built-in.a
  CC      lib/zlib_inflate/inflate_syms.o
  CC      arch/x86/mm/fault.o
  AR      fs/notify/fanotify/built-in.a
  CC      security/keys/keyring.o
  AR      arch/x86/power/built-in.a
  AS      arch/x86/entry/vdso/vdso32/system_call.o
  CC      security/min_addr.o
  CC      net/sched/sch_api.o
  CC      arch/x86/kernel/cpu/mce/core.o
  AS      arch/x86/entry/vdso/vdso32/sigreturn.o
  CC      ipc/mqueue.o
  CC      security/selinux/hooks.o
  CC      arch/x86/entry/vdso/vdso32/vclock_gettime.o
  CC      arch/x86/kernel/cpu/mtrr/mtrr.o
  CC      arch/x86/kernel/cpu/microcode/core.o
  CC      arch/x86/kernel/fpu/regset.o
  AR      drivers/pci/msi/built-in.a
  CC      lib/zlib_deflate/deflate.o
  CC      arch/x86/kernel/cpu/mce/severity.o
  CC      lib/crypto/mpi/generic_mpih-mul2.o
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      arch/x86/lib/kaslr.o
  CC      net/core/scm.o
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      block/partitions/efi.o
  ASN.1   crypto/asymmetric_keys/x509_akid.asn1.[ch]
  CC      crypto/asymmetric_keys/x509_loader.o
  CC      sound/core/seq/seq_fifo.o
  AR      lib/zlib_inflate/built-in.a
  CC      arch/x86/events/amd/ibs.o
  CC      drivers/pci/hotplug/pci_hotplug_core.o
  AR      drivers/pci/controller/dwc/built-in.a
  CC      arch/x86/kernel/cpu/microcode/intel.o
  AR      drivers/pci/controller/mobiveil/built-in.a
  AR      drivers/pci/controller/built-in.a
  CC      io_uring/splice.o
  CC      arch/x86/kernel/cpu/cacheinfo.o
  CC      arch/x86/events/intel/core.o
  CC      arch/x86/lib/memcpy_32.o
  CC      arch/x86/pci/mmconfig-shared.o
  CC      crypto/asymmetric_keys/x509_public_key.o
  AS      arch/x86/lib/memmove_32.o
  CC      arch/x86/lib/misc.o
  CC      arch/x86/lib/pc-conf-reg.o
  CC      arch/x86/events/intel/bts.o
  CC      arch/x86/kernel/fpu/signal.o
  CC      arch/x86/entry/vdso/vdso32/vgetcpu.o
  AR      fs/notify/inotify/built-in.a
  HOSTCC  arch/x86/entry/vdso/vdso2c
  CC      fs/notify/fsnotify.o
  CC      arch/x86/kernel/cpu/scattered.o
  CC      lib/crypto/mpi/generic_mpih-mul3.o
  AS      arch/x86/lib/putuser.o
  CC      drivers/pci/pcie/pme.o
  AR      arch/x86/platform/atom/built-in.a
  CC      arch/x86/mm/ioremap.o
  AR      arch/x86/platform/ce4100/built-in.a
  CC      arch/x86/kernel/acpi/boot.o
  AS      arch/x86/entry/entry.o
  AR      arch/x86/entry/vsyscall/built-in.a
  AS      arch/x86/entry/entry_32.o
  AS      arch/x86/lib/retpoline.o
  CC      sound/core/seq/seq_prioq.o
  CC      arch/x86/kernel/acpi/sleep.o
  CC      arch/x86/platform/efi/memmap.o
  CC      arch/x86/platform/efi/quirks.o
  CC      lib/zlib_deflate/deftree.o
  CC      arch/x86/lib/string_32.o
  AS      arch/x86/kernel/acpi/wakeup_32.o
  CC      crypto/api.o
  CC      arch/x86/platform/efi/efi.o
  CC      net/core/gen_stats.o
  CC      arch/x86/lib/strstr_32.o
  ASN.1   crypto/asymmetric_keys/pkcs7.asn1.[ch]
  CC      crypto/asymmetric_keys/pkcs7_trust.o
  CC      arch/x86/lib/usercopy.o
  CC      security/keys/keyctl.o
  CC      security/keys/permission.o
  CC      crypto/asymmetric_keys/pkcs7_verify.o
  CC      arch/x86/entry/vdso/vdso32-setup.o
  CC      arch/x86/kernel/cpu/microcode/amd.o
  CC      drivers/pci/hotplug/acpi_pcihp.o
  CC      arch/x86/kernel/apic/apic.o
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  CC      arch/x86/kernel/apic/apic_common.o
  AR      block/partitions/built-in.a
  CC      arch/x86/kernel/cpu/topology_common.o
  CC      block/blk-core.o
  CC      fs/notify/notification.o
  CC      net/core/gen_estimator.o
  CC      security/selinux/selinuxfs.o
  CC      lib/crypto/mpi/generic_mpih-rshift.o
  CC      arch/x86/lib/usercopy_32.o
  CC      arch/x86/lib/msr-smp.o
  CC      arch/x86/pci/fixup.o
  CC      io_uring/sync.o
  VDSO    arch/x86/entry/vdso/vdso32.so.dbg
  CC      mm/fadvise.o
  OBJCOPY arch/x86/entry/vdso/vdso32.so
  VDSO2C  arch/x86/entry/vdso/vdso-image-32.c
  CC      arch/x86/entry/vdso/vdso-image-32.o
  CC      arch/x86/events/amd/uncore.o
  CC      arch/x86/kernel/fpu/xstate.o
  CC      ipc/namespace.o
  CC      arch/x86/entry/syscall_32.o
  CC      lib/zlib_deflate/deflate_syms.o
  CC      sound/core/seq/seq_timer.o
  AR      drivers/pci/pcie/built-in.a
  CC      arch/x86/entry/common.o
  CC      crypto/asymmetric_keys/x509.asn1.o
  CC      crypto/asymmetric_keys/x509_akid.asn1.o
  AR      net/netlink/built-in.a
  CC      net/core/net_namespace.o
  CC      net/core/secure_seq.o
  CC      crypto/asymmetric_keys/x509_cert_parser.o
  AS      arch/x86/entry/thunk_32.o
  CC      arch/x86/events/intel/ds.o
  CC      arch/x86/kernel/cpu/mce/genpool.o
  CC      arch/x86/mm/extable.o
  CC      arch/x86/events/intel/knc.o
  CC      arch/x86/mm/mmap.o
  CC      arch/x86/kernel/apic/apic_noop.o
  CC      arch/x86/lib/cache-smp.o
  CC      arch/x86/events/intel/lbr.o
  AR      arch/x86/entry/vdso/built-in.a
  CC      arch/x86/kernel/cpu/topology_ext.o
  CC      drivers/video/console/dummycon.o
  CC      drivers/video/backlight/backlight.o
  AR      drivers/idle/built-in.a
  CC      lib/crypto/mpi/generic_mpih-sub1.o
  CC      drivers/video/console/vgacon.o
  AR      lib/zlib_deflate/built-in.a
  CC      arch/x86/lib/msr.o
  CC      lib/lzo/lzo1x_compress.o
  CC      net/sched/sch_blackhole.o
  AR      drivers/pci/hotplug/built-in.a
  AR      drivers/pci/switch/built-in.a
  CC      drivers/pci/access.o
  CC      arch/x86/kernel/acpi/cstate.o
  CC      arch/x86/platform/efi/efi_32.o
  AS      arch/x86/platform/efi/efi_stub_32.o
  AR      arch/x86/kernel/cpu/microcode/built-in.a
  CC      fs/notify/group.o
  CC      arch/x86/kernel/cpu/topology_amd.o
  CC      arch/x86/kernel/cpu/mtrr/amd.o
  CC      lib/lzo/lzo1x_decompress_safe.o
  CC      ipc/mq_sysctl.o
  CC      net/sched/cls_api.o
  CC      security/security.o
  CC      crypto/asymmetric_keys/pkcs7.asn1.o
  CC      sound/core/sound.o
  CC      crypto/asymmetric_keys/pkcs7_parser.o
  CC      sound/core/seq/seq_system.o
  CC      arch/x86/kernel/cpu/mce/intel.o
  CC      security/keys/process_keys.o
  CC      mm/maccess.o
  CC      sound/core/seq/seq_ports.o
  CC      arch/x86/pci/acpi.o
  CC      io_uring/advise.o
  CC      arch/x86/kernel/cpu/common.o
  CC      drivers/pci/bus.o
  CC      arch/x86/kernel/cpu/mce/amd.o
  CC      lib/crypto/mpi/generic_mpih-add1.o
  CC      net/core/flow_dissector.o
  CC      security/selinux/netlink.o
  AR      lib/lzo/built-in.a
  AR      ipc/built-in.a
  CC      net/core/sysctl_net_core.o
  CC      kernel/locking/mutex.o
  CC      arch/x86/events/intel/p4.o
  CC      lib/lz4/lz4_decompress.o
  CC      arch/x86/mm/pgtable.o
  CC      arch/x86/kernel/cpu/mtrr/cyrix.o
  AR      arch/x86/kernel/acpi/built-in.a
  CC      arch/x86/kernel/kprobes/core.o
  AR      arch/x86/events/amd/built-in.a
  LDS     arch/x86/kernel/vmlinux.lds
  CC      fs/notify/mark.o
  AR      arch/x86/kernel/fpu/built-in.a
  AR      drivers/video/backlight/built-in.a
  CC      sound/core/init.o
  AR      drivers/video/fbdev/core/built-in.a
  CC      arch/x86/platform/efi/runtime-map.o
  AR      drivers/video/fbdev/omap/built-in.a
  AS      arch/x86/kernel/head_32.o
  AR      arch/x86/entry/built-in.a
  CC      arch/x86/kernel/apic/ipi.o
  AR      drivers/video/fbdev/omap2/omapfb/dss/built-in.a
  AR      crypto/asymmetric_keys/built-in.a
  AR      drivers/video/fbdev/omap2/omapfb/displays/built-in.a
  CC      net/core/dev.o
  AR      drivers/video/fbdev/omap2/omapfb/built-in.a
  AS      arch/x86/lib/msr-reg.o
  CC      crypto/cipher.o
  AR      drivers/video/fbdev/omap2/built-in.a
  AR      drivers/video/fbdev/built-in.a
  CC      arch/x86/lib/msr-reg-export.o
  CC      security/lsm_audit.o
  CC      drivers/pci/probe.o
  CC      security/selinux/nlmsgtab.o
  CC      arch/x86/events/intel/p6.o
  AR      drivers/char/ipmi/built-in.a
  AR      drivers/video/console/built-in.a
  CC      drivers/video/aperture.o
  AR      net/bpf/built-in.a
  CC      sound/core/memory.o
  CC      security/selinux/netif.o
  CC      arch/x86/kernel/apic/vector.o
  CC      net/ethtool/ioctl.o
  CC      lib/crypto/mpi/ec.o
  AS      arch/x86/lib/hweight.o
  CC      net/netfilter/core.o
  CC      arch/x86/lib/iomem.o
  CC      mm/page-writeback.o
  CC      sound/core/seq/seq_info.o
  CC      sound/core/seq/seq_dummy.o
  CC      arch/x86/pci/legacy.o
  CC      arch/x86/kernel/cpu/mtrr/centaur.o
  CC      net/netfilter/nf_log.o
  CC      drivers/pci/host-bridge.o
  CC      drivers/pci/remove.o
  CC      kernel/locking/semaphore.o
  CC      arch/x86/mm/physaddr.o
  CC      io_uring/filetable.o
  CC      security/keys/request_key.o
  CC      arch/x86/mm/tlb.o
  CC      kernel/locking/rwsem.o
  CC      net/core/dev_addr_lists.o
  CC      arch/x86/kernel/apic/init.o
  CC      crypto/compress.o
  CC      arch/x86/lib/atomic64_32.o
  CC      block/blk-sysfs.o
  AR      arch/x86/platform/efi/built-in.a
  CC      arch/x86/kernel/apic/hw_nmi.o
  AR      arch/x86/platform/geode/built-in.a
  AR      arch/x86/platform/iris/built-in.a
  CC      arch/x86/lib/inat.o
  CC      arch/x86/platform/intel/iosf_mbi.o
  CC      lib/crypto/mpi/mpicoder.o
  CC      sound/core/control.o
  CC      lib/crypto/arc4.o
  CC      arch/x86/kernel/kprobes/opt.o
  CC      fs/notify/fdinfo.o
  CC      arch/x86/kernel/head32.o
  AR      arch/x86/lib/built-in.a
  CC      arch/x86/events/intel/pt.o
  AR      arch/x86/lib/lib.a
  CC      arch/x86/kernel/apic/io_apic.o
  CC      lib/crypto/mpi/mpi-add.o
  CC      arch/x86/events/intel/uncore.o
  CC      drivers/video/cmdline.o
  AR      lib/lz4/built-in.a
  AR      arch/x86/platform/intel-mid/built-in.a
  AR      kernel/sched/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/legacy.o
  CC      security/keys/request_key_auth.o
  AR      sound/core/seq/built-in.a
  CC      kernel/power/qos.o
  CC      drivers/acpi/acpica/dsargs.o
  CC      kernel/power/main.o
  CC      security/keys/user_defined.o
  AR      drivers/acpi/pmic/built-in.a
  CC      drivers/acpi/acpica/dscontrol.o
  CC      arch/x86/pci/irq.o
  CC      kernel/power/console.o
  AR      arch/x86/platform/intel-quark/built-in.a
  CC      drivers/acpi/acpica/dsdebug.o
  AR      arch/x86/platform/olpc/built-in.a
  CC      arch/x86/mm/cpu_entry_area.o
  AR      arch/x86/platform/scx200/built-in.a
  CC      drivers/acpi/acpica/dsfield.o
  CC      arch/x86/pci/common.o
  CC      crypto/algapi.o
  CC      kernel/power/process.o
  CC      kernel/printk/printk.o
  CC      kernel/printk/printk_safe.o
  CC      security/selinux/netnode.o
  CC      arch/x86/events/intel/uncore_nhmex.o
  CC      arch/x86/kernel/cpu/mce/threshold.o
  AR      arch/x86/kernel/cpu/mtrr/built-in.a
  CC      arch/x86/events/intel/uncore_snb.o
  CC      lib/crypto/mpi/mpi-bit.o
  CC      kernel/power/suspend.o
  CC      net/ethtool/common.o
  CC      kernel/locking/percpu-rwsem.o
  CC      kernel/locking/spinlock.o
  CC      crypto/scatterwalk.o
  CC      io_uring/openclose.o
  AR      fs/notify/built-in.a
  CC      crypto/proc.o
  AR      arch/x86/platform/intel/built-in.a
  CC      fs/nfs_common/nfsacl.o
  AR      arch/x86/platform/ts5500/built-in.a
  AR      arch/x86/platform/uv/built-in.a
  AR      arch/x86/platform/built-in.a
  CC      crypto/aead.o
  CC      fs/iomap/trace.o
  CC      lib/xz/xz_dec_syms.o
  CC      lib/zstd/zstd_decompress_module.o
  CC      fs/iomap/iter.o
  CC      arch/x86/mm/maccess.o
  CC      drivers/acpi/acpica/dsinit.o
  CC      security/keys/proc.o
  CC      net/netfilter/nf_queue.o
  CC      drivers/video/nomodeset.o
  CC      drivers/pci/pci.o
  CC      block/blk-flush.o
  AR      arch/x86/kernel/kprobes/built-in.a
  CC      block/blk-settings.o
  CC      crypto/geniv.o
  CC      net/ipv4/netfilter/nf_defrag_ipv4.o
  CC      arch/x86/mm/pgprot.o
  CC      arch/x86/events/intel/uncore_snbep.o
  CC      kernel/locking/osq_lock.o
  CC      net/ipv4/netfilter/nf_reject_ipv4.o
  CC      crypto/lskcipher.o
  CC      net/sched/act_api.o
  CC      net/xfrm/xfrm_policy.o
  CC      lib/xz/xz_dec_stream.o
  CC      lib/zstd/decompress/huf_decompress.o
  CC      net/xfrm/xfrm_state.o
  CC      drivers/acpi/acpica/dsmethod.o
  CC      mm/folio-compat.o
  CC      drivers/video/hdmi.o
  CC      lib/crypto/mpi/mpi-cmp.o
  CC      arch/x86/pci/early.o
  CC      kernel/locking/qspinlock.o
  CC      net/sched/sch_fifo.o
  CC      arch/x86/mm/pgtable_32.o
  CC      fs/nfs_common/grace.o
  CC      security/device_cgroup.o
  CC      sound/core/misc.o
  CC      security/keys/sysctl.o
  CC      security/keys/keyctl_pkey.o
  CC      crypto/skcipher.o
  CC      crypto/seqiv.o
  CC      arch/x86/kernel/cpu/rdrand.o
  CC      arch/x86/events/intel/uncore_discovery.o
  CC      arch/x86/kernel/cpu/match.o
  CC      fs/iomap/buffered-io.o
  CC      crypto/echainiv.o
  CC      net/ipv4/netfilter/ip_tables.o
  CC      arch/x86/events/intel/cstate.o
  CC      net/ethtool/netlink.o
  CC      net/ethtool/bitset.o
  CC      crypto/ahash.o
  CC      lib/xz/xz_dec_lzma2.o
  CC      security/selinux/netport.o
  CC      io_uring/uring_cmd.o
  CC      drivers/acpi/acpica/dsmthdat.o
  CC      arch/x86/kernel/cpu/bugs.o
  CC      arch/x86/kernel/cpu/aperfmperf.o
  CC      kernel/locking/rtmutex_api.o
  CC      arch/x86/kernel/apic/msi.o
  AR      arch/x86/kernel/cpu/mce/built-in.a
  CC      arch/x86/kernel/apic/probe_32.o
  CC      arch/x86/events/zhaoxin/core.o
  CC      mm/readahead.o
  CC      kernel/power/hibernate.o
  CC      lib/crypto/mpi/mpi-sub-ui.o
  CC      arch/x86/pci/bus_numa.o
  CC      block/blk-ioc.o
  CC      arch/x86/pci/amd_bus.o
  CC      block/blk-map.o
  CC      kernel/locking/qrwlock.o
  CC      arch/x86/mm/iomap_32.o
  AR      security/keys/built-in.a
  CC      mm/swap.o
  CC      fs/iomap/direct-io.o
  AR      drivers/video/built-in.a
  CC      sound/core/device.o
  CC      block/blk-merge.o
  CC      kernel/power/snapshot.o
  CC      arch/x86/kernel/cpu/cpuid-deps.o
  AR      fs/nfs_common/built-in.a
  CC      net/netfilter/nf_sockopt.o
  CC      drivers/acpi/acpica/dsobject.o
  CC      lib/crypto/gf128mul.o
  CC      net/xfrm/xfrm_hash.o
  CC      drivers/acpi/dptf/int340x_thermal.o
  CC      crypto/shash.o
  CC      net/sched/cls_cgroup.o
  CC      lib/xz/xz_dec_bcj.o
  CC      mm/truncate.o
  CC      lib/crypto/mpi/mpi-div.o
  CC      fs/quota/dquot.o
  CC      fs/proc/task_mmu.o
  CC      fs/quota/quota_v2.o
  CC      kernel/printk/nbcon.o
  CC      lib/crypto/mpi/mpi-inv.o
  CC      arch/x86/mm/hugetlbpage.o
  CC      net/ipv4/netfilter/iptable_filter.o
  CC      arch/x86/kernel/cpu/umwait.o
  AR      arch/x86/kernel/apic/built-in.a
  CC      sound/core/info.o
  CC      drivers/acpi/acpica/dsopcode.o
  CC      lib/zstd/decompress/zstd_ddict.o
  CC      mm/vmscan.o
  CC      net/ipv4/netfilter/iptable_mangle.o
  CC      fs/kernfs/mount.o
  CC      drivers/acpi/acpica/dspkginit.o
  AR      arch/x86/events/zhaoxin/built-in.a
  CC      net/xfrm/xfrm_input.o
  AR      kernel/locking/built-in.a
  CC      lib/zstd/decompress/zstd_decompress.o
  AR      drivers/acpi/dptf/built-in.a
  CC      kernel/power/swap.o
  AR      arch/x86/pci/built-in.a
  CC      arch/x86/events/core.o
  CC      fs/sysfs/file.o
  AR      sound/i2c/other/built-in.a
  AR      sound/i2c/built-in.a
  AR      lib/xz/built-in.a
  CC      block/blk-timeout.o
  AR      sound/drivers/opl3/built-in.a
  AR      sound/isa/ad1816a/built-in.a
  CC      lib/zstd/decompress/zstd_decompress_block.o
  CC      drivers/pci/pci-driver.o
  AR      sound/drivers/opl4/built-in.a
  AR      sound/isa/ad1848/built-in.a
  AR      sound/drivers/mpu401/built-in.a
  AR      sound/isa/cs423x/built-in.a
  CC      security/selinux/status.o
  AR      sound/drivers/vx/built-in.a
  AR      sound/isa/es1688/built-in.a
  CC      security/selinux/ss/ebitmap.o
  AR      sound/drivers/pcsp/built-in.a
  CC      net/ethtool/strset.o
  AR      sound/isa/galaxy/built-in.a
  AR      sound/drivers/built-in.a
  CC      kernel/printk/printk_ringbuffer.o
  AR      sound/isa/gus/built-in.a
  CC      io_uring/epoll.o
  CC      kernel/printk/sysctl.o
  AR      sound/isa/msnd/built-in.a
  CC      arch/x86/events/probe.o
  AR      sound/isa/opti9xx/built-in.a
  AR      sound/isa/sb/built-in.a
  AR      sound/isa/wavefront/built-in.a
  AR      sound/isa/wss/built-in.a
  AR      sound/isa/built-in.a
  CC      net/netfilter/utils.o
  CC      net/netfilter/nfnetlink.o
  CC      drivers/pci/search.o
  AR      arch/x86/events/intel/built-in.a
  CC      block/blk-lib.o
  CC      drivers/acpi/acpica/dsutils.o
  CC      fs/devpts/inode.o
  CC      net/netfilter/nfnetlink_log.o
  CC      lib/crypto/mpi/mpi-mod.o
  CC      net/ipv4/netfilter/ipt_REJECT.o
  CC      fs/quota/quota_tree.o
  CC      lib/crypto/mpi/mpi-mul.o
  CC      kernel/power/user.o
  CC      crypto/akcipher.o
  CC      fs/iomap/fiemap.o
  CC      fs/iomap/seek.o
  MKCAP   arch/x86/kernel/cpu/capflags.c
  CC      arch/x86/mm/dump_pagetables.o
  CC      arch/x86/mm/highmem_32.o
  CC      fs/kernfs/inode.o
  CC      net/sched/ematch.o
  CC      fs/kernfs/dir.o
  CC      fs/kernfs/file.o
  CC      sound/core/isadma.o
  AR      kernel/printk/built-in.a
  CC      sound/core/vmaster.o
  CC      sound/core/ctljack.o
  CC      kernel/power/poweroff.o
  CC      fs/sysfs/dir.o
  CC      drivers/acpi/acpica/dswexec.o
  CC      fs/kernfs/symlink.o
  CC      mm/shrinker.o
  CC      net/xfrm/xfrm_output.o
  CC      net/netfilter/nf_conntrack_core.o
  CC      block/blk-mq.o
  CC      block/blk-mq-tag.o
  CC      net/xfrm/xfrm_sysctl.o
  CC      net/xfrm/xfrm_replay.o
  CC      net/xfrm/xfrm_device.o
  CC      lib/crypto/mpi/mpih-cmp.o
  CC      io_uring/statx.o
  AR      fs/devpts/built-in.a
  CC      fs/netfs/buffered_read.o
  CC      crypto/sig.o
  CC      sound/core/jack.o
  CC      fs/netfs/buffered_write.o
  CC      block/blk-stat.o
  CC      block/blk-mq-sysfs.o
  CC      block/blk-mq-cpumap.o
  CC      fs/iomap/swapfile.o
  CC      fs/sysfs/symlink.o
  CC      fs/ext4/balloc.o
  CC      drivers/acpi/acpica/dswload.o
  CC      fs/ext4/bitmap.o
  CC      net/ethtool/linkinfo.o
  CC      security/selinux/ss/hashtab.o
  CC      fs/ext4/block_validity.o
  CC      drivers/pci/rom.o
  CC      fs/proc/inode.o
  CC      fs/proc/root.o
  AR      kernel/power/built-in.a
  AR      arch/x86/mm/built-in.a
  CC      security/selinux/ss/symtab.o
  CC      kernel/irq/irqdesc.o
  CC      fs/netfs/direct_read.o
  AR      arch/x86/net/built-in.a
  CC      fs/proc/base.o
  CC [M]  net/ipv4/netfilter/iptable_nat.o
  AR      arch/x86/virt/svm/built-in.a
  AR      arch/x86/virt/vmx/built-in.a
  AR      arch/x86/virt/built-in.a
  CC      fs/ext4/dir.o
  CC      fs/ext4/ext4_jbd2.o
  CC      kernel/irq/handle.o
  CC      arch/x86/events/utils.o
  CC      lib/crypto/mpi/mpih-div.o
  CC      kernel/irq/manage.o
  CC      net/netfilter/nf_conntrack_standalone.o
  CC      fs/quota/quota.o
  CC      net/unix/af_unix.o
  CC      drivers/acpi/acpica/dswload2.o
  AR      net/sched/built-in.a
  CC      net/unix/garbage.o
  CC      security/selinux/ss/sidtab.o
  CC      lib/zstd/zstd_common_module.o
  CC      sound/core/timer.o
  CC      sound/core/hrtimer.o
  AR      fs/kernfs/built-in.a
  CC      net/unix/sysctl_net_unix.o
  AR      sound/pci/ac97/built-in.a
  CC      fs/sysfs/mount.o
  CC      io_uring/net.o
  AR      net/ipv4/netfilter/built-in.a
  AR      sound/pci/ali5451/built-in.a
  CC      fs/netfs/direct_write.o
  AR      sound/pci/asihpi/built-in.a
  CC      crypto/kpp.o
  AR      fs/iomap/built-in.a
  AR      sound/pci/au88x0/built-in.a
  CC      block/blk-mq-sched.o
  AR      sound/pci/aw2/built-in.a
  CC      fs/sysfs/group.o
  AR      sound/pci/ctxfi/built-in.a
  CC      drivers/pci/setup-res.o
  CC      net/netfilter/nf_conntrack_expect.o
  AR      sound/pci/ca0106/built-in.a
  CC      lib/crypto/mpi/mpih-mul.o
  CC      net/packet/af_packet.o
  AR      net/dsa/built-in.a
  AR      sound/pci/cs46xx/built-in.a
  CC      net/ipv6/netfilter/ip6_tables.o
  CC      net/ipv6/netfilter/ip6table_filter.o
  CC      arch/x86/kernel/ebda.o
  AR      sound/pci/cs5535audio/built-in.a
  CC      net/sunrpc/clnt.o
  CC      net/sunrpc/auth_gss/auth_gss.o
  CC      lib/zstd/common/debug.o
  AR      sound/pci/lola/built-in.a
  CC      net/ipv6/netfilter/ip6table_mangle.o
  CC      drivers/acpi/acpica/dswscope.o
  CC      net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
  AR      sound/pci/lx6464es/built-in.a
  AR      sound/pci/echoaudio/built-in.a
  CC      lib/zstd/common/entropy_common.o
  AR      sound/pci/emu10k1/built-in.a
  CC      net/sunrpc/auth_gss/gss_generic_token.o
  AR      sound/pci/hda/built-in.a
  CC      lib/crypto/mpi/mpi-pow.o
  CC [M]  sound/pci/hda/hda_bind.o
  CC      net/xfrm/xfrm_algo.o
  CC      net/ethtool/linkmodes.o
  CC      net/ipv6/netfilter/nf_conntrack_reasm.o
  CC      arch/x86/events/rapl.o
  CC      lib/zstd/common/error_private.o
  CC      io_uring/msg_ring.o
  CC      lib/crypto/blake2s.o
  CC      io_uring/timeout.o
  CC      lib/zstd/common/fse_decompress.o
  CC      io_uring/sqpoll.o
  CC      drivers/acpi/acpica/dswstate.o
  CC      net/ipv4/route.o
  CC      net/core/dst.o
  CC      net/ipv6/af_inet6.o
  CC      drivers/acpi/tables.o
  CC      mm/shmem.o
  CC      mm/util.o
  AR      fs/sysfs/built-in.a
  CC      drivers/acpi/acpica/evevent.o
  ASN.1   crypto/rsapubkey.asn1.[ch]
  ASN.1   crypto/rsaprivkey.asn1.[ch]
  CC      crypto/rsa.o
  AR      sound/ppc/built-in.a
  CC      lib/crypto/blake2s-generic.o
  AR      sound/arm/built-in.a
  CC      fs/netfs/io.o
  CC      drivers/pci/irq.o
  CC      sound/core/seq_device.o
  CC      crypto/rsa_helper.o
  CC      fs/quota/kqid.o
  CC      drivers/acpi/blacklist.o
  CC      net/ethtool/rss.o
  CC      lib/crypto/mpi/mpiutil.o
  CC      lib/zstd/common/zstd_common.o
  CC      fs/proc/generic.o
  CC      security/selinux/ss/avtab.o
  AR      sound/pci/ice1712/built-in.a
  CC      security/selinux/ss/policydb.o
  CC      kernel/irq/spurious.o
  AR      sound/pci/korg1212/built-in.a
  CC      security/selinux/ss/services.o
  CC [M]  sound/pci/hda/hda_codec.o
  AR      lib/zstd/built-in.a
  CC      crypto/rsa-pkcs1pad.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC      net/xfrm/xfrm_user.o
  CC      drivers/acpi/acpica/evgpe.o
  CC      kernel/irq/resend.o
  CC      fs/proc/array.o
  CC      arch/x86/events/msr.o
  CC      net/sunrpc/auth_gss/gss_mech_switch.o
  CC      fs/proc/fd.o
  CC      net/ipv6/netfilter/nf_reject_ipv6.o
  CC      arch/x86/kernel/platform-quirks.o
  CC      mm/mmzone.o
  CC      drivers/acpi/osi.o
  CC      fs/quota/netlink.o
  CC      io_uring/fdinfo.o
  CC      net/ipv6/netfilter/ip6t_ipv6header.o
  CC      net/netfilter/nf_conntrack_helper.o
  CC      net/core/netevent.o
  CC [M]  sound/core/hwdep.o
  CC      security/selinux/ss/conditional.o
  CC      fs/ext4/extents.o
  CC      drivers/pci/vpd.o
  CC      net/netfilter/nf_conntrack_proto.o
  CC      fs/ext4/extents_status.o
  CC      net/sunrpc/xprt.o
  CC      net/core/neighbour.o
  CC      drivers/acpi/acpica/evgpeblk.o
  AR      lib/crypto/mpi/built-in.a
  CC      lib/crypto/sha1.o
  CC      kernel/irq/chip.o
  CC      arch/x86/kernel/process_32.o
  CC      net/ipv6/netfilter/ip6t_REJECT.o
  CC      io_uring/tctx.o
  CC [M]  sound/core/pcm.o
  CC      drivers/acpi/osl.o
  CC      crypto/acompress.o
  CC      block/ioctl.o
  CC      net/ethtool/linkstate.o
  CC      io_uring/poll.o
  CC      fs/ext4/file.o
  CC      net/ipv4/inetpeer.o
  AR      net/unix/built-in.a
  CC      fs/netfs/iterator.o
  AR      net/wireless/tests/built-in.a
  AR      arch/x86/events/built-in.a
  CC      net/wireless/core.o
  CC      fs/netfs/locking.o
  CC      lib/crypto/sha256.o
  CC      fs/jbd2/transaction.o
  CC      drivers/acpi/acpica/evgpeinit.o
  CC      security/selinux/ss/mls.o
  CC      security/selinux/ss/context.o
  CC      net/ipv4/protocol.o
  AR      fs/quota/built-in.a
  CC      io_uring/cancel.o
  CC      fs/ramfs/inode.o
  CC      io_uring/kbuf.o
  CC      fs/ramfs/file-mmu.o
  CC      fs/proc/proc_tty.o
  CC      fs/hugetlbfs/inode.o
  CC      drivers/pci/setup-bus.o
  CC      net/sunrpc/auth_gss/svcauth_gss.o
  CC      drivers/acpi/acpica/evgpeutil.o
  CC      kernel/irq/dummychip.o
  CC      crypto/scompress.o
  CC      crypto/algboss.o
  CC      fs/jbd2/commit.o
  AR      lib/crypto/built-in.a
  CC      net/ethtool/debug.o
  CC      fs/jbd2/recovery.o
  CC      lib/dim/dim.o
  CC      net/sunrpc/socklib.o
  CC      net/sunrpc/auth_gss/gss_rpc_upcall.o
  CC [M]  sound/core/pcm_native.o
  CC      block/genhd.o
  CC      net/sunrpc/auth_gss/gss_rpc_xdr.o
  CC      fs/fat/cache.o
  CC      drivers/acpi/acpica/evglock.o
  CC      fs/fat/dir.o
  CC      fs/proc/cmdline.o
  CC      fs/fat/fatent.o
  CC      net/netfilter/nf_conntrack_proto_generic.o
  AR      net/ipv6/netfilter/built-in.a
  CC      fs/fat/file.o
  CC      fs/jbd2/checkpoint.o
  CC      net/ipv6/anycast.o
  CC      fs/netfs/main.o
  CC [M]  sound/pci/hda/hda_jack.o
  AR      fs/ramfs/built-in.a
  CC      fs/netfs/misc.o
  CC      mm/vmstat.o
  CC      lib/fonts/fonts.o
  AR      net/packet/built-in.a
  CC      mm/backing-dev.o
  CC      kernel/irq/devres.o
  CC      lib/dim/net_dim.o
  AR      net/mac80211/tests/built-in.a
  CC      drivers/acpi/utils.o
  CC      net/mac80211/main.o
  CC      fs/proc/consoles.o
  CC      net/ipv4/ip_input.o
  CC      drivers/acpi/acpica/evhandler.o
  CC      security/selinux/netlabel.o
  AR      sound/pci/mixart/built-in.a
  CC      mm/mm_init.o
  CC      lib/fonts/font_8x16.o
  AR      sound/pci/nm256/built-in.a
  CC      mm/percpu.o
  CC      drivers/acpi/acpica/evmisc.o
  CC      net/ethtool/wol.o
  CC      net/netlabel/netlabel_user.o
  CC      net/sunrpc/xprtsock.o
  CC      io_uring/rsrc.o
  CC      lib/dim/rdma_dim.o
  CC      kernel/irq/autoprobe.o
  AR      fs/hugetlbfs/built-in.a
  CC      crypto/testmgr.o
  CC      fs/proc/cpuinfo.o
  AR      net/xfrm/built-in.a
  CC      net/ethtool/features.o
  CC      fs/isofs/namei.o
  CC      net/ethtool/privflags.o
  CC [M]  sound/core/pcm_lib.o
  CC      fs/isofs/inode.o
  CC      fs/jbd2/revoke.o
  CC      fs/proc/devices.o
  AR      lib/fonts/built-in.a
  CC      io_uring/rw.o
  CC      block/ioprio.o
  CC      net/sunrpc/auth_gss/trace.o
  CC      drivers/acpi/acpica/evregion.o
  CC      drivers/pci/vc.o
  CC      kernel/irq/irqdomain.o
  CC      drivers/pci/mmap.o
  AR      lib/dim/built-in.a
  CC [M]  sound/pci/hda/hda_auto_parser.o
  CC      lib/argv_split.o
  CC      drivers/acpi/acpica/evrgnini.o
  CC      net/netfilter/nf_conntrack_proto_tcp.o
  CC      lib/bug.o
  CC      net/mac80211/status.o
  CC      io_uring/opdef.o
  CC [M]  sound/core/pcm_misc.o
  CC      drivers/acpi/acpica/evsci.o
  CC      arch/x86/kernel/cpu/topology.o
  CC      net/mac80211/driver-ops.o
  CC      net/ipv6/ip6_output.o
  CC      drivers/pci/devres.o
  CC      crypto/cmac.o
  CC      fs/nfs/client.o
  CC      fs/fat/inode.o
  CC      fs/netfs/objects.o
  CC      fs/nfs/dir.o
  CC      fs/isofs/dir.o
  CC      mm/slab_common.o
  CC      net/core/rtnetlink.o
  CC      net/ipv6/ip6_input.o
  CC      net/netlabel/netlabel_kapi.o
  CC      kernel/rcu/update.o
  CC      drivers/acpi/acpica/evxface.o
  CC      net/netlabel/netlabel_domainhash.o
  CC      fs/proc/interrupts.o
  CC      mm/compaction.o
  CC      mm/show_mem.o
  CC      block/badblocks.o
  AR      security/selinux/built-in.a
  CC      net/ipv4/ip_fragment.o
  CC      net/ethtool/rings.o
  AR      security/built-in.a
  CC      kernel/rcu/sync.o
  CC      fs/jbd2/journal.o
  CC      kernel/rcu/srcutree.o
  CC      arch/x86/kernel/cpu/proc.o
  CC      fs/nfs/file.o
  CC      lib/buildid.o
  CC      fs/nfs/getroot.o
  CC      fs/netfs/output.o
  CC      net/rfkill/core.o
  CC      crypto/hmac.o
  CC      fs/exportfs/expfs.o
  CC      net/rfkill/input.o
  CC      drivers/pci/proc.o
  CC      io_uring/notif.o
  CC      io_uring/waitid.o
  CC      fs/proc/loadavg.o
  CC [M]  sound/pci/hda/hda_sysfs.o
  CC      drivers/acpi/acpica/evxfevnt.o
  CC      kernel/irq/proc.o
  CC      block/blk-rq-qos.o
  CC      fs/isofs/util.o
  CC      io_uring/register.o
  CC [M]  sound/core/pcm_memory.o
  CC      fs/lockd/clntlock.o
  AR      kernel/livepatch/built-in.a
  CC      arch/x86/kernel/cpu/feat_ctl.o
  CC      kernel/dma/mapping.o
  CC      lib/clz_tab.o
  CC      lib/cmdline.o
  AR      fs/exportfs/built-in.a
  CC      kernel/rcu/tree.o
  CC      drivers/acpi/acpica/evxfgpe.o
  CC      net/sunrpc/auth_gss/gss_krb5_mech.o
  CC      net/wireless/sysfs.o
  CC      net/netlabel/netlabel_addrlist.o
  CC      crypto/crypto_null.o
  CC      lib/cpumask.o
  CC      fs/isofs/rock.o
  CC      fs/proc/meminfo.o
  CC      mm/shmem_quota.o
  AR      net/rfkill/built-in.a
  CC      net/ethtool/channels.o
  AR      fs/netfs/built-in.a
  CC      net/9p/mod.o
  CC      arch/x86/kernel/signal.o
  CC      fs/fat/misc.o
  CC      crypto/md5.o
  CC      net/netfilter/nf_conntrack_proto_udp.o
  CC [M]  sound/pci/hda/hda_controller.o
  CC      fs/ext4/fsmap.o
  CC      kernel/irq/migration.o
  CC      fs/proc/stat.o
  CC      fs/fat/nfs.o
  CC      arch/x86/kernel/cpu/intel.o
  CC      drivers/pci/pci-sysfs.o
  CC      fs/isofs/export.o
  CC      net/9p/client.o
  CC      kernel/rcu/rcu_segcblist.o
  CC      block/disk-events.o
  CC      drivers/acpi/acpica/evxfregn.o
  CC      net/ipv4/ip_forward.o
  CC      fs/nfs/inode.o
  CC      fs/lockd/clntproc.o
  CC      block/blk-ia-ranges.o
  CC [M]  sound/core/memalloc.o
  CC      net/sunrpc/auth_gss/gss_krb5_seal.o
  CC      lib/ctype.o
  CC      net/ipv4/ip_options.o
  CC      crypto/sha256_generic.o
  CC      lib/dec_and_lock.o
  CC      kernel/irq/cpuhotplug.o
  CC      fs/isofs/joliet.o
  CC      crypto/sha512_generic.o
  CC [M]  sound/core/pcm_timer.o
  CC      fs/proc/uptime.o
  CC      kernel/dma/direct.o
  CC      kernel/dma/ops_helpers.o
  CC      drivers/acpi/acpica/exconcat.o
  CC      lib/decompress.o
  CC      io_uring/truncate.o
  CC      net/9p/error.o
  CC      net/ipv4/ip_output.o
  CC      lib/decompress_bunzip2.o
  CC      drivers/pci/slot.o
  CC [M]  sound/pci/hda/hda_proc.o
  CC      fs/fat/namei_vfat.o
  CC      net/ipv6/addrconf.o
  CC      fs/lockd/clntxdr.o
  CC      fs/isofs/compress.o
  CC      net/netlabel/netlabel_mgmt.o
  CC      net/ipv6/addrlabel.o
  CC      io_uring/io-wq.o
  CC      net/ethtool/coalesce.o
  CC      block/early-lookup.o
  CC      drivers/acpi/acpica/exconfig.o
  CC      net/sunrpc/sched.o
  CC      fs/proc/util.o
  CC      block/bounce.o
  CC      net/sunrpc/auth_gss/gss_krb5_unseal.o
  CC      net/sunrpc/auth.o
  CC      fs/proc/version.o
  CC      net/mac80211/sta_info.o
  CC      fs/proc/softirqs.o
  CC      net/sunrpc/auth_null.o
  CC      arch/x86/kernel/cpu/intel_pconfig.o
  CC      net/netfilter/nf_conntrack_proto_icmp.o
  CC      kernel/irq/pm.o
  CC      net/9p/protocol.o
  CC      net/mac80211/wep.o
  LD [M]  sound/core/snd-hwdep.o
  CC      drivers/pci/pci-acpi.o
  LD [M]  sound/core/snd-pcm.o
  AR      sound/core/built-in.a
  CC      arch/x86/kernel/cpu/tsx.o
  AR      sound/sh/built-in.a
  CC      kernel/dma/dummy.o
  CC      net/sunrpc/auth_tls.o
  AR      sound/synth/emux/built-in.a
  AR      sound/synth/built-in.a
  CC      net/sunrpc/auth_gss/gss_krb5_wrap.o
  CC      net/sunrpc/auth_gss/gss_krb5_crypto.o
  CC      crypto/sha3_generic.o
  CC      lib/decompress_inflate.o
  AR      fs/jbd2/built-in.a
  CC      drivers/acpi/acpica/exconvrt.o
  CC      net/ipv6/route.o
  CC      net/ipv6/ip6_fib.o
  CC      net/core/utils.o
  CC      net/9p/trans_common.o
  CC      kernel/irq/msi.o
  CC      net/ethtool/pause.o
  CC      net/ethtool/eee.o
  AR      fs/isofs/built-in.a
  CC      fs/proc/namespaces.o
  CC      mm/interval_tree.o
  CC      arch/x86/kernel/signal_32.o
  CC      block/bsg.o
  CC      net/wireless/radiotap.o
  CC      block/blk-cgroup.o
  CC      arch/x86/kernel/cpu/intel_epb.o
  CC      arch/x86/kernel/traps.o
  CC [M]  sound/pci/hda/hda_hwdep.o
  CC      net/9p/trans_fd.o
  CC      lib/decompress_unlz4.o
  CC      fs/lockd/host.o
  CC      crypto/ecb.o
  CC      drivers/acpi/acpica/excreate.o
  CC      kernel/dma/remap.o
  CC      drivers/acpi/acpica/exdebug.o
  CC      fs/fat/namei_msdos.o
  CC      lib/decompress_unlzma.o
  CC      fs/ext4/fsync.o
  CC      drivers/acpi/reboot.o
  CC      net/ethtool/tsinfo.o
  CC      fs/lockd/svc.o
  CC      lib/decompress_unlzo.o
  CC      net/sunrpc/auth_gss/gss_krb5_keys.o
  CC      net/netlabel/netlabel_unlabeled.o
  CC      kernel/irq/affinity.o
  CC      net/core/link_watch.o
  CC      arch/x86/kernel/cpu/amd.o
  CC      drivers/acpi/acpica/exdump.o
  CC      drivers/acpi/acpica/exfield.o
  CC      lib/decompress_unxz.o
  CC      drivers/pci/iomap.o
  CC      drivers/pci/quirks.o
  CC      net/sunrpc/auth_unix.o
  CC      net/netfilter/nf_conntrack_extend.o
  CC      crypto/cbc.o
  CC      block/blk-ioprio.o
  CC      crypto/ctr.o
  CC      fs/proc/self.o
  CC      io_uring/futex.o
  CC      block/blk-iolatency.o
  CC      block/blk-iocost.o
  AR      kernel/dma/built-in.a
  CC      mm/list_lru.o
  CC      net/sunrpc/svc.o
  CC      mm/workingset.o
  CC [M]  sound/pci/hda/patch_hdmi.o
  CC      arch/x86/kernel/cpu/hygon.o
  CC      fs/ext4/hash.o
  CC      net/netlabel/netlabel_cipso_v4.o
  CC      net/ethtool/cabletest.o
  CC      lib/decompress_unzstd.o
  CC      mm/debug.o
  CC      kernel/irq/matrix.o
  CC      net/ethtool/tunnels.o
  CC      net/wireless/util.o
  CC      drivers/acpi/acpica/exfldio.o
  CC      lib/dump_stack.o
  AR      fs/fat/built-in.a
  CC      mm/gup.o
  CC      net/ipv4/ip_sockglue.o
  CC      net/dns_resolver/dns_key.o
  CC [M]  sound/pci/hda/hda_eld.o
  CC      net/dns_resolver/dns_query.o
  CC      crypto/gcm.o
  CC      fs/proc/thread_self.o
  AR      net/sunrpc/auth_gss/built-in.a
  CC      drivers/pci/pci-label.o
  CC      io_uring/napi.o
  CC      net/wireless/reg.o
  CC      kernel/entry/common.o
  CC      fs/nfs/super.o
  CC      arch/x86/kernel/cpu/centaur.o
  CC      fs/proc/proc_sysctl.o
  CC      net/9p/trans_virtio.o
  CC      net/wireless/scan.o
  CC      kernel/entry/syscall_user_dispatch.o
  CC      net/core/filter.o
  CC      fs/lockd/svclock.o
  CC      drivers/acpi/acpica/exmisc.o
  CC      block/mq-deadline.o
  CC [M]  sound/pci/hda/hda_intel.o
  CC      fs/nls/nls_base.o
  CC      lib/earlycpio.o
  CC      fs/nls/nls_cp437.o
  CC      mm/mmap_lock.o
  CC      drivers/pnp/pnpacpi/core.o
  CC      net/netfilter/nf_conntrack_acct.o
  CC      lib/extable.o
  CC      arch/x86/kernel/cpu/transmeta.o
  CC      lib/flex_proportions.o
  CC      lib/idr.o
  CC      net/sunrpc/svcsock.o
  CC      drivers/pnp/pnpacpi/rsparser.o
  CC      drivers/pnp/core.o
  AR      kernel/rcu/built-in.a
  CC      kernel/module/main.o
  CC      kernel/time/time.o
  AR      net/dns_resolver/built-in.a
  CC      kernel/futex/core.o
  CC      crypto/ccm.o
  CC      drivers/acpi/acpica/exmutex.o
  CC      kernel/futex/syscalls.o
  CC      kernel/time/timer.o
  CC      net/sunrpc/svcauth.o
  CC      fs/nls/nls_ascii.o
  CC      arch/x86/kernel/cpu/zhaoxin.o
  CC      net/netlabel/netlabel_calipso.o
  CC      fs/proc/proc_net.o
  CC      block/kyber-iosched.o
  CC      lib/irq_regs.o
  CC      lib/is_single_threaded.o
  AR      kernel/irq/built-in.a
  CC      fs/ext4/ialloc.o
  CC      net/ethtool/fec.o
  CC      kernel/cgroup/cgroup.o
  CC      fs/proc/kcore.o
  CC      fs/nls/nls_iso8859-1.o
  CC      fs/nls/nls_utf8.o
  CC      arch/x86/kernel/cpu/vortex.o
  CC      drivers/acpi/acpica/exnames.o
  AR      kernel/entry/built-in.a
  CC      block/blk-mq-pci.o
  CC      mm/highmem.o
  CC      net/ipv6/ipv6_sockglue.o
  AR      drivers/amba/built-in.a
  AR      drivers/clk/actions/built-in.a
  AR      drivers/clk/analogbits/built-in.a
  AR      drivers/clk/bcm/built-in.a
  AR      drivers/clk/imgtec/built-in.a
  AR      drivers/clk/imx/built-in.a
  AR      drivers/clk/ingenic/built-in.a
  AR      drivers/clk/mediatek/built-in.a
  CC      lib/klist.o
  AR      drivers/clk/microchip/built-in.a
  AR      net/9p/built-in.a
  CC      drivers/pci/vgaarb.o
  AR      drivers/clk/mstar/built-in.a
  CC      fs/proc/vmcore.o
  AR      drivers/clk/mvebu/built-in.a
  CC      mm/memory.o
  AR      drivers/clk/ralink/built-in.a
  AR      drivers/clk/renesas/built-in.a
  AR      drivers/clk/socfpga/built-in.a
  CC      net/handshake/alert.o
  AR      drivers/pnp/pnpacpi/built-in.a
  AR      drivers/clk/sprd/built-in.a
  AR      drivers/clk/starfive/built-in.a
  CC      drivers/pnp/card.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  CC      arch/x86/kernel/cpu/vmware.o
  AR      fs/nls/built-in.a
  AR      drivers/clk/sunxi-ng/built-in.a
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC      kernel/futex/pi.o
  CC      net/netfilter/nf_conntrack_seqadj.o
  AR      io_uring/built-in.a
  AR      drivers/clk/ti/built-in.a
  AR      drivers/clk/versatile/built-in.a
  AR      drivers/clk/xilinx/built-in.a
  CC      net/handshake/genl.o
  AR      drivers/clk/built-in.a
  CC      drivers/acpi/acpica/exoparg1.o
  CC      net/devres.o
  CC      net/core/sock_diag.o
  CC      fs/lockd/svcshare.o
  CC      net/ipv4/inet_hashtables.o
  CC      fs/nfs/io.o
  CC      fs/nfs/direct.o
  CC      net/ethtool/eeprom.o
  CC      net/ipv4/inet_timewait_sock.o
  CC      crypto/aes_generic.o
  CC      block/blk-mq-virtio.o
  CC      kernel/time/hrtimer.o
  CC      lib/kobject.o
  LD [M]  sound/pci/hda/snd-hda-codec.o
  CC      net/core/dev_ioctl.o
  CC      fs/ext4/indirect.o
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.o
  LD [M]  sound/pci/hda/snd-hda-intel.o
  AR      sound/pci/oxygen/built-in.a
  AR      sound/pci/pcxhr/built-in.a
  AR      sound/pci/riptide/built-in.a
  AR      sound/pci/rme9652/built-in.a
  AR      sound/pci/trident/built-in.a
  AR      sound/pci/ymfpci/built-in.a
  CC      block/blk-mq-debugfs.o
  AR      sound/pci/vx222/built-in.a
  AR      sound/pci/built-in.a
  AR      net/netlabel/built-in.a
  CC      fs/nfs/pagelist.o
  CC      fs/proc/kmsg.o
  AR      sound/usb/misc/built-in.a
  CC      net/ethtool/stats.o
  AR      sound/usb/usx2y/built-in.a
  AR      sound/usb/caiaq/built-in.a
  AR      sound/usb/6fire/built-in.a
  CC      drivers/acpi/acpica/exoparg2.o
  AR      sound/usb/hiface/built-in.a
  CC      drivers/acpi/acpica/exoparg3.o
  AR      sound/usb/bcd2000/built-in.a
  AR      sound/usb/built-in.a
  AR      sound/firewire/built-in.a
  AR      sound/sparc/built-in.a
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC      mm/mincore.o
  AR      sound/spi/built-in.a
  CC      drivers/pnp/driver.o
  AR      sound/parisc/built-in.a
  AR      sound/pcmcia/vx/built-in.a
  CC      kernel/futex/requeue.o
  AR      sound/pcmcia/pdaudiocf/built-in.a
  CC      kernel/futex/waitwake.o
  AR      sound/pcmcia/built-in.a
  CC      net/mac80211/aead_api.o
  AR      sound/mips/built-in.a
  AR      sound/soc/built-in.a
  AR      sound/atmel/built-in.a
  CC      lib/kobject_uevent.o
  CC      net/ethtool/phc_vclocks.o
  AR      sound/hda/built-in.a
  CC      lib/logic_pio.o
  CC [M]  sound/hda/hda_bus_type.o
  CC      lib/maple_tree.o
  CC      block/blk-pm.o
  AR      drivers/pci/built-in.a
  CC      net/ethtool/mm.o
  CC      drivers/dma/dw/core.o
  CC      fs/proc/page.o
  CC      drivers/dma/hsu/hsu.o
  AR      drivers/dma/idxd/built-in.a
  CC      crypto/crc32c_generic.o
  CC      drivers/acpi/acpica/exoparg6.o
  CC      crypto/authenc.o
  CC [M]  sound/hda/hdac_bus.o
  CC      fs/nfs/read.o
  CC      fs/lockd/svcproc.o
  CC      net/ethtool/module.o
  CC      kernel/module/strict_rwx.o
  CC      drivers/pnp/resource.o
  AR      sound/x86/built-in.a
  AR      sound/xen/built-in.a
  CC      kernel/cgroup/rstat.o
  CC      kernel/time/timekeeping.o
  CC      net/netfilter/nf_conntrack_proto_icmpv6.o
  CC      net/handshake/netlink.o
  CC      net/ipv6/ndisc.o
  CC      net/handshake/request.o
  CC      net/mac80211/wpa.o
  CC      drivers/acpi/acpica/exprep.o
  CC      kernel/module/kmod.o
  CC      kernel/module/tree_lookup.o
  AR      sound/virtio/built-in.a
  CC      net/core/tso.o
  CC      sound/sound_core.o
  AR      kernel/futex/built-in.a
  CC      sound/last.o
  CC      kernel/trace/trace_clock.o
  CC      kernel/bpf/core.o
  CC      arch/x86/kernel/cpu/debugfs.o
  CC      kernel/time/ntp.o
  CC      block/holder.o
  CC      net/handshake/tlshd.o
  CC      drivers/acpi/acpica/exregion.o
  CC      net/ethtool/pse-pd.o
  CC      net/netfilter/nf_conntrack_netlink.o
  AR      fs/proc/built-in.a
  CC      drivers/acpi/acpica/exresnte.o
  AR      fs/unicode/built-in.a
  AR      drivers/dma/hsu/built-in.a
  CC      kernel/module/kallsyms.o
  CC      lib/memcat_p.o
  CC      kernel/module/procfs.o
  CC [M]  sound/hda/hdac_device.o
  CC      mm/mlock.o
  CC      net/ipv4/inet_connection_sock.o
  CC      kernel/trace/ring_buffer.o
  CC      net/ipv6/udp.o
  AR      drivers/dma/mediatek/built-in.a
  CC      net/ethtool/plca.o
  CC      crypto/authencesn.o
  CC      drivers/dma/dw/dw.o
  CC      drivers/acpi/acpica/exresolv.o
  CC      crypto/lzo.o
  CC      net/ipv4/tcp.o
  CC      arch/x86/kernel/idt.o
  CC      mm/mmap.o
  CC      kernel/cgroup/namespace.o
  CC      fs/ext4/inline.o
  CC      net/sunrpc/svcauth_unix.o
  CC      net/wireless/nl80211.o
  CC      arch/x86/kernel/cpu/capflags.o
  CC      drivers/acpi/acpica/exresop.o
  CC      kernel/module/sysfs.o
  AR      arch/x86/kernel/cpu/built-in.a
  CC      mm/mmu_gather.o
  CC      fs/lockd/svcsubs.o
  CC      drivers/pnp/manager.o
  AR      block/built-in.a
  CC      drivers/pnp/support.o
  CC      net/ipv4/tcp_input.o
  CC      net/sunrpc/addr.o
  CC      drivers/acpi/acpica/exserial.o
  CC      lib/nmi_backtrace.o
  CC      net/handshake/trace.o
  CC      net/core/sock_reuseport.o
  CC      net/ipv4/tcp_output.o
  CC      net/netfilter/nf_conntrack_ftp.o
  CC      net/netfilter/nf_conntrack_irc.o
  CC      net/wireless/mlme.o
  CC      net/core/fib_notifier.o
  CC      drivers/dma/dw/idma32.o
  CC      crypto/lzo-rle.o
  CC      fs/nfs/symlink.o
  CC      kernel/time/clocksource.o
  CC      net/core/xdp.o
  CC [M]  sound/hda/hdac_sysfs.o
  CC      kernel/cgroup/cgroup-v1.o
  CC      net/mac80211/scan.o
  CC      kernel/events/core.o
  CC      drivers/acpi/acpica/exstore.o
  CC      drivers/pnp/interface.o
  CC      kernel/events/ring_buffer.o
  CC      fs/nfs/unlink.o
  CC      fs/nfs/write.o
  CC      arch/x86/kernel/irq.o
  AR      kernel/module/built-in.a
  CC [M]  sound/hda/hdac_regmap.o
  AR      net/ethtool/built-in.a
  AR      drivers/dma/qcom/built-in.a
  CC      kernel/cgroup/freezer.o
  CC      kernel/cgroup/legacy_freezer.o
  CC      fs/nfs/namespace.o
  CC      mm/mprotect.o
  CC      drivers/acpi/acpica/exstoren.o
  CC      kernel/cgroup/pids.o
  CC      drivers/pnp/quirks.o
  CC      crypto/rng.o
  CC      net/wireless/ibss.o
  CC      fs/nfs/mount_clnt.o
  CC      drivers/dma/dw/acpi.o
  CC      net/ipv6/udplite.o
  CC      fs/lockd/mon.o
  CC      net/core/flow_offload.o
  CC      net/core/gro.o
  CC      drivers/acpi/acpica/exstorob.o
  CC      net/core/netdev-genl.o
  CC      arch/x86/kernel/irq_32.o
  CC      kernel/time/jiffies.o
  CC      kernel/cgroup/rdma.o
  CC [M]  sound/hda/hdac_controller.o
  CC      net/ipv4/tcp_timer.o
  CC      kernel/events/callchain.o
  CC      fs/ext4/inode.o
  CC      net/netfilter/nf_conntrack_sip.o
  CC      kernel/events/hw_breakpoint.o
  CC      net/ipv4/tcp_ipv4.o
  AR      drivers/dma/ti/built-in.a
  CC      kernel/fork.o
  AR      drivers/dma/xilinx/built-in.a
  CC      kernel/exec_domain.o
  CC      drivers/acpi/acpica/exsystem.o
  CC      net/wireless/sme.o
  CC      net/sunrpc/rpcb_clnt.o
  AR      net/handshake/built-in.a
  CC      drivers/pnp/system.o
  CC      net/core/netdev-genl-gen.o
  CC      kernel/time/timer_list.o
  CC      kernel/trace/trace.o
  CC      crypto/drbg.o
  CC      kernel/time/timeconv.o
  CC      fs/lockd/trace.o
  AR      drivers/dma/dw/built-in.a
  AR      kernel/bpf/built-in.a
  CC      drivers/dma/dmaengine.o
  CC      drivers/dma/virt-dma.o
  CC      fs/nfs/nfstrace.o
  CC      drivers/acpi/acpica/extrace.o
  CC      kernel/time/timecounter.o
  CC [M]  sound/hda/hdac_stream.o
  CC      fs/ext4/ioctl.o
  CC      mm/mremap.o
  CC      kernel/panic.o
  CC      kernel/cgroup/cpuset.o
  CC      net/ipv4/tcp_minisocks.o
  AR      drivers/pnp/built-in.a
  CC      kernel/cgroup/misc.o
  CC      net/socket.o
  CC      net/ipv6/raw.o
  CC [M]  sound/hda/array.o
  CC      kernel/events/uprobes.o
  CC      fs/ext4/mballoc.o
  CC      drivers/acpi/acpica/exutils.o
  CC      net/sunrpc/timer.o
  CC      net/core/gso.o
  CC      net/ipv6/icmp.o
  CC      kernel/time/alarmtimer.o
  CC      net/core/net-sysfs.o
  CC      arch/x86/kernel/dumpstack_32.o
  CC      drivers/dma/acpi-dma.o
  CC      net/sunrpc/xdr.o
  CC      mm/msync.o
  CC      crypto/jitterentropy.o
  CC      net/sysctl_net.o
  CC      kernel/cgroup/debug.o
  CC      fs/nfs/export.o
  CC      drivers/acpi/acpica/hwacpi.o
  CC      crypto/jitterentropy-kcapi.o
  CC      net/core/hotdata.o
  CC      fs/autofs/init.o
  CC      drivers/acpi/nvs.o
  CC      fs/lockd/xdr.o
  CC [M]  sound/hda/hdmi_chmap.o
  CC      fs/autofs/inode.o
  CC      arch/x86/kernel/time.o
  CC      fs/9p/vfs_super.o
  CC      drivers/acpi/acpica/hwesleep.o
  CC      crypto/ghash-generic.o
  CC      fs/9p/vfs_inode.o
  CC      lib/objpool.o
  CC      kernel/trace/trace_output.o
  AR      drivers/dma/built-in.a
  CC      net/ipv6/mcast.o
  CC      mm/page_vma_mapped.o
  CC      kernel/cpu.o
  CC      net/sunrpc/sunrpc_syms.o
  CC      fs/nfs/sysfs.o
  CC      net/netfilter/nf_nat_core.o
  CC      fs/autofs/root.o
  CC      drivers/acpi/acpica/hwgpe.o
  CC      arch/x86/kernel/ioport.o
  CC      arch/x86/kernel/dumpstack.o
  CC      crypto/hash_info.o
  CC      net/mac80211/offchannel.o
  CC      fs/9p/vfs_inode_dotl.o
  CC      crypto/rsapubkey.asn1.o
  CC      kernel/time/posix-timers.o
  CC      net/netfilter/nf_nat_proto.o
  CC      crypto/rsaprivkey.asn1.o
  CC      net/netfilter/nf_nat_helper.o
  AR      crypto/built-in.a
  CC      fs/nfs/fs_context.o
  CC      net/mac80211/ht.o
  CC      lib/plist.o
  CC      lib/radix-tree.o
  CC      fs/autofs/symlink.o
  CC      net/ipv4/tcp_cong.o
  CC      net/mac80211/agg-tx.o
  CC      arch/x86/kernel/nmi.o
  CC [M]  sound/hda/trace.o
  CC      net/sunrpc/cache.o
  CC      fs/nfs/nfsroot.o
  CC      net/netfilter/nf_nat_masquerade.o
  CC      net/ipv6/reassembly.o
  CC      drivers/acpi/acpica/hwregs.o
  CC      kernel/exit.o
  CC      fs/autofs/waitq.o
  CC      fs/lockd/clnt4xdr.o
  CC      mm/pagewalk.o
  CC      net/sunrpc/rpc_pipe.o
  AR      kernel/cgroup/built-in.a
  CC      net/sunrpc/sysfs.o
  CC      fs/nfs/sysctl.o
  CC      net/netfilter/nf_nat_ftp.o
  CC      net/core/net-procfs.o
  CC      drivers/acpi/wakeup.o
  AR      drivers/soc/apple/built-in.a
  CC      net/sunrpc/svc_xprt.o
  CC      net/ipv4/tcp_metrics.o
  CC      drivers/virtio/virtio.o
  AR      drivers/soc/aspeed/built-in.a
  CC      drivers/virtio/virtio_ring.o
  AR      drivers/soc/bcm/built-in.a
  CC      fs/autofs/expire.o
  AR      drivers/soc/fsl/built-in.a
  CC      net/core/netpoll.o
  CC      drivers/acpi/acpica/hwsleep.o
  AR      drivers/soc/fujitsu/built-in.a
  CC      fs/9p/vfs_addr.o
  AR      drivers/soc/hisilicon/built-in.a
  AR      drivers/soc/imx/built-in.a
  CC      fs/9p/vfs_file.o
  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
  AR      drivers/soc/pxa/built-in.a
  AR      drivers/soc/amlogic/built-in.a
  AR      drivers/soc/qcom/built-in.a
  CC      net/ipv6/tcp_ipv6.o
  AR      drivers/soc/renesas/built-in.a
  CC      lib/ratelimit.o
  AR      drivers/soc/rockchip/built-in.a
  AR      drivers/soc/sunxi/built-in.a
  AR      drivers/soc/ti/built-in.a
  AR      drivers/soc/xilinx/built-in.a
  AR      drivers/soc/built-in.a
  CC      drivers/tty/vt/vt_ioctl.o
  CC      kernel/trace/trace_seq.o
  CC      arch/x86/kernel/ldt.o
  CC      kernel/time/posix-cpu-timers.o
  CC      drivers/acpi/sleep.o
  CC      drivers/acpi/acpica/hwvalid.o
  CC      drivers/tty/hvc/hvc_console.o
  CC      lib/rbtree.o
  CC      drivers/tty/serial/8250/8250_core.o
  CC [M]  sound/hda/hdac_component.o
  CC      drivers/tty/serial/serial_core.o
  CC      mm/pgtable-generic.o
  CC      drivers/tty/serial/8250/8250_pnp.o
  CC      fs/ext4/migrate.o
  CC      drivers/virtio/virtio_anchor.o
  CC      net/netfilter/nf_nat_irc.o
  CC      fs/lockd/xdr4.o
  CC      kernel/trace/trace_stat.o
  CC      net/netfilter/nf_nat_sip.o
  CC      fs/9p/vfs_dir.o
  CC      drivers/acpi/acpica/hwxface.o
  CC      fs/autofs/dev-ioctl.o
  CC      fs/9p/vfs_dentry.o
  CC      lib/seq_buf.o
  CC [M]  sound/hda/hdac_i915.o
  CC      fs/ext4/mmp.o
  CC      net/ipv6/ping.o
  CC      fs/9p/v9fs.o
  CC      fs/lockd/svc4proc.o
  CC      kernel/trace/trace_printk.o
  CC      fs/lockd/procfs.o
  CC      net/sunrpc/xprtmultipath.o
  CC      fs/ext4/move_extent.o
  CC      arch/x86/kernel/setup.o
  CC      drivers/acpi/acpica/hwxfsleep.o
  CC      mm/rmap.o
  CC      net/wireless/chan.o
  CC      net/sunrpc/stats.o
  AR      drivers/tty/hvc/built-in.a
  CC      drivers/virtio/virtio_pci_modern_dev.o
  CC      drivers/virtio/virtio_pci_legacy_dev.o
  AR      drivers/tty/ipwireless/built-in.a
  CC      drivers/tty/tty_io.o
  CC      drivers/tty/vt/vc_screen.o
  CC      drivers/virtio/virtio_pci_modern.o
  CC      lib/siphash.o
  CC      net/ipv4/tcp_fastopen.o
  CC      drivers/tty/vt/selection.o
  CC      drivers/acpi/acpica/hwpci.o
  CC      drivers/tty/serial/8250/8250_port.o
  CC      lib/string.o
  CC      fs/9p/fid.o
  CC      kernel/time/posix-clock.o
  CC      net/core/fib_rules.o
  CC [M]  sound/hda/intel-dsp-config.o
  CC      arch/x86/kernel/x86_init.o
  CC      fs/nfs/nfs2super.o
  CC      fs/9p/xattr.o
  CC      lib/timerqueue.o
  CC      net/core/net-traces.o
  CC      drivers/acpi/device_sysfs.o
  AR      kernel/events/built-in.a
  AR      fs/autofs/built-in.a
  CC      drivers/acpi/device_pm.o
  AR      fs/hostfs/built-in.a
  CC      arch/x86/kernel/i8259.o
  CC      drivers/acpi/proc.o
  CC      drivers/tty/serial/serial_base_bus.o
  CC      drivers/acpi/acpica/nsaccess.o
  CC      fs/ext4/namei.o
  CC      kernel/trace/pid_list.o
  CC      fs/nfs/proc.o
  CC      lib/vsprintf.o
  CC      drivers/char/hw_random/core.o
  CC      drivers/char/agp/backend.o
  CC      drivers/char/mem.o
  CC      net/netfilter/x_tables.o
  CC      drivers/char/hw_random/intel-rng.o
  CC      fs/nfs/nfs2xdr.o
  CC      net/mac80211/agg-rx.o
  CC      drivers/tty/serial/8250/8250_dma.o
  CC      fs/ext4/page-io.o
  CC      fs/debugfs/inode.o
  CC [M]  sound/hda/intel-nhlt.o
  AR      fs/lockd/built-in.a
  CC      drivers/virtio/virtio_pci_common.o
  CC      drivers/acpi/acpica/nsalloc.o
  CC      drivers/acpi/acpica/nsarguments.o
  CC      drivers/acpi/acpica/nsconvert.o
  CC      drivers/tty/vt/keyboard.o
  CC      drivers/tty/serial/serial_ctrl.o
  CC      mm/vmalloc.o
  AR      fs/9p/built-in.a
  CC      drivers/char/random.o
  CC      drivers/tty/vt/vt.o
  CC      kernel/time/itimer.o
  CC      kernel/time/clockevents.o
  CC      arch/x86/kernel/irqinit.o
  CC      fs/ext4/readpage.o
  CC      arch/x86/kernel/jump_label.o
  CC      fs/debugfs/file.o
  CC      drivers/tty/serial/serial_port.o
  CC      drivers/tty/serial/earlycon.o
  COPY    drivers/tty/vt/defkeymap.c
  CC      fs/tracefs/inode.o
  CC      drivers/tty/vt/consolemap.o
  CC      fs/tracefs/event_inode.o
  CC      drivers/char/agp/generic.o
  CC      drivers/char/hw_random/amd-rng.o
  CC      kernel/time/tick-common.o
  CC      kernel/time/tick-broadcast.o
  CC      kernel/time/tick-broadcast-hrtimer.o
  CC      drivers/acpi/acpica/nsdump.o
  CC      net/netfilter/xt_tcpudp.o
  CC      kernel/trace/trace_sched_switch.o
  CC      net/ipv6/exthdrs.o
  CC [M]  sound/hda/intel-sdw-acpi.o
  LD [M]  sound/hda/snd-hda-core.o
  LD [M]  sound/hda/snd-intel-dspcfg.o
  CC      drivers/acpi/bus.o
  CC      net/sunrpc/sysctl.o
  CC      drivers/char/agp/isoch.o
  CC      fs/ext4/resize.o
  CC      drivers/char/misc.o
  CC      net/ipv4/tcp_rate.o
  HOSTCC  drivers/tty/vt/conmakehash
  CC      net/netfilter/xt_CONNSECMARK.o
  CC [M]  fs/efivarfs/inode.o
  CC      drivers/acpi/acpica/nseval.o
  CC      drivers/virtio/virtio_pci_legacy.o
  CC [M]  fs/efivarfs/file.o
  CC      drivers/char/virtio_console.o
  CC      arch/x86/kernel/irq_work.o
  CC      net/core/selftests.o
  CC      net/core/ptp_classifier.o
  CC [M]  fs/efivarfs/super.o
  CC      mm/process_vm_access.o
  CC      drivers/tty/serial/8250/8250_dwlib.o
  CC      drivers/tty/serial/8250/8250_pcilib.o
  CC      kernel/time/tick-oneshot.o
  CC      kernel/trace/trace_nop.o
  CC      drivers/char/hw_random/geode-rng.o
  CC      net/wireless/ethtool.o
  CC      net/core/netprio_cgroup.o
  LD [M]  sound/hda/snd-intel-sdw-acpi.o
  CC      drivers/char/hw_random/via-rng.o
  AR      sound/built-in.a
  CC      drivers/tty/n_tty.o
  CC      drivers/tty/tty_ioctl.o
  CC      arch/x86/kernel/probe_roms.o
  CC      drivers/acpi/acpica/nsinit.o
  AR      fs/debugfs/built-in.a
  CC      fs/open.o
  CC [M]  fs/efivarfs/vars.o
  AR      fs/tracefs/built-in.a
  CC      drivers/acpi/glue.o
  CC      kernel/trace/blktrace.o
  CC      kernel/trace/trace_events.o
  CC      drivers/char/agp/amd64-agp.o
  CC      drivers/tty/serial/8250/8250_early.o
  CC      drivers/tty/serial/8250/8250_exar.o
  CC      drivers/tty/vt/defkeymap.o
  CC      fs/read_write.o
  AR      net/sunrpc/built-in.a
  CC      drivers/virtio/virtio_pci_admin_legacy_io.o
  CC      net/core/netclassid_cgroup.o
  CC      drivers/virtio/virtio_input.o
  CC      net/netfilter/xt_NFLOG.o
  CC      net/netfilter/xt_SECMARK.o
  CC      kernel/time/tick-sched.o
  CC      drivers/char/agp/intel-agp.o
  CC      fs/file_table.o
  CC      drivers/acpi/acpica/nsload.o
  CONMK   drivers/tty/vt/consolemap_deftbl.c
  CC      mm/page_alloc.o
  CC      fs/ext4/super.o
  AR      drivers/char/hw_random/built-in.a
  CC      net/netfilter/xt_TCPMSS.o
  CC      mm/init-mm.o
  CC      drivers/acpi/scan.o
  CC      drivers/acpi/acpica/nsnames.o
  CC      drivers/tty/tty_ldisc.o
  CC      net/wireless/mesh.o
  CC      drivers/char/agp/intel-gtt.o
  CC      arch/x86/kernel/sys_ia32.o
  CC      fs/nfs/nfs3super.o
  CC      drivers/tty/vt/consolemap_deftbl.o
  CC      net/ipv4/tcp_recovery.o
  CC      fs/nfs/nfs3client.o
  CC      kernel/trace/trace_export.o
  CC      lib/win_minmax.o
  CC      drivers/acpi/acpica/nsobject.o
  CC      drivers/tty/serial/8250/8250_lpss.o
  LD [M]  fs/efivarfs/efivarfs.o
  CC      net/core/dst_cache.o
  CC      net/ipv6/datagram.o
  CC      fs/super.o
  CC      net/ipv4/tcp_ulp.o
  CC      drivers/tty/tty_buffer.o
  CC      net/wireless/ap.o
  CC      fs/ext4/symlink.o
  CC      drivers/acpi/acpica/nsparse.o
  CC      kernel/time/timer_migration.o
  CC      fs/char_dev.o
  CC      net/ipv4/tcp_offload.o
  CC      drivers/tty/serial/8250/8250_mid.o
  CC      drivers/virtio/virtio_dma_buf.o
  CC      net/ipv4/tcp_plb.o
  CC      lib/xarray.o
  CC      drivers/tty/serial/8250/8250_pci.o
  CC      net/mac80211/vht.o
  AR      drivers/iommu/amd/built-in.a
  AR      drivers/iommu/intel/built-in.a
  CC      drivers/tty/serial/8250/8250_pericom.o
  AR      drivers/iommu/arm/arm-smmu/built-in.a
  CC      net/mac80211/he.o
  CC      drivers/acpi/acpica/nspredef.o
  AR      drivers/iommu/arm/arm-smmu-v3/built-in.a
  AR      drivers/iommu/arm/built-in.a
  CC      net/netfilter/xt_conntrack.o
  AR      drivers/tty/vt/built-in.a
  AR      drivers/iommu/iommufd/built-in.a
  CC      drivers/iommu/iommu.o
  CC      net/netfilter/xt_policy.o
  CC      kernel/trace/trace_event_perf.o
  CC      net/ipv4/datagram.o
  CC      drivers/acpi/acpica/nsprepkg.o
  CC      drivers/tty/tty_port.o
  CC      arch/x86/kernel/ksysfs.o
  CC      kernel/time/vsyscall.o
  CC      kernel/trace/trace_events_filter.o
  CC      fs/stat.o
  CC      lib/lockref.o
  AR      drivers/char/agp/built-in.a
  CC      drivers/char/hpet.o
  CC      drivers/acpi/acpica/nsrepair.o
  CC      kernel/trace/trace_events_trigger.o
  CC      drivers/tty/tty_mutex.o
  CC      drivers/tty/tty_ldsem.o
  AR      drivers/virtio/built-in.a
  CC      arch/x86/kernel/bootflag.o
  CC      net/netfilter/xt_state.o
  AR      drivers/gpu/host1x/built-in.a
  CC [M]  net/netfilter/nf_log_syslog.o
  CC      arch/x86/kernel/e820.o
  CC      kernel/trace/trace_eprobe.o
  CC      net/wireless/trace.o
  CC      fs/nfs/nfs3proc.o
  CC      kernel/trace/trace_kprobe.o
  AR      drivers/gpu/vga/built-in.a
  CC      drivers/acpi/mipi-disco-img.o
  CC      drivers/acpi/resource.o
  CC [M]  net/netfilter/xt_mark.o
  CC      drivers/tty/tty_baudrate.o
  CC      net/ipv6/ip6_flowlabel.o
  CC      net/ipv4/raw.o
  CC      net/core/gro_cells.o
  CC      drivers/acpi/acpica/nsrepair2.o
  CC      net/mac80211/s1g.o
  CC      net/mac80211/ibss.o
  CC      kernel/time/timekeeping_debug.o
  CC      kernel/time/namespace.o
  AR      drivers/gpu/drm/tests/built-in.a
  CC      fs/exec.o
  AR      drivers/gpu/drm/arm/built-in.a
  CC      lib/bcd.o
  CC      drivers/gpu/drm/display/drm_display_helper_mod.o
  CC      net/wireless/ocb.o
  CC      drivers/gpu/drm/ttm/ttm_tt.o
  CC      lib/sort.o
  CC      drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
  CC      lib/parser.o
  CC      arch/x86/kernel/pci-dma.o
  CC      lib/debug_locks.o
  CC      drivers/tty/tty_jobctrl.o
  CC      drivers/gpu/drm/display/drm_dp_helper.o
  CC      drivers/gpu/drm/ttm/ttm_bo.o
  CC      drivers/gpu/drm/display/drm_dp_mst_topology.o
  CC      kernel/trace/error_report-traces.o
  CC      net/mac80211/iface.o
  AR      drivers/tty/serial/8250/built-in.a
  AR      drivers/tty/serial/built-in.a
  CC      drivers/tty/n_null.o
  CC      net/mac80211/link.o
  CC      net/core/failover.o
  CC      net/wireless/pmsr.o
  CC      drivers/char/nvram.o
  CC [M]  net/netfilter/xt_nat.o
  CC      drivers/acpi/acpica/nssearch.o
  CC      fs/pipe.o
  CC      kernel/trace/power-traces.o
  CC [M]  net/netfilter/xt_LOG.o
  CC      drivers/gpu/drm/display/drm_dsc_helper.o
  CC      fs/namei.o
  CC      lib/random32.o
  CC [M]  net/netfilter/xt_MASQUERADE.o
  CC      net/mac80211/rate.o
  CC      kernel/trace/rpm-traces.o
  CC      net/ipv4/udp.o
  AR      kernel/time/built-in.a
  CC      kernel/softirq.o
  CC      kernel/trace/trace_dynevent.o
  CC      arch/x86/kernel/quirks.o
  CC      drivers/acpi/acpica/nsutils.o
  CC      drivers/iommu/iommu-traces.o
  CC      fs/nfs/nfs3xdr.o
  CC      arch/x86/kernel/topology.o
  CC [M]  net/netfilter/xt_addrtype.o
  CC      lib/bust_spinlocks.o
  CC      fs/nfs/nfs3acl.o
  CC      drivers/tty/pty.o
  CC      net/mac80211/michael.o
  CC      drivers/acpi/acpi_processor.o
  CC      drivers/gpu/drm/display/drm_hdcp_helper.o
  CC      net/mac80211/tkip.o
  GEN     net/wireless/shipped-certs.c
  AR      drivers/char/built-in.a
  CC      net/wireless/shipped-certs.o
  CC      net/ipv6/inet6_connection_sock.o
  CC      lib/kasprintf.o
  CC      fs/nfs/nfs4proc.o
  CC      drivers/gpu/drm/ttm/ttm_bo_util.o
  CC      drivers/acpi/acpica/nswalk.o
  AR      net/core/built-in.a
  CC      net/ipv4/udplite.o
  CC      drivers/gpu/drm/display/drm_hdmi_helper.o
  CC      arch/x86/kernel/kdebugfs.o
  CC      mm/memblock.o
  CC      fs/ext4/sysfs.o
  CC      net/mac80211/aes_cmac.o
  CC      kernel/trace/trace_probe.o
  CC      lib/bitmap.o
  CC      arch/x86/kernel/alternative.o
  CC      drivers/connector/cn_queue.o
  CC      lib/scatterlist.o
  CC      drivers/connector/connector.o
  CC      drivers/connector/cn_proc.o
  CC      lib/list_sort.o
  CC      lib/uuid.o
  CC      drivers/acpi/acpica/nsxfeval.o
  CC      kernel/trace/trace_uprobe.o
  CC      arch/x86/kernel/i8253.o
  CC      drivers/tty/tty_audit.o
  CC      lib/iov_iter.o
  CC      kernel/trace/rethook.o
  CC      fs/fcntl.o
  CC      lib/clz_ctz.o
  CC      drivers/gpu/drm/i915/i915_config.o
  CC      drivers/iommu/iommu-sysfs.o
  CC      net/mac80211/aes_gmac.o
  CC      drivers/iommu/dma-iommu.o
  CC      drivers/acpi/processor_core.o
  CC      drivers/tty/sysrq.o
  CC      fs/ioctl.o
  CC      drivers/gpu/drm/display/drm_scdc_helper.o
  CC      drivers/gpu/drm/ttm/ttm_bo_vm.o
  CC      drivers/acpi/acpica/nsxfname.o
  CC      fs/nfs/nfs4xdr.o
  CC      kernel/resource.o
  CC      drivers/gpu/drm/i915/i915_driver.o
  AR      net/netfilter/built-in.a
  AR      drivers/gpu/drm/renesas/rcar-du/built-in.a
  AR      drivers/gpu/drm/renesas/rz-du/built-in.a
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      lib/bsearch.o
  AR      drivers/gpu/drm/renesas/built-in.a
  AR      drivers/gpu/drm/omapdrm/built-in.a
  CC      fs/nfs/nfs4state.o
  AR      drivers/gpu/drm/tilcdc/built-in.a
  CC      drivers/gpu/drm/virtio/virtgpu_drv.o
  AR      drivers/gpu/drm/imx/built-in.a
  CC      net/ipv6/udp_offload.o
  CC      drivers/gpu/drm/virtio/virtgpu_kms.o
  CC      net/ipv4/udp_offload.o
  CC      net/mac80211/fils_aead.o
  CC      arch/x86/kernel/tsc.o
  CC      fs/nfs/nfs4renewd.o
  AR      drivers/gpu/drm/i2c/built-in.a
  CC      drivers/iommu/iova.o
  CC      kernel/sysctl.o
  CC      drivers/acpi/acpica/nsxfobj.o
  AR      drivers/gpu/drm/panel/built-in.a
  CC      drivers/acpi/processor_pdc.o
  AR      drivers/gpu/drm/bridge/analogix/built-in.a
  AR      drivers/gpu/drm/bridge/cadence/built-in.a
  CC      drivers/gpu/drm/virtio/virtgpu_gem.o
  AR      drivers/gpu/drm/bridge/imx/built-in.a
  CC      drivers/gpu/drm/virtio/virtgpu_vram.o
  AR      drivers/gpu/drm/bridge/synopsys/built-in.a
  AR      drivers/gpu/drm/bridge/built-in.a
  CC      mm/slub.o
  CC      arch/x86/kernel/tsc_msr.o
  AR      drivers/connector/built-in.a
  AR      drivers/gpu/drm/hisilicon/built-in.a
  CC      arch/x86/kernel/io_delay.o
  AR      drivers/gpu/drm/mxsfb/built-in.a
  AR      drivers/gpu/drm/tiny/built-in.a
  CC      fs/nfs/nfs4super.o
  CC      drivers/base/power/sysfs.o
  CC      drivers/base/power/generic_ops.o
  CC      fs/readdir.o
  CC      drivers/block/loop.o
  CC      drivers/gpu/drm/ttm/ttm_module.o
  CC      drivers/base/power/common.o
  CC      drivers/block/virtio_blk.o
  CC      drivers/acpi/acpica/psargs.o
  CC      drivers/gpu/drm/ttm/ttm_execbuf_util.o
  AR      drivers/gpu/drm/xlnx/built-in.a
  CC      net/ipv4/arp.o
  CC      drivers/gpu/drm/virtio/virtgpu_display.o
  AR      drivers/tty/built-in.a
  CC      arch/x86/kernel/rtc.o
  CC      drivers/acpi/acpica/psloop.o
  CC      arch/x86/kernel/resource.o
  AR      drivers/gpu/drm/display/built-in.a
  CC      drivers/gpu/drm/ttm/ttm_range_manager.o
  CC      net/ipv6/seg6.o
  CC      drivers/acpi/ec.o
  CC      drivers/gpu/drm/ttm/ttm_resource.o
  CC      drivers/gpu/drm/ttm/ttm_pool.o
  CC      drivers/acpi/dock.o
  AR      drivers/misc/eeprom/built-in.a
  AR      drivers/misc/cb710/built-in.a
  AR      drivers/misc/ti-st/built-in.a
  CC      fs/select.o
  CC      drivers/gpu/drm/i915/i915_drm_client.o
  CC      fs/nfs/nfs4file.o
  AR      drivers/misc/lis3lv02d/built-in.a
  CC      drivers/acpi/pci_root.o
  AR      drivers/misc/cardreader/built-in.a
  CC      drivers/base/power/qos.o
  AR      drivers/misc/built-in.a
  CC      drivers/gpu/drm/ttm/ttm_device.o
  AR      drivers/iommu/built-in.a
  CC      net/mac80211/cfg.o
  CC      fs/ext4/xattr.o
  CC      drivers/base/power/runtime.o
  CC      lib/find_bit.o
  CC      drivers/gpu/drm/i915/i915_getparam.o
  CC      fs/dcache.o
  CC      lib/llist.o
  CC      drivers/acpi/acpica/psobject.o
  AR      kernel/trace/built-in.a
  CC      fs/inode.o
  CC      fs/attr.o
  CC      drivers/base/firmware_loader/builtin/main.o
  CC      fs/bad_inode.o
  CC      net/ipv6/fib6_notifier.o
  AS      arch/x86/kernel/irqflags.o
  CC      fs/file.o
  CC      drivers/gpu/drm/i915/i915_ioctl.o
  CC      drivers/base/firmware_loader/main.o
  CC      net/mac80211/ethtool.o
  CC      drivers/base/regmap/regmap.o
  CC      net/mac80211/rx.o
  CC      drivers/base/regmap/regcache.o
  CC      lib/lwq.o
  CC      net/ipv4/icmp.o
  CC      arch/x86/kernel/static_call.o
  CC      net/ipv6/rpl.o
  CC      drivers/acpi/pci_link.o
  CC      drivers/gpu/drm/virtio/virtgpu_vq.o
  AR      drivers/base/firmware_loader/builtin/built-in.a
  CC      drivers/gpu/drm/virtio/virtgpu_fence.o
  CC      arch/x86/kernel/process.o
  CC      fs/filesystems.o
  CC      net/mac80211/spectmgmt.o
  CC      net/ipv6/ioam6.o
  CC      drivers/acpi/acpica/psopcode.o
  CC      lib/memweight.o
  CC      drivers/gpu/drm/ttm/ttm_sys_manager.o
  CC      drivers/base/power/wakeirq.o
  CC      net/ipv4/devinet.o
  CC      lib/kfifo.o
  CC      fs/namespace.o
  CC      fs/seq_file.o
  CC      kernel/capability.o
  CC      net/ipv6/sysctl_net_ipv6.o
  CC      net/mac80211/tx.o
  CC      drivers/gpu/drm/virtio/virtgpu_object.o
  CC      fs/xattr.o
  CC      drivers/acpi/acpica/psopinfo.o
  AR      drivers/block/built-in.a
  CC      drivers/acpi/acpica/psparse.o
  CC      drivers/base/power/main.o
  AR      drivers/mfd/built-in.a
  CC      drivers/acpi/acpica/psscope.o
  CC      drivers/base/power/wakeup.o
  CC      drivers/gpu/drm/ttm/ttm_agp_backend.o
  CC      net/ipv6/xfrm6_policy.o
  AR      drivers/base/firmware_loader/built-in.a
  CC      drivers/gpu/drm/i915/i915_irq.o
  CC      kernel/ptrace.o
  CC      drivers/base/component.o
  AR      drivers/base/test/built-in.a
  CC      drivers/gpu/drm/i915/i915_mitigations.o
  CC      drivers/base/power/wakeup_stats.o
  CC      drivers/gpu/drm/virtio/virtgpu_debugfs.o
  CC      drivers/acpi/acpica/pstree.o
  CC      kernel/user.o
  CC      drivers/base/power/trace.o
  CC      net/ipv4/af_inet.o
  AR      drivers/gpu/drm/gud/built-in.a
  CC      drivers/acpi/acpica/psutils.o
  AR      drivers/gpu/drm/solomon/built-in.a
  CC      drivers/acpi/pci_irq.o
  CC      mm/madvise.o
  CC      net/ipv6/xfrm6_state.o
  CC      net/ipv6/xfrm6_input.o
  CC      lib/percpu-refcount.o
  CC      drivers/gpu/drm/i915/i915_module.o
  CC      kernel/signal.o
  CC      drivers/base/core.o
  CC      drivers/gpu/drm/virtio/virtgpu_plane.o
  CC      drivers/acpi/acpica/pswalk.o
  CC      net/mac80211/key.o
  CC      fs/libfs.o
  CC [M]  drivers/gpu/drm/scheduler/sched_main.o
  CC      fs/fs-writeback.o
  CC      fs/pnode.o
  AR      drivers/gpu/drm/ttm/built-in.a
  CC      net/ipv6/xfrm6_output.o
  CC      net/mac80211/util.o
  CC [M]  drivers/gpu/drm/scheduler/sched_fence.o
  CC      fs/splice.o
  CC      fs/sync.o
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC      drivers/base/bus.o
  CC      drivers/gpu/drm/virtio/virtgpu_ioctl.o
  CC      net/mac80211/parse.o
  CC      drivers/acpi/acpica/psxface.o
  CC      fs/ext4/xattr_hurd.o
  CC      arch/x86/kernel/ptrace.o
  CC      drivers/gpu/drm/drm_aperture.o
  CC      lib/rhashtable.o
  CC      net/ipv4/igmp.o
  CC      drivers/gpu/drm/virtio/virtgpu_prime.o
  CC      drivers/base/regmap/regcache-rbtree.o
  CC      drivers/acpi/acpica/rsaddr.o
  CC      fs/nfs/delegation.o
  CC      drivers/gpu/drm/i915/i915_params.o
  CC [M]  drivers/gpu/drm/scheduler/sched_entity.o
  CC      fs/ext4/xattr_trusted.o
  CC      kernel/sys.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC      mm/page_io.o
  CC      drivers/gpu/drm/drm_atomic.o
  CC      fs/utimes.o
  CC      kernel/umh.o
  CC      fs/ext4/xattr_user.o
  CC      drivers/acpi/acpica/rscalc.o
  CC      drivers/gpu/drm/i915/i915_pci.o
  CC      drivers/base/dd.o
  AR      drivers/base/power/built-in.a
  CC      drivers/gpu/drm/i915/i915_scatterlist.o
  CC      drivers/gpu/drm/i915/i915_suspend.o
  CC      fs/ext4/fast_commit.o
  CC      drivers/base/regmap/regcache-flat.o
  AR      drivers/nfc/built-in.a
  CC      net/mac80211/wme.o
  CC      mm/swap_state.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC      drivers/gpu/drm/i915/i915_switcheroo.o
  CC      net/ipv4/fib_frontend.o
  CC      drivers/gpu/drm/drm_atomic_uapi.o
  CC      kernel/workqueue.o
  CC      lib/base64.o
  CC      drivers/gpu/drm/virtio/virtgpu_trace_points.o
  CC      lib/once.o
  CC      drivers/base/regmap/regcache-maple.o
  CC      arch/x86/kernel/tls.o
  CC      fs/ext4/orphan.o
  CC      net/ipv6/xfrm6_protocol.o
  CC      drivers/acpi/acpica/rscreate.o
  CC      kernel/pid.o
  CC      fs/d_path.o
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.o
  CC      drivers/gpu/drm/i915/i915_sysfs.o
  CC      arch/x86/kernel/step.o
  CC      fs/ext4/acl.o
  CC      drivers/gpu/drm/i915/i915_utils.o
  CC      drivers/base/regmap/regmap-debugfs.o
  CC      fs/ext4/xattr_security.o
  CC      fs/stack.o
  CC      net/ipv4/fib_semantics.o
  CC      lib/refcount.o
  AR      drivers/dax/hmem/built-in.a
  CC      mm/swapfile.o
  AR      drivers/dax/built-in.a
  CC      mm/swap_slots.o
  CC      lib/rcuref.o
  CC      drivers/acpi/acpi_lpss.o
  CC      drivers/gpu/drm/i915/intel_clock_gating.o
  CC      drivers/acpi/acpica/rsdumpinfo.o
  CC      arch/x86/kernel/i8237.o
  CC      net/ipv4/fib_trie.o
  CC      lib/usercopy.o
  CC      lib/errseq.o
  CC      drivers/gpu/drm/i915/intel_device_info.o
  CC      kernel/task_work.o
  CC      net/ipv6/netfilter.o
  CC      drivers/gpu/drm/i915/intel_memory_region.o
  CC      lib/bucket_locks.o
  CC      drivers/base/syscore.o
  CC      drivers/gpu/drm/virtio/virtgpu_submit.o
  CC      arch/x86/kernel/stacktrace.o
  CC      arch/x86/kernel/reboot.o
  CC      drivers/acpi/acpica/rsinfo.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC      net/ipv6/proc.o
  CC      drivers/gpu/drm/i915/intel_pcode.o
  CC      drivers/gpu/drm/drm_auth.o
  CC      drivers/base/driver.o
  CC      drivers/dma-buf/dma-buf.o
  AR      drivers/base/regmap/built-in.a
  CC      drivers/gpu/drm/drm_blend.o
  CC      drivers/dma-buf/dma-fence.o
  CC      drivers/gpu/drm/drm_bridge.o
  CC      net/mac80211/chan.o
  CC      kernel/extable.o
  CC      net/mac80211/trace.o
  CC      net/mac80211/mlme.o
  AR      drivers/cxl/core/built-in.a
  AR      drivers/cxl/built-in.a
  CC      drivers/base/class.o
  CC      drivers/gpu/drm/i915/intel_region_ttm.o
  CC      lib/generic-radix-tree.o
  CC      drivers/gpu/drm/i915/intel_runtime_pm.o
  CC      drivers/macintosh/mac_hid.o
  CC      drivers/acpi/acpica/rsio.o
  CC      drivers/acpi/acpica/rsirq.o
  CC      fs/fs_struct.o
  CC      drivers/gpu/drm/drm_cache.o
  CC      kernel/params.o
  CC      net/mac80211/tdls.o
  CC      fs/nfs/nfs4idmap.o
  CC      fs/nfs/callback.o
  CC      net/mac80211/ocb.o
  CC      lib/bitmap-str.o
  CC      net/ipv4/fib_notifier.o
  CC      arch/x86/kernel/msr.o
  CC      net/mac80211/airtime.o
  CC      net/mac80211/eht.o
  CC      drivers/acpi/acpica/rslist.o
  CC      kernel/kthread.o
  CC      net/ipv6/syncookies.o
  CC      net/ipv4/inet_fragment.o
  AR      drivers/gpu/drm/virtio/built-in.a
  CC      mm/dmapool.o
  CC      net/ipv4/ping.o
  AR      drivers/macintosh/built-in.a
  CC      drivers/gpu/drm/i915/intel_sbi.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC      net/ipv4/ip_tunnel_core.o
  AR      drivers/scsi/pcmcia/built-in.a
  CC      drivers/scsi/scsi.o
  CC      drivers/gpu/drm/i915/intel_step.o
  AR      drivers/nvme/common/built-in.a
  CC      drivers/scsi/hosts.o
  AR      drivers/nvme/host/built-in.a
  AR      drivers/nvme/target/built-in.a
  CC      drivers/scsi/scsi_ioctl.o
  AR      drivers/nvme/built-in.a
  CC      drivers/base/platform.o
  CC      drivers/base/cpu.o
  CC      lib/string_helpers.o
  CC      drivers/base/firmware.o
  CC      lib/hexdump.o
  CC      drivers/acpi/acpica/rsmemory.o
  CC      drivers/gpu/drm/drm_client.o
  CC      drivers/acpi/acpi_apd.o
  CC      kernel/sys_ni.o
  CC      drivers/gpu/drm/i915/intel_uncore.o
  CC      drivers/base/init.o
  CC      net/ipv6/calipso.o
  CC      drivers/ata/libata-core.o
  CC      drivers/dma-buf/dma-fence-array.o
  CC      drivers/ata/libata-scsi.o
  CC      arch/x86/kernel/cpuid.o
  CC      net/ipv4/gre_offload.o
  CC      drivers/base/map.o
  CC      net/ipv4/metrics.o
  CC      drivers/acpi/acpica/rsmisc.o
  CC      lib/kstrtox.o
  CC      drivers/gpu/drm/drm_client_modeset.o
  CC      arch/x86/kernel/early-quirks.o
  AR      fs/ext4/built-in.a
  CC      fs/statfs.o
  CC      net/ipv4/netlink.o
  CC      arch/x86/kernel/smp.o
  CC      drivers/gpu/drm/i915/intel_wakeref.o
  CC      mm/hugetlb.o
  CC      drivers/scsi/scsicam.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC      drivers/gpu/drm/i915/vlv_sideband.o
  CC      kernel/nsproxy.o
  CC      drivers/dma-buf/dma-fence-chain.o
  CC      drivers/ata/libata-eh.o
  CC      net/ipv4/nexthop.o
  CC      drivers/acpi/acpi_platform.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  CC      net/ipv6/ah6.o
  CC      arch/x86/kernel/smpboot.o
  CC      fs/nfs/callback_xdr.o
  CC      drivers/base/devres.o
  CC      lib/iomap.o
  CC      drivers/acpi/acpi_pnp.o
  CC      drivers/acpi/acpica/rsserial.o
  CC      net/mac80211/led.o
  CC      net/ipv6/esp6.o
  CC      drivers/base/attribute_container.o
  CC      net/ipv4/udp_tunnel_stub.o
  CC      fs/nfs/callback_proc.o
  CC      net/mac80211/pm.o
  CC      drivers/scsi/scsi_error.o
  CC      arch/x86/kernel/tsc_sync.o
  CC      kernel/notifier.o
  CC      drivers/acpi/acpica/rsutils.o
  CC      drivers/scsi/scsi_lib.o
  CC      fs/fs_pin.o
  CC      drivers/gpu/drm/drm_color_mgmt.o
  CC      net/ipv4/ip_tunnel.o
  CC      kernel/ksysfs.o
  CC      drivers/dma-buf/dma-fence-unwrap.o
  CC      lib/iomap_copy.o
  CC      net/mac80211/rc80211_minstrel_ht.o
  AR      net/wireless/built-in.a
  CC      drivers/scsi/constants.o
  CC      mm/mmu_notifier.o
  CC      drivers/base/transport_class.o
  CC      drivers/ata/libata-transport.o
  CC      mm/migrate.o
  CC      drivers/acpi/power.o
  CC      net/ipv4/sysctl_net_ipv4.o
  CC      net/mac80211/wbrf.o
  CC      lib/devres.o
  CC      drivers/scsi/scsi_lib_dma.o
  CC      lib/check_signature.o
  CC      net/ipv6/sit.o
  CC      arch/x86/kernel/setup_percpu.o
  CC      drivers/acpi/acpica/rsxface.o
  CC      fs/nfs/nfs4namespace.o
  CC      drivers/acpi/event.o
  CC      mm/page_counter.o
  CC      lib/interval_tree.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC      lib/assoc_array.o
  CC      fs/nsfs.o
  CC      drivers/acpi/acpica/tbdata.o
  CC      drivers/scsi/scsi_scan.o
  CC      drivers/dma-buf/dma-resv.o
  CC      drivers/base/topology.o
  CC      kernel/cred.o
  CC      arch/x86/kernel/mpparse.o
  CC      lib/bitrev.o
  CC      lib/crc-ccitt.o
  CC      mm/hugetlb_cgroup.o
  CC      net/ipv6/addrconf_core.o
  CC      fs/fs_types.o
  CC      net/ipv4/proc.o
  CC      drivers/acpi/acpica/tbfadt.o
  CC      net/ipv6/exthdrs_core.o
  CC      net/ipv6/ip6_checksum.o
  CC      net/ipv6/ip6_icmp.o
  CC      drivers/acpi/acpica/tbfind.o
  CC      drivers/dma-buf/sync_file.o
  CC      mm/early_ioremap.o
  CC      fs/fs_context.o
  CC      drivers/gpu/drm/i915/vlv_suspend.o
  CC      drivers/acpi/acpica/tbinstal.o
  CC      net/ipv6/output_core.o
  CC      drivers/acpi/evged.o
  GEN     drivers/scsi/scsi_devinfo_tbl.c
  CC      lib/crc16.o
  HOSTCC  lib/gen_crc32table
  CC      drivers/gpu/drm/i915/soc/intel_dram.o
  CC      fs/nfs/nfs4getroot.o
  CC      drivers/base/container.o
  CC      drivers/ata/libata-trace.o
  CC      fs/nfs/nfs4client.o
  CC      drivers/ata/libata-sata.o
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC      lib/xxhash.o
  CC      drivers/ata/libata-sff.o
  CC      drivers/acpi/sysfs.o
  CC      net/ipv6/protocol.o
  CC      drivers/base/property.o
  CC      lib/genalloc.o
  CC      net/ipv4/fib_rules.o
  CC      net/ipv4/ipmr.o
  CC      drivers/acpi/acpica/tbprint.o
  CC      fs/nfs/nfs4session.o
  CC      drivers/acpi/acpica/tbutils.o
  CC      fs/fs_parser.o
  AR      drivers/dma-buf/built-in.a
  CC      arch/x86/kernel/trace_clock.o
  CC      drivers/acpi/property.o
  AR      drivers/net/phy/qcom/built-in.a
  CC      drivers/net/phy/mdio-boardinfo.o
  CC      drivers/base/cacheinfo.o
  CC      drivers/acpi/acpi_cmos_rtc.o
  CC      kernel/reboot.o
  AR      drivers/net/pse-pd/built-in.a
  CC      fs/nfs/dns_resolve.o
  CC      kernel/async.o
  CC      mm/secretmem.o
  CC      net/ipv4/ipmr_base.o
  CC      arch/x86/kernel/trace.o
  CC      mm/hmm.o
  CC      drivers/firewire/init_ohci1394_dma.o
  CC      mm/memfd.o
  CC      net/ipv6/ip6_offload.o
  CC      drivers/acpi/acpica/tbxface.o
  CC      drivers/scsi/scsi_devinfo.o
  CC      fs/nfs/nfs4trace.o
  CC      kernel/range.o
  CC      arch/x86/kernel/rethook.o
  CC      net/ipv6/tcpv6_offload.o
  CC      lib/percpu_counter.o
  CC      fs/fsopen.o
  CC      drivers/acpi/x86/apple.o
  CC      lib/audit.o
  CC      drivers/net/mdio/acpi_mdio.o
  CC      drivers/ata/libata-pmp.o
  CC      fs/init.o
  CC      lib/syscall.o
  CC      arch/x86/kernel/vmcore_info_32.o
  CC      kernel/smpboot.o
  CC      mm/ptdump.o
  CC      drivers/base/swnode.o
  CC      drivers/gpu/drm/drm_connector.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC      drivers/acpi/acpica/tbxfload.o
  CC      drivers/scsi/scsi_sysctl.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC      drivers/gpu/drm/i915/soc/intel_gmch.o
  CC      fs/kernel_read_file.o
  CC      drivers/base/auxiliary.o
  CC      drivers/gpu/drm/drm_crtc.o
  AR      drivers/firewire/built-in.a
  CC      net/ipv6/exthdrs_offload.o
  CC      drivers/net/phy/stubs.o
  CC      drivers/net/phy/mdio_devres.o
  CC      net/ipv4/syncookies.o
  CC      net/ipv4/tunnel4.o
  CC      fs/nfs/nfs4sysctl.o
  CC      net/ipv4/ipconfig.o
  CC      fs/mnt_idmapping.o
  CC      drivers/gpu/drm/drm_displayid.o
  CC      lib/errname.o
  CC      drivers/gpu/drm/drm_drv.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC      drivers/net/phy/phy.o
  CC      drivers/acpi/x86/utils.o
  CC      kernel/ucount.o
  CC      lib/nlattr.o
  CC      drivers/net/phy/phy-c45.o
  CC      net/ipv4/netfilter.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC      drivers/acpi/acpica/tbxfroot.o
  CC      arch/x86/kernel/machine_kexec_32.o
  CC      net/ipv4/tcp_cubic.o
  CC      drivers/scsi/scsi_proc.o
  CC      drivers/acpi/x86/s2idle.o
  CC      drivers/base/devtmpfs.o
  AR      mm/built-in.a
  CC      drivers/base/module.o
  CC      drivers/base/devcoredump.o
  CC      drivers/net/mdio/fwnode_mdio.o
  CC      fs/remap_range.o
  CC      drivers/ata/libata-acpi.o
  CC      net/ipv4/tcp_sigpool.o
  CC      drivers/scsi/scsi_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  CC      kernel/regset.o
  CC      drivers/gpu/drm/i915/soc/intel_pch.o
  CC      drivers/gpu/drm/drm_dumb_buffers.o
  CC      drivers/acpi/acpica/utaddress.o
  CC      kernel/ksyms_common.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC      net/ipv6/inet6_hashtables.o
  CC      drivers/gpu/drm/drm_edid.o
  CC      drivers/base/platform-msi.o
  AS      arch/x86/kernel/relocate_kernel_32.o
  CC      drivers/acpi/acpica/utalloc.o
  CC      drivers/acpi/acpica/utascii.o
  CC      drivers/base/physical_location.o
  CC      drivers/base/trace.o
  CC      drivers/ata/libata-pata-timings.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_proxy.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_submit.o
  CC      net/ipv6/mcast_snoop.o
  CC      drivers/gpu/drm/drm_eld.o
  CC      drivers/acpi/acpica/utbuffer.o
  CC      drivers/acpi/acpica/utcksum.o
  CC      drivers/acpi/debugfs.o
  CC      drivers/ata/ahci.o
  CC      net/ipv4/cipso_ipv4.o
  CC      arch/x86/kernel/crash_dump_32.o
  CC      drivers/acpi/acpica/utcopy.o
  CC      drivers/gpu/drm/drm_encoder.o
  CC      drivers/gpu/drm/i915/i915_memcpy.o
  CC      drivers/gpu/drm/i915/i915_mm.o
  CC      drivers/acpi/acpica/utexcep.o
  CC      drivers/scsi/scsi_trace.o
  CC      drivers/cdrom/cdrom.o
  AR      drivers/auxdisplay/built-in.a
  CC      drivers/pcmcia/cs.o
  CC      net/ipv4/xfrm4_policy.o
  CC      drivers/input/serio/serio.o
  CC      drivers/usb/common/common.o
  CC      drivers/usb/core/usb.o
  CC      drivers/input/serio/i8042.o
  CC      drivers/usb/core/hub.o
  CC      drivers/input/serio/serport.o
  CC      drivers/usb/core/hcd.o
  CC      drivers/input/serio/libps2.o
  CC      drivers/net/phy/phy-core.o
  CC      drivers/usb/core/urb.o
  CC      drivers/scsi/scsi_logging.o
  CC      drivers/usb/core/message.o
  CC      lib/cpu_rmap.o
  AR      drivers/net/mdio/built-in.a
  CC      drivers/usb/core/driver.o
  CC      kernel/groups.o
  CC      drivers/acpi/acpica/utdebug.o
  CC      net/ipv4/xfrm4_state.o
  CC      drivers/gpu/drm/i915/i915_sw_fence.o
  CC      drivers/net/phy/phy_device.o
  CC      drivers/usb/core/config.o
  CC      drivers/scsi/scsi_pm.o
  CC      drivers/ata/libahci.o
  CC      net/ipv4/xfrm4_input.o
  CC      drivers/acpi/acpica/utdecode.o
  CC      drivers/net/phy/linkmode.o
  CC      net/ipv4/xfrm4_output.o
  AR      drivers/base/built-in.a
  CC      arch/x86/kernel/crash.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC      drivers/pcmcia/socket_sysfs.o
  CC      net/ipv4/xfrm4_protocol.o
  CC      drivers/ata/ata_piix.o
  AR      drivers/usb/phy/built-in.a
  CC      kernel/kcmp.o
  CC      drivers/usb/mon/mon_main.o
  CC      drivers/usb/host/pci-quirks.o
  CC      drivers/usb/class/usblp.o
  CC      drivers/acpi/acpica/utdelete.o
  CC      lib/dynamic_queue_limits.o
  CC      drivers/usb/mon/mon_stat.o
  CC      drivers/usb/common/debug.o
  CC      drivers/usb/core/file.o
  CC      drivers/usb/mon/mon_text.o
  CC      drivers/pcmcia/cardbus.o
  CC      drivers/usb/storage/scsiglue.o
  AR      drivers/usb/misc/built-in.a
  CC      drivers/scsi/scsi_bsg.o
  AR      drivers/usb/common/built-in.a
  CC      drivers/gpu/drm/drm_file.o
  CC      fs/pidfs.o
  CC      drivers/gpu/drm/i915/i915_sw_fence_work.o
  CC      drivers/acpi/acpica/uterror.o
  CC      drivers/input/keyboard/atkbd.o
  AR      net/ipv6/built-in.a
  CC      drivers/input/mouse/psmouse-base.o
  AR      drivers/input/joystick/built-in.a
  CC      drivers/input/mouse/synaptics.o
  CC      drivers/usb/mon/mon_bin.o
  CC      kernel/freezer.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_ccs_mode.o
  CC      fs/buffer.o
  CC      drivers/ata/pata_amd.o
  CC      drivers/pcmcia/ds.o
  CC      drivers/usb/early/ehci-dbgp.o
  CC      drivers/scsi/scsi_common.o
  CC      drivers/usb/host/ehci-hcd.o
  CC      arch/x86/kernel/module.o
  CC      drivers/net/phy/mdio_bus.o
  CC      drivers/net/phy/mdio_device.o
  CC      drivers/gpu/drm/i915/i915_syncmap.o
  CC      drivers/acpi/acpica/uteval.o
  CC      arch/x86/kernel/doublefault_32.o
  AR      drivers/input/serio/built-in.a
  CC      drivers/rtc/lib.o
  CC      drivers/usb/core/buffer.o
  CC      kernel/profile.o
  CC      drivers/pcmcia/pcmcia_resource.o
  CC      drivers/usb/core/sysfs.o
  CC      drivers/usb/core/endpoint.o
  CC      drivers/pcmcia/cistpl.o
  CC      drivers/pcmcia/pcmcia_cis.o
  AR      drivers/usb/class/built-in.a
  CC      arch/x86/kernel/early_printk.o
  CC      drivers/usb/storage/protocol.o
  CC      drivers/usb/storage/transport.o
  CC      lib/glob.o
  CC      drivers/acpi/acpi_lpat.o
  CC      drivers/acpi/acpi_pcc.o
  AR      fs/nfs/built-in.a
  CC      lib/strncpy_from_user.o
  AR      net/ipv4/built-in.a
  CC      drivers/usb/core/devio.o
  CC      drivers/acpi/ac.o
  CC      fs/mpage.o
  CC      drivers/scsi/scsi_transport_spi.o
  CC      arch/x86/kernel/hpet.o
  CC      drivers/acpi/button.o
  CC      drivers/acpi/fan_core.o
  AR      drivers/cdrom/built-in.a
  CC      drivers/acpi/acpica/utglobal.o
  CC      arch/x86/kernel/amd_nb.o
  CC      drivers/usb/core/notify.o
  CC      drivers/gpu/drm/i915/i915_user_extensions.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC      drivers/gpu/drm/drm_fourcc.o
  CC      kernel/stacktrace.o
  CC      lib/strnlen_user.o
  CC      lib/net_utils.o
  CC      drivers/rtc/class.o
  AR      drivers/input/keyboard/built-in.a
  CC      arch/x86/kernel/kvm.o
  AR      drivers/input/tablet/built-in.a
  CC      drivers/usb/core/generic.o
  AR      drivers/input/touchscreen/built-in.a
  AR      drivers/input/misc/built-in.a
  CC      lib/sg_pool.o
  CC      drivers/rtc/interface.o
  CC      drivers/input/mouse/focaltech.o
  CC      kernel/dma.o
  AR      drivers/usb/early/built-in.a
  CC      drivers/ata/pata_oldpiix.o
  CC      drivers/acpi/acpica/uthex.o
  CC      drivers/ata/pata_sch.o
  AR      drivers/usb/mon/built-in.a
  CC      drivers/ata/pata_mpiix.o
  CC      drivers/input/mouse/alps.o
  CC      drivers/acpi/acpica/utids.o
  CC      kernel/smp.o
  CC      drivers/ata/ata_generic.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC      drivers/usb/host/ehci-pci.o
  CC      drivers/gpu/drm/i915/i915_debugfs.o
  CC      lib/stackdepot.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_freq.o
  CC      drivers/usb/host/ohci-hcd.o
  CC      kernel/uid16.o
  CC      drivers/input/mouse/byd.o
  CC      drivers/usb/core/quirks.o
  CC      drivers/usb/storage/usb.o
  CC      drivers/pcmcia/rsrc_mgr.o
  CC      drivers/i2c/algos/i2c-algo-bit.o
  CC      arch/x86/kernel/kvmclock.o
  CC      drivers/acpi/fan_attr.o
  CC      lib/asn1_decoder.o
  CC      drivers/acpi/acpica/utinit.o
  CC      drivers/acpi/acpica/utlock.o
  CC      drivers/i2c/busses/i2c-i801.o
  CC      fs/proc_namespace.o
  CC      drivers/gpu/drm/i915/i915_debugfs_params.o
  CC      drivers/acpi/acpica/utmath.o
  CC      drivers/net/phy/swphy.o
  CC      drivers/acpi/acpi_video.o
  CC      drivers/rtc/nvmem.o
  CC      fs/direct-io.o
  AR      drivers/i3c/built-in.a
  CC      drivers/acpi/video_detect.o
  CC      drivers/acpi/acpica/utmisc.o
  AR      net/mac80211/built-in.a
  CC      drivers/acpi/acpica/utmutex.o
  AR      drivers/media/i2c/built-in.a
  AR      net/built-in.a
  AR      drivers/media/tuners/built-in.a
  AR      drivers/pps/clients/built-in.a
  AR      drivers/pps/generators/built-in.a
  AR      drivers/media/rc/keymaps/built-in.a
  CC      drivers/pps/pps.o
  CC      drivers/acpi/acpica/utnonansi.o
  AR      drivers/media/rc/built-in.a
  CC      drivers/acpi/acpica/utobject.o
  CC      drivers/input/mouse/logips2pp.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      drivers/pps/kapi.o
  AR      drivers/media/common/v4l2-tpg/built-in.a
  CC      drivers/usb/core/devices.o
  AR      drivers/media/common/videobuf2/built-in.a
  AR      drivers/media/common/built-in.a
  AR      drivers/media/platform/allegro-dvt/built-in.a
  AR      drivers/media/platform/amlogic/meson-ge2d/built-in.a
  AR      drivers/media/platform/amlogic/built-in.a
  AR      drivers/media/platform/amphion/built-in.a
  AR      drivers/media/platform/aspeed/built-in.a
  AR      drivers/media/platform/atmel/built-in.a
  CC      drivers/acpi/acpica/utosi.o
  AR      drivers/media/platform/cadence/built-in.a
  CC      drivers/input/mouse/lifebook.o
  CC      drivers/acpi/acpica/utownerid.o
  AR      drivers/media/platform/chips-media/coda/built-in.a
  CC      drivers/usb/storage/initializers.o
  AR      drivers/media/platform/chips-media/wave5/built-in.a
  CC      kernel/kallsyms.o
  AR      drivers/media/platform/chips-media/built-in.a
  CC      drivers/usb/host/ohci-pci.o
  CC      drivers/acpi/acpica/utpredef.o
  AR      drivers/media/platform/intel/built-in.a
  CC      drivers/acpi/acpica/utresdecode.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle.o
  CC      drivers/acpi/acpica/utresrc.o
  AR      drivers/media/platform/marvell/built-in.a
  AR      drivers/media/pci/ttpci/built-in.a
  AR      drivers/media/pci/b2c2/built-in.a
  CC      drivers/pcmcia/rsrc_nonstatic.o
  CC      drivers/acpi/acpica/utstate.o
  GEN     lib/oid_registry_data.c
  CC      drivers/acpi/acpica/utstring.o
  AR      drivers/media/platform/mediatek/jpeg/built-in.a
  AR      drivers/media/pci/pluto2/built-in.a
  CC      lib/ucs2_string.o
  CC      drivers/pcmcia/yenta_socket.o
  AR      drivers/ata/built-in.a
  AR      drivers/media/pci/dm1105/built-in.a
  AR      drivers/media/platform/mediatek/mdp/built-in.a
  CC      drivers/input/mouse/trackpoint.o
  AR      drivers/media/pci/pt1/built-in.a
  AR      drivers/media/pci/pt3/built-in.a
  CC      drivers/input/mouse/cypress_ps2.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/pci/mantis/built-in.a
  CC      drivers/pps/sysfs.o
  AR      drivers/media/platform/mediatek/vcodec/built-in.a
  AR      drivers/media/platform/microchip/built-in.a
  AR      drivers/media/pci/ngene/built-in.a
  CC      drivers/acpi/acpica/utstrsuppt.o
  AR      drivers/media/pci/ddbridge/built-in.a
  AR      drivers/media/pci/saa7146/built-in.a
  AR      drivers/media/platform/mediatek/vpu/built-in.a
  CC      drivers/usb/core/phy.o
  AR      drivers/media/pci/smipcie/built-in.a
  AR      drivers/media/platform/mediatek/mdp3/built-in.a
  AR      drivers/media/platform/mediatek/built-in.a
  CC      kernel/acct.o
  AR      drivers/media/pci/netup_unidvb/built-in.a
  CC      kernel/vmcore_info.o
  CC      drivers/scsi/virtio_scsi.o
  AR      drivers/media/pci/intel/ipu3/built-in.a
  AR      drivers/media/platform/nuvoton/built-in.a
  AR      drivers/media/pci/intel/ivsc/built-in.a
  AR      drivers/media/pci/intel/built-in.a
  AR      drivers/i2c/muxes/built-in.a
  AR      drivers/media/platform/nvidia/tegra-vde/built-in.a
  AR      drivers/media/pci/built-in.a
  CC      drivers/gpu/drm/drm_framebuffer.o
  AR      drivers/media/platform/nvidia/built-in.a
  CC      arch/x86/kernel/paravirt.o
  CC      arch/x86/kernel/pvclock.o
  AR      drivers/media/platform/nxp/dw100/built-in.a
  AR      drivers/media/platform/nxp/imx-jpeg/built-in.a
  CC      drivers/usb/core/port.o
  AR      drivers/media/platform/nxp/imx8-isi/built-in.a
  CC      arch/x86/kernel/pcspeaker.o
  AR      drivers/media/platform/nxp/built-in.a
  CC      drivers/ptp/ptp_clock.o
  AR      drivers/i2c/algos/built-in.a
  CC      drivers/ptp/ptp_chardev.o
  AR      drivers/media/platform/qcom/camss/built-in.a
  CC      kernel/elfcorehdr.o
  AR      drivers/media/platform/qcom/venus/built-in.a
  AR      drivers/media/platform/renesas/rcar-vin/built-in.a
  CC      drivers/hwmon/hwmon.o
  AR      drivers/media/platform/qcom/built-in.a
  CC      drivers/power/supply/power_supply_core.o
  AR      drivers/watchdog/built-in.a
  AR      drivers/media/platform/renesas/rzg2l-cru/built-in.a
  AR      drivers/thermal/broadcom/built-in.a
  CC      drivers/acpi/processor_driver.o
  CC      drivers/power/supply/power_supply_sysfs.o
  CC      drivers/rtc/dev.o
  CC      drivers/ptp/ptp_sysfs.o
  CC      fs/eventpoll.o
  CC      drivers/md/md.o
  AR      drivers/thermal/samsung/built-in.a
  AR      drivers/media/platform/renesas/vsp1/built-in.a
  CC      fs/anon_inodes.o
  AR      drivers/media/platform/renesas/built-in.a
  CC      drivers/thermal/intel/intel_tcc.o
  CC      lib/sbitmap.o
  CC      drivers/net/phy/fixed_phy.o
  AR      drivers/media/platform/rockchip/rga/built-in.a
  CC      fs/signalfd.o
  AR      drivers/media/platform/rockchip/rkisp1/built-in.a
  AR      drivers/media/platform/rockchip/built-in.a
  AR      drivers/pps/built-in.a
  CC      drivers/input/mouse/psmouse-smbus.o
  CC      drivers/acpi/acpica/utstrtoul64.o
  AR      drivers/thermal/st/built-in.a
  CC      drivers/md/md-bitmap.o
  CC      drivers/gpu/drm/i915/i915_pmu.o
  AR      drivers/media/platform/samsung/exynos-gsc/built-in.a
  CC      drivers/rtc/proc.o
  CC      drivers/md/md-autodetect.o
  AR      drivers/media/platform/samsung/exynos4-is/built-in.a
  AR      drivers/media/platform/samsung/s3c-camif/built-in.a
  CC      drivers/i2c/i2c-boardinfo.o
  AR      drivers/media/platform/samsung/s5p-g2d/built-in.a
  AR      drivers/media/platform/samsung/s5p-jpeg/built-in.a
  CC      drivers/gpu/drm/i915/gt/gen2_engine_cs.o
  CC      drivers/net/phy/realtek.o
  AR      drivers/media/platform/samsung/s5p-mfc/built-in.a
  CC      drivers/thermal/intel/therm_throt.o
  AR      drivers/media/platform/samsung/built-in.a
  CC      drivers/usb/storage/sierra_ms.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  AR      drivers/media/platform/st/sti/bdisp/built-in.a
  CC      drivers/rtc/sysfs.o
  CC      drivers/gpu/drm/i915/gt/gen6_engine_cs.o
  AR      drivers/media/platform/st/sti/c8sectpfe/built-in.a
  AR      drivers/media/platform/st/sti/hva/built-in.a
  AR      drivers/media/platform/st/sti/delta/built-in.a
  AR      drivers/i2c/busses/built-in.a
  CC      drivers/usb/host/uhci-hcd.o
  AR      drivers/media/platform/st/stm32/built-in.a
  AR      drivers/media/platform/st/built-in.a
  AR      drivers/media/platform/sunxi/sun4i-csi/built-in.a
  AR      drivers/media/platform/ti/am437x/built-in.a
  CC      drivers/i2c/i2c-core-base.o
  AR      drivers/media/platform/sunxi/sun6i-csi/built-in.a
  AR      drivers/media/platform/ti/cal/built-in.a
  CC      drivers/i2c/i2c-core-smbus.o
  AR      drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
  AR      drivers/media/platform/ti/vpe/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
  AR      drivers/media/platform/ti/davinci/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-di/built-in.a
  AR      drivers/net/pcs/built-in.a
  AR      drivers/media/platform/verisilicon/built-in.a
  AR      drivers/media/platform/ti/j721e-csi2rx/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-rotate/built-in.a
  CC      drivers/i2c/i2c-core-acpi.o
  CC      drivers/acpi/acpica/utxface.o
  AR      drivers/media/platform/ti/omap/built-in.a
  AR      drivers/media/platform/sunxi/built-in.a
  CC      drivers/usb/storage/option_ms.o
  AR      drivers/media/platform/ti/omap3isp/built-in.a
  CC      drivers/usb/storage/usual-tables.o
  AR      drivers/media/platform/ti/built-in.a
  CC      drivers/usb/core/hcd-pci.o
  CC      kernel/crash_reserve.o
  CC      kernel/kexec_core.o
  AR      drivers/media/platform/via/built-in.a
  CC      arch/x86/kernel/check.o
  AR      drivers/media/platform/xilinx/built-in.a
  CC      arch/x86/kernel/uprobes.o
  CC      drivers/i2c/i2c-smbus.o
  CC      drivers/acpi/processor_thermal.o
  AR      drivers/media/platform/built-in.a
  AR      drivers/net/ethernet/3com/built-in.a
  CC      drivers/net/ethernet/8390/ne2k-pci.o
  CC      drivers/usb/host/xhci.o
  AR      drivers/media/usb/b2c2/built-in.a
  AR      drivers/media/usb/dvb-usb/built-in.a
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.o
  AR      drivers/media/usb/dvb-usb-v2/built-in.a
  AR      drivers/media/usb/s2255/built-in.a
  CC      arch/x86/kernel/perf_regs.o
  AR      drivers/media/usb/siano/built-in.a
  AR      drivers/media/usb/ttusb-budget/built-in.a
  CC      drivers/acpi/acpica/utxfinit.o
  AR      drivers/net/ethernet/adaptec/built-in.a
  AR      drivers/media/usb/ttusb-dec/built-in.a
  CC      fs/timerfd.o
  AR      drivers/media/usb/built-in.a
  CC      drivers/power/supply/power_supply_leds.o
  CC      drivers/scsi/sd.o
  AR      drivers/media/mmc/siano/built-in.a
  CC      drivers/power/supply/power_supply_hwmon.o
  CC      fs/eventfd.o
  AR      drivers/media/mmc/built-in.a
  CC      fs/aio.o
  AR      drivers/media/firewire/built-in.a
  AR      drivers/pcmcia/built-in.a
  CC      drivers/rtc/rtc-mc146818-lib.o
  CC      drivers/rtc/rtc-cmos.o
  AR      drivers/media/spi/built-in.a
  CC      lib/group_cpus.o
  CC      drivers/net/ethernet/8390/8390.o
  AR      drivers/input/mouse/built-in.a
  AR      drivers/media/test-drivers/built-in.a
  CC      lib/fw_table.o
  AR      drivers/media/built-in.a
  CC      drivers/cpufreq/cpufreq.o
  CC      drivers/input/input.o
  CC      drivers/acpi/acpica/utxferror.o
  CC      drivers/ptp/ptp_vclock.o
  AR      lib/lib.a
  CC      drivers/acpi/acpica/utxfmutex.o
  GEN     lib/crc32table.h
  CC      drivers/input/input-compat.o
  CC      drivers/gpu/drm/drm_gem.o
  CC      drivers/gpu/drm/drm_ioctl.o
  CC      drivers/gpu/drm/drm_lease.o
  AR      drivers/hwmon/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  AR      drivers/net/wireless/admtek/built-in.a
  AR      drivers/net/usb/built-in.a
  AR      drivers/net/wireless/ath/built-in.a
  CC      drivers/cpufreq/freq_table.o
  CC      drivers/cpufreq/cpufreq_performance.o
  AR      drivers/net/wireless/atmel/built-in.a
  AR      drivers/net/wireless/broadcom/built-in.a
  AR      drivers/thermal/qcom/built-in.a
  AR      drivers/net/wireless/intel/built-in.a
  AR      drivers/thermal/tegra/built-in.a
  AR      drivers/net/wireless/intersil/built-in.a
  AR      drivers/net/wireless/marvell/built-in.a
  CC      drivers/cpufreq/cpufreq_userspace.o
  CC      arch/x86/kernel/tracepoint.o
  CC      arch/x86/kernel/itmt.o
  CC      drivers/cpufreq/cpufreq_ondemand.o
  AR      drivers/net/phy/built-in.a
  AR      drivers/net/wireless/mediatek/built-in.a
  AR      drivers/usb/storage/built-in.a
  CC      arch/x86/kernel/umip.o
  CC      drivers/net/mii.o
  AR      drivers/net/wireless/microchip/built-in.a
  CC      drivers/net/loopback.o
  CC      drivers/net/netconsole.o
  AR      drivers/net/wireless/purelifi/built-in.a
  CC      drivers/gpu/drm/drm_managed.o
  AR      drivers/net/wireless/quantenna/built-in.a
  CC      drivers/gpu/drm/drm_mm.o
  AR      drivers/power/supply/built-in.a
  AR      drivers/net/wireless/ralink/built-in.a
  AR      drivers/power/built-in.a
  CC      drivers/cpufreq/cpufreq_governor.o
  AR      drivers/acpi/acpica/built-in.a
  CC      drivers/gpu/drm/drm_mode_config.o
  CC      drivers/cpufreq/cpufreq_governor_attr_set.o
  AR      drivers/net/wireless/realtek/built-in.a
  CC      drivers/usb/core/usb-acpi.o
  AR      drivers/net/wireless/rsi/built-in.a
  CC      drivers/acpi/processor_idle.o
  AR      drivers/net/wireless/silabs/built-in.a
  AR      drivers/net/wireless/st/built-in.a
  AR      drivers/thermal/intel/built-in.a
  CC      lib/oid_registry.o
  AR      drivers/net/wireless/ti/built-in.a
  CC      drivers/gpu/drm/drm_mode_object.o
  CC      drivers/net/virtio_net.o
  AR      drivers/thermal/mediatek/built-in.a
  AR      drivers/net/wireless/zydas/built-in.a
  CC      drivers/thermal/thermal_core.o
  AR      drivers/net/wireless/virtual/built-in.a
  AR      drivers/net/wireless/built-in.a
  CC      drivers/cpuidle/governors/menu.o
  CC      drivers/gpu/drm/i915/gt/gen6_ppgtt.o
  CC      drivers/net/net_failover.o
  CC      kernel/crash_core.o
  AR      drivers/mmc/built-in.a
  CC      drivers/scsi/sr.o
  CC      drivers/cpuidle/cpuidle.o
  CC      drivers/gpu/drm/i915/gt/gen7_renderclear.o
  CC      drivers/md/dm.o
  CC      fs/locks.o
  AR      drivers/net/ethernet/agere/built-in.a
  CC      drivers/cpufreq/acpi-cpufreq.o
  AR      drivers/net/ethernet/alacritech/built-in.a
  CC      fs/binfmt_misc.o
  CC      drivers/ptp/ptp_kvm_x86.o
  CC      drivers/ptp/ptp_kvm_common.o
  CC      kernel/kexec.o
  CC      arch/x86/kernel/unwind_frame.o
  CC      drivers/cpuidle/governors/haltpoll.o
  CC      lib/crc32.o
  CC      fs/binfmt_script.o
  CC      drivers/scsi/sr_ioctl.o
  AR      drivers/rtc/built-in.a
  AR      drivers/ufs/built-in.a
  CC      drivers/md/dm-table.o
  AR      drivers/leds/trigger/built-in.a
  CC      drivers/gpu/drm/drm_modes.o
  AR      drivers/net/ethernet/8390/built-in.a
  AR      drivers/leds/blink/built-in.a
  CC      drivers/scsi/sr_vendor.o
  CC      drivers/scsi/sg.o
  AR      drivers/leds/simple/built-in.a
  AR      drivers/net/ethernet/alteon/built-in.a
  CC      drivers/input/input-mt.o
  CC      drivers/leds/led-core.o
  AR      drivers/net/ethernet/amazon/built-in.a
  CC      drivers/input/input-poller.o
  AR      drivers/net/ethernet/amd/built-in.a
  CC      drivers/leds/led-class.o
  AR      drivers/net/ethernet/aquantia/built-in.a
  CC      drivers/leds/led-triggers.o
  AR      drivers/net/ethernet/arc/built-in.a
  AR      drivers/usb/core/built-in.a
  AR      drivers/net/ethernet/asix/built-in.a
  CC      drivers/usb/host/xhci-mem.o
  AR      drivers/net/ethernet/atheros/built-in.a
  AR      drivers/net/ethernet/cadence/built-in.a
  CC      drivers/net/ethernet/broadcom/bnx2.o
  AR      drivers/i2c/built-in.a
  AR      drivers/firmware/arm_ffa/built-in.a
  AR      drivers/firmware/arm_scmi/built-in.a
  AR      drivers/crypto/stm32/built-in.a
  CC      drivers/clocksource/acpi_pm.o
  AR      drivers/firmware/broadcom/built-in.a
  CC      drivers/gpu/drm/drm_modeset_lock.o
  CC      drivers/mailbox/mailbox.o
  AR      drivers/firmware/cirrus/built-in.a
  AR      drivers/crypto/xilinx/built-in.a
  CC      drivers/hid/usbhid/hid-core.o
  AR      drivers/platform/x86/amd/built-in.a
  AR      drivers/firmware/meson/built-in.a
  AR      drivers/crypto/hisilicon/built-in.a
  AR      drivers/platform/x86/intel/built-in.a
  AR      drivers/firmware/microchip/built-in.a
  CC      drivers/platform/x86/wmi.o
  AR      drivers/crypto/intel/keembay/built-in.a
  CC      drivers/platform/x86/wmi-bmof.o
  AR      drivers/crypto/intel/ixp4xx/built-in.a
  AR      drivers/crypto/starfive/built-in.a
  AR      drivers/crypto/intel/built-in.a
  CC      drivers/firmware/efi/efi-bgrt.o
  AR      drivers/crypto/built-in.a
  CC      drivers/md/dm-target.o
  AR      lib/built-in.a
  CC      drivers/cpufreq/amd-pstate.o
  CC      drivers/input/ff-core.o
  CC      drivers/input/touchscreen.o
  CC      drivers/firmware/efi/efi.o
  AR      drivers/ptp/built-in.a
  AR      arch/x86/kernel/built-in.a
  CC      drivers/firmware/efi/libstub/efi-stub-helper.o
  CC      drivers/platform/x86/eeepc-laptop.o
  CC      drivers/cpuidle/driver.o
  AR      arch/x86/built-in.a
  CC      drivers/firmware/efi/libstub/gop.o
  CC      drivers/md/dm-linear.o
  CC      kernel/utsname.o
  CC      drivers/acpi/processor_throttling.o
  CC      fs/binfmt_elf.o
  CC      drivers/cpufreq/amd-pstate-trace.o
  CC      drivers/cpuidle/governor.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC      drivers/cpufreq/intel_pstate.o
  CC      drivers/hid/usbhid/hiddev.o
  CC      drivers/clocksource/i8253.o
  CC      drivers/gpu/drm/drm_plane.o
  CC      drivers/hid/usbhid/hid-pidff.o
  CC      drivers/cpuidle/sysfs.o
  AR      drivers/leds/built-in.a
  CC      drivers/hid/hid-core.o
  CC      drivers/acpi/processor_perflib.o
  CC      drivers/scsi/scsi_sysfs.o
  AR      drivers/cpuidle/governors/built-in.a
  CC      drivers/mailbox/pcc.o
  CC      drivers/gpu/drm/i915/gt/gen8_engine_cs.o
  CC      drivers/net/ethernet/broadcom/tg3.o
  CC      drivers/thermal/thermal_sysfs.o
  CC      drivers/platform/x86/p2sb.o
  CC      drivers/cpuidle/poll_state.o
  CC      drivers/hid/hid-input.o
  CC      drivers/cpuidle/cpuidle-haltpoll.o
  CC      drivers/acpi/container.o
  CC      kernel/pid_namespace.o
  CC      drivers/acpi/thermal_lib.o
  CC      drivers/firmware/efi/vars.o
  CC      drivers/acpi/thermal.o
  AR      drivers/platform/surface/built-in.a
  CC      drivers/acpi/acpi_memhotplug.o
  CC      drivers/input/ff-memless.o
  CC      drivers/thermal/thermal_trip.o
  AR      drivers/clocksource/built-in.a
  AR      drivers/perf/built-in.a
  AR      drivers/hwtracing/intel_th/built-in.a
  AR      drivers/android/built-in.a
  AR      drivers/nvmem/layouts/built-in.a
  CC      drivers/thermal/thermal_helpers.o
  CC      drivers/nvmem/core.o
  CC      drivers/md/dm-stripe.o
  CC      drivers/firmware/efi/reboot.o
  CC      drivers/firmware/efi/libstub/secureboot.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.o
  CC      drivers/usb/host/xhci-ext-caps.o
  CC      drivers/firmware/efi/libstub/tpm.o
  AR      drivers/net/ethernet/brocade/built-in.a
  CC      fs/mbcache.o
  AR      drivers/cpuidle/built-in.a
  CC      drivers/acpi/ioapic.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC      drivers/gpu/drm/drm_prime.o
  CC      drivers/gpu/drm/drm_print.o
  AR      drivers/mailbox/built-in.a
  CC      drivers/gpu/drm/drm_property.o
  CC      drivers/gpu/drm/i915/gt/gen8_ppgtt.o
  CC      drivers/acpi/battery.o
  CC      drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
  CC      drivers/thermal/thermal_hwmon.o
  CC      drivers/gpu/drm/i915/gt/intel_context.o
  AR      drivers/platform/x86/built-in.a
  CC      drivers/thermal/gov_step_wise.o
  CC      drivers/firmware/efi/memattr.o
  AR      drivers/platform/built-in.a
  CC      drivers/firmware/efi/tpm.o
  CC      drivers/thermal/gov_user_space.o
  CC      fs/posix_acl.o
  CC      drivers/usb/host/xhci-ring.o
  CC      drivers/gpu/drm/drm_syncobj.o
  CC      drivers/acpi/bgrt.o
  AR      drivers/net/ethernet/cavium/common/built-in.a
  CC      drivers/acpi/spcr.o
  CC      drivers/firmware/efi/memmap.o
  AR      drivers/net/ethernet/cavium/thunder/built-in.a
  AR      drivers/net/ethernet/chelsio/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/cisco/built-in.a
  AR      drivers/net/ethernet/cavium/built-in.a
  CC      fs/coredump.o
  AR      drivers/net/ethernet/cortina/built-in.a
  CC      fs/drop_caches.o
  CC      fs/sysctls.o
  CC      fs/fhandle.o
  AR      drivers/hid/usbhid/built-in.a
  CC      drivers/input/sparse-keymap.o
  CC      drivers/firmware/efi/capsule.o
  CC      drivers/gpu/drm/drm_sysfs.o
  CC      kernel/stop_machine.o
  CC      drivers/gpu/drm/i915/gt/intel_context_sseu.o
  CC      drivers/gpu/drm/drm_trace_points.o
  CC      drivers/md/dm-ioctl.o
  AR      drivers/net/ethernet/dec/tulip/built-in.a
  AR      drivers/net/ethernet/dec/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  CC      kernel/audit.o
  CC      kernel/auditfilter.o
  CC      kernel/auditsc.o
  CC      drivers/usb/host/xhci-hub.o
  AR      drivers/thermal/built-in.a
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  AR      drivers/net/ethernet/dlink/built-in.a
  CC      drivers/input/vivaldi-fmap.o
  AR      drivers/scsi/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_engine_cs.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
  CC      drivers/hid/hid-quirks.o
  CC      drivers/gpu/drm/drm_vblank.o
  CC      drivers/input/input-leds.o
  CC      drivers/input/evdev.o
  CC      drivers/firmware/efi/libstub/file.o
  CC      drivers/firmware/efi/esrt.o
  CC      drivers/firmware/efi/libstub/mem.o
  CC      drivers/usb/host/xhci-dbg.o
  CC      drivers/firmware/efi/runtime-wrappers.o
  AR      drivers/nvmem/built-in.a
  CC      drivers/gpu/drm/drm_vblank_work.o
  CC      drivers/firmware/efi/capsule-loader.o
  AR      drivers/net/ethernet/emulex/built-in.a
  AR      drivers/net/ethernet/engleder/built-in.a
  CC      drivers/firmware/efi/earlycon.o
  CC      drivers/gpu/drm/drm_vma_manager.o
  CC      drivers/gpu/drm/drm_writeback.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_db_mgr.o
  CC      drivers/hid/hid-debug.o
  CC      drivers/usb/host/xhci-trace.o
  CC      drivers/usb/host/xhci-debugfs.o
  AR      drivers/acpi/built-in.a
  CC      drivers/usb/host/xhci-pci.o
  CC      drivers/md/dm-io.o
  CC      drivers/hid/hidraw.o
  AR      drivers/cpufreq/built-in.a
  CC      drivers/md/dm-kcopyd.o
  CC      drivers/md/dm-sysfs.o
  AR      drivers/firmware/imx/built-in.a
  CC      kernel/audit_watch.o
  AR      drivers/firmware/psci/built-in.a
  CC      drivers/gpu/drm/drm_panel.o
  AR      drivers/firmware/qcom/built-in.a
  AR      drivers/firmware/smccc/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC      drivers/firmware/efi/libstub/random.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_id_mgr.o
  CC      drivers/gpu/drm/drm_pci.o
  AR      drivers/net/ethernet/ezchip/built-in.a
  AR      drivers/net/ethernet/fujitsu/built-in.a
  CC      drivers/gpu/drm/drm_debugfs.o
  AR      drivers/net/ethernet/fungible/built-in.a
  CC      kernel/audit_fsnotify.o
  AR      drivers/net/ethernet/google/built-in.a
  CC      kernel/audit_tree.o
  CC      drivers/firmware/efi/libstub/randomalloc.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_klv_helpers.o
  CC      drivers/gpu/drm/drm_debugfs_crc.o
  CC      drivers/hid/hid-generic.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_user.o
  CC      drivers/hid/hid-a4tech.o
  CC      drivers/gpu/drm/drm_panel_orientation_quirks.o
  CC      kernel/kprobes.o
  CC      drivers/gpu/drm/i915/gt/intel_execlists_submission.o
  CC      drivers/md/dm-stats.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC      drivers/gpu/drm/drm_buddy.o
  AR      drivers/input/built-in.a
  AR      drivers/firmware/tegra/built-in.a
  CC      drivers/firmware/efi/libstub/pci.o
  AR      drivers/firmware/xilinx/built-in.a
  CC      drivers/firmware/dmi_scan.o
  AR      fs/built-in.a
  CC      drivers/firmware/dmi-id.o
  CC      drivers/md/dm-rq.o
  CC      drivers/hid/hid-apple.o
  CC      drivers/hid/hid-belkin.o
  CC      kernel/seccomp.o
  AR      drivers/net/ethernet/huawei/built-in.a
  CC      drivers/gpu/drm/drm_gem_shmem_helper.o
  CC      kernel/relay.o
  CC      drivers/firmware/memmap.o
  AR      drivers/net/ethernet/i825xx/built-in.a
  CC      drivers/net/ethernet/intel/e1000/e1000_main.o
  AR      drivers/net/ethernet/microsoft/built-in.a
  AR      drivers/net/ethernet/litex/built-in.a
  CC      drivers/hid/hid-cherry.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
  CC      drivers/net/ethernet/intel/e1000/e1000_hw.o
  AR      drivers/net/ethernet/marvell/octeon_ep/built-in.a
  AR      drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
  CC      drivers/net/ethernet/intel/e1000/e1000_ethtool.o
  AR      drivers/net/ethernet/marvell/octeontx2/built-in.a
  AR      drivers/net/ethernet/mellanox/built-in.a
  AR      drivers/net/ethernet/marvell/prestera/built-in.a
  CC      drivers/firmware/efi/libstub/skip_spaces.o
  CC      drivers/net/ethernet/marvell/sky2.o
  CC      drivers/gpu/drm/drm_atomic_helper.o
  CC      drivers/net/ethernet/intel/e1000/e1000_param.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC      drivers/hid/hid-chicony.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC      kernel/utsname_sysctl.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC      drivers/gpu/drm/drm_atomic_state_helper.o
  CC      drivers/md/dm-io-rewind.o
  CC      kernel/delayacct.o
  CC      drivers/gpu/drm/drm_bridge_connector.o
  CC      drivers/firmware/efi/libstub/lib-cmdline.o
  CC      drivers/gpu/drm/drm_crtc_helper.o
  CC      drivers/gpu/drm/drm_damage_helper.o
  AR      drivers/net/ethernet/micrel/built-in.a
  AR      drivers/net/ethernet/microchip/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC      kernel/taskstats.o
  CC      drivers/md/dm-builtin.o
  CC      drivers/firmware/efi/libstub/lib-ctype.o
  CC      drivers/md/dm-raid1.o
  CC      drivers/firmware/efi/libstub/alignedmem.o
  CC      kernel/tsacct.o
  CC      kernel/tracepoint.o
  CC      drivers/gpu/drm/i915/gt/intel_gt.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
  CC      drivers/hid/hid-cypress.o
  CC      kernel/irq_work.o
  AR      drivers/net/ethernet/mscc/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
  AR      drivers/net/ethernet/myricom/built-in.a
  AR      drivers/net/ethernet/natsemi/built-in.a
  CC      drivers/md/dm-log.o
  CC      drivers/net/ethernet/intel/e1000e/82571.o
  CC      drivers/hid/hid-ezkey.o
  CC      drivers/hid/hid-gyration.o
  CC      drivers/net/ethernet/intel/e1000e/ich8lan.o
  CC      drivers/gpu/drm/drm_encoder_slave.o
  CC      drivers/net/ethernet/intel/e100.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC      kernel/static_call.o
  CC      drivers/gpu/drm/drm_flip_work.o
  CC      drivers/md/dm-region-hash.o
  CC      drivers/gpu/drm/drm_format_helper.o
  AR      drivers/net/ethernet/neterion/built-in.a
  CC      drivers/net/ethernet/intel/e1000e/80003es2lan.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC      drivers/gpu/drm/drm_gem_atomic_helper.o
  CC      kernel/padata.o
  CC      drivers/md/dm-zero.o
  CC      kernel/jump_label.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
  CC      drivers/firmware/efi/libstub/relocate.o
  CC      drivers/firmware/efi/libstub/printk.o
  AR      drivers/usb/host/built-in.a
  AR      drivers/usb/built-in.a
  CC      drivers/firmware/efi/libstub/vsprintf.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC      drivers/gpu/drm/drm_gem_framebuffer_helper.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
  CC      kernel/context_tracking.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC      drivers/hid/hid-ite.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_irq.o
  CC      drivers/firmware/efi/libstub/x86-stub.o
  CC      drivers/gpu/drm/drm_kms_helper_common.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC      drivers/hid/hid-kensington.o
  CC      drivers/hid/hid-lg.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_mcr.o
  CC      drivers/net/ethernet/intel/e1000e/mac.o
  STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
  CC      kernel/iomem.o
  CC      drivers/net/ethernet/intel/e1000e/manage.o
  CC      drivers/gpu/drm/drm_modeset_helper.o
  CC      drivers/gpu/drm/drm_plane_helper.o
  AR      drivers/firmware/efi/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm.o
  CC      kernel/rseq.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
  AR      drivers/net/ethernet/netronome/built-in.a
  AR      drivers/net/ethernet/ni/built-in.a
  CC      drivers/net/ethernet/nvidia/forcedeth.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
  CC      drivers/gpu/drm/drm_probe_helper.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      drivers/gpu/drm/drm_rect.o
  CC      drivers/hid/hid-lgff.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_requests.o
  CC      drivers/hid/hid-lg4ff.o
  AR      drivers/md/built-in.a
  CC      drivers/hid/hid-lg-g15.o
  CC      drivers/gpu/drm/drm_self_refresh_helper.o
  STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
  CC      drivers/net/ethernet/intel/e1000e/nvm.o
  CC      drivers/net/ethernet/intel/e1000e/phy.o
  STUBCPY drivers/firmware/efi/libstub/file.stub.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
  STUBCPY drivers/firmware/efi/libstub/gop.stub.o
  AR      drivers/net/ethernet/oki-semi/built-in.a
  AR      drivers/net/ethernet/packetengines/built-in.a
  AR      drivers/net/ethernet/qlogic/built-in.a
  AR      drivers/net/ethernet/qualcomm/emac/built-in.a
  AR      drivers/net/ethernet/qualcomm/built-in.a
  CC      drivers/net/ethernet/realtek/8139too.o
  CC      drivers/net/ethernet/realtek/r8169_main.o
  AR      drivers/net/ethernet/renesas/built-in.a
  CC      drivers/hid/hid-microsoft.o
  AR      drivers/net/ethernet/rdc/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
  CC      drivers/net/ethernet/intel/e1000e/param.o
  AR      drivers/net/ethernet/rocker/built-in.a
  AR      drivers/net/ethernet/samsung/built-in.a
  AR      drivers/net/ethernet/seeq/built-in.a
  CC      drivers/gpu/drm/drm_simple_kms_helper.o
  AR      drivers/net/ethernet/silan/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gtt.o
  STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
  AR      drivers/net/ethernet/sis/built-in.a
  STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
  AR      drivers/net/ethernet/sfc/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_llc.o
  AR      drivers/net/ethernet/smsc/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_lrc.o
  STUBCPY drivers/firmware/efi/libstub/mem.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC      drivers/gpu/drm/i915/gt/intel_migrate.o
  STUBCPY drivers/firmware/efi/libstub/pci.stub.o
  AR      drivers/net/ethernet/socionext/built-in.a
  STUBCPY drivers/firmware/efi/libstub/printk.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC      drivers/gpu/drm/i915/gt/intel_mocs.o
  STUBCPY drivers/firmware/efi/libstub/random.stub.o
  STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
  CC      drivers/gpu/drm/bridge/panel.o
  CC      drivers/net/ethernet/intel/e1000e/ethtool.o
  CC      drivers/hid/hid-monterey.o
  STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
  STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
  STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
  STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
  STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
  AR      drivers/firmware/efi/libstub/lib.a
  AR      drivers/firmware/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC      drivers/gpu/drm/drm_mipi_dsi.o
  CC [M]  drivers/gpu/drm/drm_exec.o
  CC      drivers/hid/hid-ntrig.o
  CC      drivers/hid/hid-pl.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC      drivers/net/ethernet/intel/e1000e/netdev.o
  CC      drivers/gpu/drm/i915/gt/intel_ppgtt.o
  CC      drivers/net/ethernet/intel/e1000e/ptp.o
  AR      kernel/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_rc6.o
  AR      drivers/net/ethernet/stmicro/built-in.a
  CC [M]  drivers/gpu/drm/drm_gpuvm.o
  CC      drivers/gpu/drm/i915/gt/intel_region_lmem.o
  AR      drivers/net/ethernet/sun/built-in.a
  AR      drivers/net/ethernet/tehuti/built-in.a
  AR      drivers/net/ethernet/ti/built-in.a
  AR      drivers/net/ethernet/vertexcom/built-in.a
  AR      drivers/net/ethernet/via/built-in.a
  AR      drivers/net/ethernet/wangxun/built-in.a
  CC      drivers/hid/hid-petalynx.o
  CC [M]  drivers/gpu/drm/drm_suballoc.o
  AR      drivers/net/ethernet/wiznet/built-in.a
  AR      drivers/net/ethernet/xilinx/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  AR      drivers/net/ethernet/xircom/built-in.a
  AR      drivers/net/ethernet/synopsys/built-in.a
  AR      drivers/net/ethernet/pensando/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  CC [M]  drivers/gpu/drm/drm_gem_ttm_helper.o
  CC      drivers/gpu/drm/i915/gt/intel_renderstate.o
  CC      drivers/hid/hid-redragon.o
  CC      drivers/hid/hid-samsung.o
  CC      drivers/hid/hid-sony.o
  CC      drivers/net/ethernet/realtek/r8169_firmware.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC      drivers/net/ethernet/realtek/r8169_phy_config.o
  AR      drivers/net/ethernet/intel/e1000/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_reset.o
  CC      drivers/hid/hid-sunplus.o
  CC      drivers/gpu/drm/i915/gt/intel_ring.o
  AR      drivers/net/ethernet/marvell/built-in.a
  CC      drivers/hid/hid-topseed.o
  CC      drivers/gpu/drm/i915/gt/intel_ring_submission.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  CC      drivers/gpu/drm/i915/gt/intel_rps.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC      drivers/gpu/drm/i915/gt/intel_sa_media.o
  CC      drivers/gpu/drm/i915/gt/intel_sseu.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC      drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
  CC      drivers/gpu/drm/i915/gt/intel_timeline.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC      drivers/gpu/drm/i915/gt/intel_tlb.o
  CC      drivers/gpu/drm/i915/gt/intel_wopcm.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
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC      drivers/gpu/drm/i915/gt/intel_workarounds.o
  LD [M]  drivers/gpu/drm/drm_ttm_helper.o
  CC      drivers/gpu/drm/i915/gt/shmem_utils.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC      drivers/gpu/drm/i915/gt/sysfs_engines.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC      drivers/gpu/drm/i915/gt/gen6_renderstate.o
  CC      drivers/gpu/drm/i915/gt/gen7_renderstate.o
  CC      drivers/gpu/drm/i915/gt/gen8_renderstate.o
  CC      drivers/gpu/drm/i915/gt/gen9_renderstate.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_busy.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_clflush.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_context.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_create.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_domain.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_internal.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_lmem.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_mman.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_object.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_pages.o
  AR      drivers/hid/built-in.a
  CC      drivers/gpu/drm/i915/gem/i915_gem_phys.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/gpu/drm/xe/xe_vram_freq.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/xe/xe_hmm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_region.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_shmem.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_relay.o
  CC [M]  drivers/gpu/drm/xe/xe_memirq.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_stolen.o
  AR      drivers/net/ethernet/nvidia/built-in.a
  CC      drivers/gpu/drm/i915/gem/i915_gem_throttle.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_tiling.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_userptr.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_wait.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_utils.o
  CC      drivers/gpu/drm/i915/gem/i915_gemfs.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fb_bo.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev_fb.o
  CC      drivers/gpu/drm/i915/i915_active.o
  AR      drivers/net/ethernet/realtek/built-in.a
  CC      drivers/gpu/drm/i915/i915_cmd_parser.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC      drivers/gpu/drm/i915/i915_deps.o
  CC      drivers/gpu/drm/i915/i915_gem.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC [M]  drivers/gpu/drm/xe/display/xe_dsb_buffer.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC      drivers/gpu/drm/i915/i915_gem_evict.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC      drivers/gpu/drm/i915/i915_gem_gtt.o
  CC      drivers/gpu/drm/i915/i915_gem_ww.o
  CC      drivers/gpu/drm/i915/i915_query.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_dram.o
  CC      drivers/gpu/drm/i915/i915_request.o
  CC      drivers/gpu/drm/i915/i915_scheduler.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_pch.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC      drivers/gpu/drm/i915/i915_trace_points.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  CC      drivers/gpu/drm/i915/i915_ttm_buddy_manager.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      drivers/gpu/drm/i915/i915_vma.o
  CC      drivers/gpu/drm/i915/i915_vma_resource.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_color.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  AR      drivers/net/ethernet/broadcom/built-in.a
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
  CC      drivers/gpu/drm/i915/gt/intel_gsc.o
  CC      drivers/gpu/drm/i915/i915_hwmon.o
  CC      drivers/gpu/drm/i915/display/hsw_ips.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
  AR      drivers/net/ethernet/intel/e1000e/built-in.a
  AR      drivers/net/ethernet/intel/built-in.a
  AR      drivers/net/ethernet/built-in.a
  AR      drivers/net/built-in.a
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC      drivers/gpu/drm/i915/display/i9xx_plane.o
  CC      drivers/gpu/drm/i915/display/i9xx_wm.o
  CC      drivers/gpu/drm/i915/display/intel_atomic.o
  CC      drivers/gpu/drm/i915/display/intel_atomic_plane.o
  CC      drivers/gpu/drm/i915/display/intel_audio.o
  CC      drivers/gpu/drm/i915/display/intel_bios.o
  CC      drivers/gpu/drm/i915/display/intel_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
  CC      drivers/gpu/drm/i915/display/intel_cdclk.o
  CC      drivers/gpu/drm/i915/display/intel_color.o
  CC      drivers/gpu/drm/i915/display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC      drivers/gpu/drm/i915/display/intel_connector.o
  CC      drivers/gpu/drm/i915/display/intel_crtc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_device.o
  CC      drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
  CC      drivers/gpu/drm/i915/display/intel_cursor.o
  CC      drivers/gpu/drm/i915/display/intel_display.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      drivers/gpu/drm/i915/display/intel_display_driver.o
  CC      drivers/gpu/drm/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      drivers/gpu/drm/i915/display/intel_display_params.o
  CC      drivers/gpu/drm/i915/display/intel_display_power.o
  CC      drivers/gpu/drm/i915/display/intel_display_power_map.o
  CC      drivers/gpu/drm/i915/display/intel_display_power_well.o
  CC      drivers/gpu/drm/i915/display/intel_display_reset.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      drivers/gpu/drm/i915/display/intel_display_rps.o
  CC      drivers/gpu/drm/i915/display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_trace.o
  CC      drivers/gpu/drm/i915/display/intel_dmc.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      drivers/gpu/drm/i915/display/intel_dmc_wl.o
  CC      drivers/gpu/drm/i915/display/intel_dpio_phy.o
  CC      drivers/gpu/drm/i915/display/intel_dpll.o
  CC      drivers/gpu/drm/i915/display/intel_dpll_mgr.o
  CC      drivers/gpu/drm/i915/display/intel_dpt.o
  CC      drivers/gpu/drm/i915/display/intel_dpt_common.o
  CC      drivers/gpu/drm/i915/display/intel_drrs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp.o
  CC      drivers/gpu/drm/i915/display/intel_dsb.o
  CC      drivers/gpu/drm/i915/display/intel_dsb_buffer.o
  CC      drivers/gpu/drm/i915/display/intel_fb.o
  CC      drivers/gpu/drm/i915/display/intel_fb_bo.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      drivers/gpu/drm/i915/display/intel_fb_pin.o
  CC      drivers/gpu/drm/i915/display/intel_fbc.o
  CC      drivers/gpu/drm/i915/display/intel_fdi.o
  CC      drivers/gpu/drm/i915/display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
  CC      drivers/gpu/drm/i915/display/intel_frontbuffer.o
  CC      drivers/gpu/drm/i915/display/intel_global_state.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o
  CC      drivers/gpu/drm/i915/display/intel_hotplug.o
  CC      drivers/gpu/drm/i915/display/intel_hotplug_irq.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      drivers/gpu/drm/i915/display/intel_hti.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      drivers/gpu/drm/i915/display/intel_link_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_drrs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsb.o
  CC      drivers/gpu/drm/i915/display/intel_load_detect.o
  CC      drivers/gpu/drm/i915/display/intel_lpe_audio.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_lock.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_setup.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi.o
  CC      drivers/gpu/drm/i915/display/intel_overlay.o
  CC      drivers/gpu/drm/i915/display/intel_pch_display.o
  CC      drivers/gpu/drm/i915/display/intel_pch_refclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_plane_initial.o
  CC      drivers/gpu/drm/i915/display/intel_pmdemand.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      drivers/gpu/drm/i915/display/intel_psr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fdi.o
  CC      drivers/gpu/drm/i915/display/intel_quirks.o
  CC      drivers/gpu/drm/i915/display/intel_sprite.o
  CC      drivers/gpu/drm/i915/display/intel_sprite_uapi.o
  CC      drivers/gpu/drm/i915/display/intel_tc.o
  CC      drivers/gpu/drm/i915/display/intel_vblank.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
  CC      drivers/gpu/drm/i915/display/intel_vga.o
  CC      drivers/gpu/drm/i915/display/intel_wm.o
  CC      drivers/gpu/drm/i915/display/skl_scaler.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
  CC      drivers/gpu/drm/i915/display/skl_universal_plane.o
  CC      drivers/gpu/drm/i915/display/skl_watermark.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      drivers/gpu/drm/i915/display/intel_acpi.o
  CC      drivers/gpu/drm/i915/display/intel_opregion.o
  CC      drivers/gpu/drm/i915/display/intel_display_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug.o
  CC      drivers/gpu/drm/i915/display/intel_display_debugfs_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
  CC      drivers/gpu/drm/i915/display/intel_pipe_crc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hti.o
  CC      drivers/gpu/drm/i915/display/dvo_ch7017.o
  CC      drivers/gpu/drm/i915/display/dvo_ch7xxx.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_link_bw.o
  CC      drivers/gpu/drm/i915/display/dvo_ivch.o
  CC      drivers/gpu/drm/i915/display/dvo_ns2501.o
  CC      drivers/gpu/drm/i915/display/dvo_sil164.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_lspcon.o
  CC      drivers/gpu/drm/i915/display/dvo_tfp410.o
  CC      drivers/gpu/drm/i915/display/g4x_dp.o
  CC      drivers/gpu/drm/i915/display/g4x_hdmi.o
  CC      drivers/gpu/drm/i915/display/icl_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
  CC      drivers/gpu/drm/i915/display/intel_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_crt.o
  CC      drivers/gpu/drm/i915/display/intel_cx0_phy.o
  CC      drivers/gpu/drm/i915/display/intel_ddi.o
  CC      drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
  CC      drivers/gpu/drm/i915/display/intel_display_device.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
  CC      drivers/gpu/drm/i915/display/intel_display_trace.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_pmdemand.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pps.o
  CC      drivers/gpu/drm/i915/display/intel_dkl_phy.o
  CC      drivers/gpu/drm/i915/display/intel_dp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_psr.o
  CC      drivers/gpu/drm/i915/display/intel_dp_aux.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      drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vdsc.o
  CC      drivers/gpu/drm/i915/display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vga.o
  CC      drivers/gpu/drm/i915/display/intel_dp_mst.o
  CC      drivers/gpu/drm/i915/display/intel_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vrr.o
  CC      drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_dsi_vbt.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc_wl.o
  CC      drivers/gpu/drm/i915/display/intel_dvo.o
  CC      drivers/gpu/drm/i915/display/intel_gmbus.o
  CC      drivers/gpu/drm/i915/display/intel_hdmi.o
  CC      drivers/gpu/drm/i915/display/intel_lspcon.o
  CC      drivers/gpu/drm/i915/display/intel_lvds.o
  CC      drivers/gpu/drm/i915/display/intel_panel.o
  CC      drivers/gpu/drm/i915/display/intel_pps.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      drivers/gpu/drm/i915/display/intel_qp_tables.o
  CC      drivers/gpu/drm/i915/display/intel_sdvo.o
  CC      drivers/gpu/drm/i915/display/intel_snps_phy.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      drivers/gpu/drm/i915/display/intel_tv.o
  CC      drivers/gpu/drm/i915/display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc.o
  CC      drivers/gpu/drm/i915/display/intel_vrr.o
  CC      drivers/gpu/drm/i915/display/vlv_dsi.o
  CC      drivers/gpu/drm/i915/display/vlv_dsi_pll.o
  CC      drivers/gpu/drm/i915/i915_perf.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp_huc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp_tee.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC      drivers/gpu/drm/i915/i915_gpu_error.o
  CC      drivers/gpu/drm/i915/i915_vgpu.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  AR      drivers/gpu/drm/i915/built-in.a
  AR      drivers/gpu/drm/built-in.a
  AR      drivers/gpu/built-in.a
  AR      drivers/built-in.a
  AR      built-in.a
  AR      vmlinux.a
  LD      vmlinux.o
  OBJCOPY modules.builtin.modinfo
  GEN     modules.builtin
  MODPOST Module.symvers
  CC      .vmlinux.export.o
  CC [M]  fs/efivarfs/efivarfs.mod.o
  CC [M]  drivers/gpu/drm/drm_exec.mod.o
  CC [M]  drivers/gpu/drm/drm_gpuvm.mod.o
  CC [M]  drivers/gpu/drm/drm_suballoc_helper.mod.o
  CC [M]  drivers/gpu/drm/drm_ttm_helper.mod.o
  CC [M]  drivers/gpu/drm/scheduler/gpu-sched.mod.o
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.mod.o
  CC [M]  sound/core/snd-hwdep.mod.o
  CC [M]  sound/core/snd-pcm.mod.o
  CC [M]  sound/pci/hda/snd-hda-codec.mod.o
  CC [M]  sound/pci/hda/snd-hda-codec-hdmi.mod.o
  CC [M]  sound/pci/hda/snd-hda-intel.mod.o
  CC [M]  sound/hda/snd-hda-core.mod.o
  CC [M]  sound/hda/snd-intel-dspcfg.mod.o
  CC [M]  sound/hda/snd-intel-sdw-acpi.mod.o
  CC [M]  net/netfilter/nf_log_syslog.mod.o
  CC [M]  net/netfilter/xt_mark.mod.o
  CC [M]  net/netfilter/xt_nat.mod.o
  CC [M]  net/netfilter/xt_LOG.mod.o
  CC [M]  net/netfilter/xt_MASQUERADE.mod.o
  CC [M]  net/netfilter/xt_addrtype.mod.o
  CC [M]  net/ipv4/netfilter/iptable_nat.mod.o
  LD [M]  net/netfilter/nf_log_syslog.ko
  LD [M]  drivers/gpu/drm/drm_gpuvm.ko
  LD [M]  sound/pci/hda/snd-hda-codec.ko
  LD [M]  net/ipv4/netfilter/iptable_nat.ko
  LD [M]  net/netfilter/xt_nat.ko
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.ko
  LD [M]  sound/hda/snd-intel-sdw-acpi.ko
  LD [M]  drivers/gpu/drm/xe/xe.ko
  LD [M]  fs/efivarfs/efivarfs.ko
  LD [M]  sound/core/snd-hwdep.ko
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.ko
  LD [M]  sound/pci/hda/snd-hda-intel.ko
  LD [M]  net/netfilter/xt_MASQUERADE.ko
  LD [M]  drivers/gpu/drm/drm_ttm_helper.ko
  LD [M]  sound/hda/snd-intel-dspcfg.ko
  LD [M]  drivers/thermal/intel/x86_pkg_temp_thermal.ko
  LD [M]  net/netfilter/xt_LOG.ko
  LD [M]  net/netfilter/xt_mark.ko
  LD [M]  sound/core/snd-pcm.ko
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.ko
  LD [M]  drivers/gpu/drm/drm_exec.ko
  LD [M]  net/netfilter/xt_addrtype.ko
  LD [M]  sound/hda/snd-hda-core.ko
  UPD     include/generated/utsversion.h
  CC      init/version-timestamp.o
  LD      .tmp_vmlinux.kallsyms1
  NM      .tmp_vmlinux.kallsyms1.syms
  KSYMS   .tmp_vmlinux.kallsyms1.S
  AS      .tmp_vmlinux.kallsyms1.S
  LD      .tmp_vmlinux.kallsyms2
  NM      .tmp_vmlinux.kallsyms2.syms
  KSYMS   .tmp_vmlinux.kallsyms2.S
  AS      .tmp_vmlinux.kallsyms2.S
  LD      vmlinux
  NM      System.map
  SORTTAB vmlinux
  RELOCS  arch/x86/boot/compressed/vmlinux.relocs
  RSTRIP  vmlinux
  CC      arch/x86/boot/a20.o
  AS      arch/x86/boot/bioscall.o
  CC      arch/x86/boot/cmdline.o
  AS      arch/x86/boot/copy.o
  HOSTCC  arch/x86/boot/mkcpustr
  CC      arch/x86/boot/cpuflags.o
  CC      arch/x86/boot/cpucheck.o
  CC      arch/x86/boot/early_serial_console.o
  CC      arch/x86/boot/edd.o
  CC      arch/x86/boot/main.o
  CC      arch/x86/boot/memory.o
  CC      arch/x86/boot/pm.o
  AS      arch/x86/boot/pmjump.o
  CC      arch/x86/boot/printf.o
  CC      arch/x86/boot/regs.o
  CC      arch/x86/boot/tty.o
  CC      arch/x86/boot/string.o
  CC      arch/x86/boot/video.o
  CC      arch/x86/boot/video-mode.o
  CC      arch/x86/boot/version.o
  CC      arch/x86/boot/video-vga.o
  CC      arch/x86/boot/video-vesa.o
  CC      arch/x86/boot/video-bios.o
  HOSTCC  arch/x86/boot/tools/build
  CPUSTR  arch/x86/boot/cpustr.h
  CC      arch/x86/boot/cpu.o
  LDS     arch/x86/boot/compressed/vmlinux.lds
  AS      arch/x86/boot/compressed/kernel_info.o
  AS      arch/x86/boot/compressed/head_32.o
  VOFFSET arch/x86/boot/compressed/../voffset.h
  CC      arch/x86/boot/compressed/string.o
  CC      arch/x86/boot/compressed/cmdline.o
  CC      arch/x86/boot/compressed/error.o
  OBJCOPY arch/x86/boot/compressed/vmlinux.bin
  HOSTCC  arch/x86/boot/compressed/mkpiggy
  CC      arch/x86/boot/compressed/cpuflags.o
  CC      arch/x86/boot/compressed/early_serial_console.o
  CC      arch/x86/boot/compressed/kaslr.o
  CC      arch/x86/boot/compressed/acpi.o
  CC      arch/x86/boot/compressed/efi.o
  GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
  CC      arch/x86/boot/compressed/misc.o
  MKPIGGY arch/x86/boot/compressed/piggy.S
  AS      arch/x86/boot/compressed/piggy.o
  LD      arch/x86/boot/compressed/vmlinux
  ZOFFSET arch/x86/boot/zoffset.h
  OBJCOPY arch/x86/boot/vmlinux.bin
  AS      arch/x86/boot/header.o
  LD      arch/x86/boot/setup.elf
  OBJCOPY arch/x86/boot/setup.bin
  BUILD   arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready  (#1)
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] 23+ messages in thread

* ✓ CI.checksparse: success for drm/xe: Per client usage (rev2)
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (10 preceding siblings ...)
  2024-04-24  1:29 ` ✓ CI.Hooks: " Patchwork
@ 2024-04-24  1:31 ` Patchwork
  2024-04-24  1:53 ` ✓ CI.BAT: " Patchwork
  12 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2024-04-24  1:31 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage (rev2)
URL   : https://patchwork.freedesktop.org/series/132477/
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 b5b592a3902a51cc5747c625aa1898768d4ce79a
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] 23+ messages in thread

* ✓ CI.BAT: success for drm/xe: Per client usage (rev2)
  2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
                   ` (11 preceding siblings ...)
  2024-04-24  1:31 ` ✓ CI.checksparse: " Patchwork
@ 2024-04-24  1:53 ` Patchwork
  12 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2024-04-24  1:53 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

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

== Series Details ==

Series: drm/xe: Per client usage (rev2)
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== Summary ==

CI Bug Log - changes from xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a_BAT -> xe-pw-132477v2_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (5 -> 5)
------------------------------

  No changes in participating hosts

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

  Here are the changes found in xe-pw-132477v2_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@unbind-rebind:
    - bat-dg2-oem2:       [PASS][1] -> [SKIP][2] ([Intel XE#1136])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@core_hotunplug@unbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@core_hotunplug@unbind-rebind.html

  * igt@kms_addfb_basic@bad-pitch-128:
    - bat-dg2-oem2:       [PASS][3] -> [SKIP][4] ([i915#2575]) +50 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@kms_addfb_basic@bad-pitch-128.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@kms_addfb_basic@bad-pitch-128.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-dg2-oem2:       [PASS][5] -> [SKIP][6] ([Intel XE#1134])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@kms_frontbuffer_tracking@basic.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@kms_frontbuffer_tracking@basic.html

  * igt@xe_evict@evict-beng-small-external:
    - bat-pvc-2:          NOTRUN -> [FAIL][7] ([Intel XE#1000]) +3 other tests fail
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-pvc-2/igt@xe_evict@evict-beng-small-external.html

  * igt@xe_evict@evict-small-external-cm:
    - bat-pvc-2:          NOTRUN -> [DMESG-FAIL][8] ([Intel XE#482]) +3 other tests dmesg-fail
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-pvc-2/igt@xe_evict@evict-small-external-cm.html

  * igt@xe_gt_freq@freq_range_idle:
    - bat-pvc-2:          NOTRUN -> [SKIP][9] ([Intel XE#1021]) +1 other test skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-pvc-2/igt@xe_gt_freq@freq_range_idle.html

  * igt@xe_huc_copy@huc_copy:
    - bat-pvc-2:          NOTRUN -> [SKIP][10] ([Intel XE#255])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-pvc-2/igt@xe_huc_copy@huc_copy.html

  * igt@xe_intel_bb@create-in-region:
    - bat-dg2-oem2:       [PASS][11] -> [SKIP][12] ([Intel XE#1130]) +155 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@xe_intel_bb@create-in-region.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@xe_intel_bb@create-in-region.html

  * igt@xe_intel_bb@render:
    - bat-pvc-2:          NOTRUN -> [SKIP][13] ([Intel XE#532])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-pvc-2/igt@xe_intel_bb@render.html

  * igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
    - bat-dg2-oem2:       [PASS][14] -> [SKIP][15] ([Intel XE#1575])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html

  * igt@xe_live_ktest@xe_migrate:
    - bat-dg2-oem2:       [PASS][16] -> [SKIP][17] ([Intel XE#455]) +5 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@xe_live_ktest@xe_migrate.html
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@xe_live_ktest@xe_migrate.html

  * igt@xe_module_load@load:
    - bat-dg2-oem2:       [PASS][18] -> [FAIL][19] ([Intel XE#1574])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@xe_module_load@load.html
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@xe_module_load@load.html

  * igt@xe_pat@pat-index-xe2:
    - bat-pvc-2:          NOTRUN -> [SKIP][20] ([Intel XE#977]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-pvc-2/igt@xe_pat@pat-index-xe2.html

  * igt@xe_pat@pat-index-xehpc@render:
    - bat-pvc-2:          NOTRUN -> [SKIP][21] ([Intel XE#976])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-pvc-2/igt@xe_pat@pat-index-xehpc@render.html

  * igt@xe_pat@pat-index-xelpg:
    - bat-pvc-2:          NOTRUN -> [SKIP][22] ([Intel XE#979])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-pvc-2/igt@xe_pat@pat-index-xelpg.html

  * igt@xe_pm_residency@gt-c6-on-idle:
    - bat-pvc-2:          NOTRUN -> [SKIP][23] ([Intel XE#531])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-pvc-2/igt@xe_pm_residency@gt-c6-on-idle.html

  
#### Warnings ####

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-dg2-oem2:       [SKIP][24] ([Intel XE#623]) -> [SKIP][25] ([i915#2575])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-dg2-oem2:       [SKIP][26] ([Intel XE#455]) -> [SKIP][27] ([Intel XE#1134])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@kms_dsc@dsc-basic.html
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-dg2-oem2:       [SKIP][28] ([i915#5274]) -> [SKIP][29] ([i915#2575])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@kms_force_connector_basic@prune-stale-modes.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_psr@psr-cursor-plane-move:
    - bat-dg2-oem2:       [SKIP][30] ([Intel XE#929]) -> [SKIP][31] ([Intel XE#1134]) +2 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@kms_psr@psr-cursor-plane-move.html
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@kms_psr@psr-cursor-plane-move.html

  * igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-invalidate:
    - bat-dg2-oem2:       [SKIP][32] ([Intel XE#288]) -> [SKIP][33] ([Intel XE#1130]) +22 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-invalidate.html
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-invalidate.html

  * igt@xe_huc_copy@huc_copy:
    - bat-dg2-oem2:       [SKIP][34] ([Intel XE#255]) -> [SKIP][35] ([Intel XE#1130])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@xe_huc_copy@huc_copy.html
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@xe_huc_copy@huc_copy.html

  * igt@xe_pat@pat-index-xe2:
    - bat-dg2-oem2:       [SKIP][36] ([Intel XE#977]) -> [SKIP][37] ([Intel XE#1130])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@xe_pat@pat-index-xe2.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@xe_pat@pat-index-xe2.html

  * igt@xe_pat@pat-index-xehpc:
    - bat-dg2-oem2:       [SKIP][38] ([Intel XE#979]) -> [SKIP][39] ([Intel XE#1130]) +1 other test skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a/bat-dg2-oem2/igt@xe_pat@pat-index-xehpc.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v2/bat-dg2-oem2/igt@xe_pat@pat-index-xehpc.html

  
  [Intel XE#1000]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1000
  [Intel XE#1021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1021
  [Intel XE#1130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1130
  [Intel XE#1134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1134
  [Intel XE#1136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1136
  [Intel XE#1574]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1574
  [Intel XE#1575]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1575
  [Intel XE#255]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/255
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/482
  [Intel XE#531]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/531
  [Intel XE#532]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/532
  [Intel XE#623]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/623
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#976]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/976
  [Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
  [Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979
  [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575
  [i915#5274]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5274


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

  * Linux: xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a -> xe-pw-132477v2

  IGT_7819: 98e0d03839ce31141328a2935eb193361eca61e3 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-1163-b5b592a3902a51cc5747c625aa1898768d4ce79a: b5b592a3902a51cc5747c625aa1898768d4ce79a
  xe-pw-132477v2: 132477v2

== Logs ==

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

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

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

* Re: [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime
  2024-04-23 23:56 ` [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime Lucas De Marchi
@ 2024-04-24  4:08   ` Matthew Brost
  2024-04-24 14:51     ` Lucas De Marchi
  2024-04-26 10:49   ` Tvrtko Ursulin
  1 sibling, 1 reply; 23+ messages in thread
From: Matthew Brost @ 2024-04-24  4:08 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: intel-xe, dri-devel, Umesh Nerlige Ramappa, Tvrtko Ursulin

On Tue, Apr 23, 2024 at 04:56:48PM -0700, Lucas De Marchi wrote:
> From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> 
> Add a helper to accumulate per-client runtime of all its
> exec queues. Currently that is done in 2 places:
> 
> 	1. when the exec_queue is destroyed
> 	2. when the sched job is completed
> 
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
>  drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
>  drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
>  4 files changed, 49 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index 2e62450d86e1..33d3bf93a2f1 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -547,6 +547,15 @@ struct xe_file {
>  		struct mutex lock;
>  	} exec_queue;
>  
> +	/**
> +	 * @runtime: hw engine class runtime in ticks for this drm client
> +	 *
> +	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
> +	 * case, since all jobs run in parallel on the engines, only the stats
> +	 * from lrc[0] are sufficient.
> +	 */
> +	u64 runtime[XE_ENGINE_CLASS_MAX];
> +
>  	/** @client: drm client */
>  	struct xe_drm_client *client;
>  };
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 395de93579fa..b7b6256cb96a 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
>  {
>  	int i;
>  
> +	xe_exec_queue_update_runtime(q);
> +
>  	for (i = 0; i < q->width; ++i)
>  		xe_lrc_finish(q->lrc + i);
>  	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
> @@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
>  		q->lrc[0].fence_ctx.next_seqno - 1;
>  }
>  
> +/**
> + * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
> + * @q: The exec queue
> + *
> + * Update the timestamp saved by HW for this exec queue and save runtime
> + * calculated by using the delta from last update. On multi-lrc case, only the
> + * first is considered.
> + */
> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
> +{
> +	struct xe_file *xef;
> +	struct xe_lrc *lrc;
> +	u32 old_ts, new_ts;
> +
> +	/*
> +	 * Jobs that are run during driver load may use an exec_queue, but are
> +	 * not associated with a user xe file, so avoid accumulating busyness
> +	 * for kernel specific work.
> +	 */
> +	if (!q->vm || !q->vm->xef)
> +		return;
> +
> +	xef = q->vm->xef;
> +	lrc = &q->lrc[0];
> +
> +	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
> +
> +	/*
> +	 * Special case the very first timestamp: we don't want the
> +	 * initial delta to be a huge value
> +	 */
> +	if (old_ts)
> +		xef->runtime[q->class] += new_ts - old_ts;
> +}
> +
>  void xe_exec_queue_kill(struct xe_exec_queue *q)
>  {
>  	struct xe_exec_queue *eq = q, *next;
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
> index 02ce8d204622..45b72daa2db3 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.h
> @@ -66,5 +66,6 @@ struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
>  					       struct xe_vm *vm);
>  void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
>  				  struct dma_fence *fence);
> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q);
>  
>  #endif
> diff --git a/drivers/gpu/drm/xe/xe_sched_job.c b/drivers/gpu/drm/xe/xe_sched_job.c
> index cd8a2fba5438..6a081a4fa190 100644
> --- a/drivers/gpu/drm/xe/xe_sched_job.c
> +++ b/drivers/gpu/drm/xe/xe_sched_job.c
> @@ -242,6 +242,8 @@ bool xe_sched_job_completed(struct xe_sched_job *job)
>  {

This seems like the wrong place. xe_sched_job_completed is a helper
which determines *if* a job completed it *not* when it is completed. The
DRM scheduler free_job callback is probably the right place
(guc_exec_queue_free_job or execlist_job_free). So just call
xe_exec_queue_update_runtime there?

Matt

>  	struct xe_lrc *lrc = job->q->lrc;
>  
> +	xe_exec_queue_update_runtime(job->q);
> +
>  	/*
>  	 * Can safely check just LRC[0] seqno as that is last seqno written when
>  	 * parallel handshake is done.
> -- 
> 2.43.0
> 

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

* Re: [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime
  2024-04-24  4:08   ` Matthew Brost
@ 2024-04-24 14:51     ` Lucas De Marchi
  0 siblings, 0 replies; 23+ messages in thread
From: Lucas De Marchi @ 2024-04-24 14:51 UTC (permalink / raw)
  To: Matthew Brost; +Cc: intel-xe, dri-devel, Umesh Nerlige Ramappa, Tvrtko Ursulin

On Wed, Apr 24, 2024 at 04:08:29AM GMT, Matthew Brost wrote:
>On Tue, Apr 23, 2024 at 04:56:48PM -0700, Lucas De Marchi wrote:
>> From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>>
>> Add a helper to accumulate per-client runtime of all its
>> exec queues. Currently that is done in 2 places:
>>
>> 	1. when the exec_queue is destroyed
>> 	2. when the sched job is completed
>>
>> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>> ---
>>  drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
>>  drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
>>  drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
>>  drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
>>  4 files changed, 49 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
>> index 2e62450d86e1..33d3bf93a2f1 100644
>> --- a/drivers/gpu/drm/xe/xe_device_types.h
>> +++ b/drivers/gpu/drm/xe/xe_device_types.h
>> @@ -547,6 +547,15 @@ struct xe_file {
>>  		struct mutex lock;
>>  	} exec_queue;
>>
>> +	/**
>> +	 * @runtime: hw engine class runtime in ticks for this drm client
>> +	 *
>> +	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
>> +	 * case, since all jobs run in parallel on the engines, only the stats
>> +	 * from lrc[0] are sufficient.
>> +	 */
>> +	u64 runtime[XE_ENGINE_CLASS_MAX];
>> +
>>  	/** @client: drm client */
>>  	struct xe_drm_client *client;
>>  };
>> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
>> index 395de93579fa..b7b6256cb96a 100644
>> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
>> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
>> @@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
>>  {
>>  	int i;
>>
>> +	xe_exec_queue_update_runtime(q);
>> +
>>  	for (i = 0; i < q->width; ++i)
>>  		xe_lrc_finish(q->lrc + i);
>>  	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
>> @@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
>>  		q->lrc[0].fence_ctx.next_seqno - 1;
>>  }
>>
>> +/**
>> + * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
>> + * @q: The exec queue
>> + *
>> + * Update the timestamp saved by HW for this exec queue and save runtime
>> + * calculated by using the delta from last update. On multi-lrc case, only the
>> + * first is considered.
>> + */
>> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
>> +{
>> +	struct xe_file *xef;
>> +	struct xe_lrc *lrc;
>> +	u32 old_ts, new_ts;
>> +
>> +	/*
>> +	 * Jobs that are run during driver load may use an exec_queue, but are
>> +	 * not associated with a user xe file, so avoid accumulating busyness
>> +	 * for kernel specific work.
>> +	 */
>> +	if (!q->vm || !q->vm->xef)
>> +		return;
>> +
>> +	xef = q->vm->xef;
>> +	lrc = &q->lrc[0];
>> +
>> +	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
>> +
>> +	/*
>> +	 * Special case the very first timestamp: we don't want the
>> +	 * initial delta to be a huge value
>> +	 */
>> +	if (old_ts)
>> +		xef->runtime[q->class] += new_ts - old_ts;
>> +}
>> +
>>  void xe_exec_queue_kill(struct xe_exec_queue *q)
>>  {
>>  	struct xe_exec_queue *eq = q, *next;
>> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
>> index 02ce8d204622..45b72daa2db3 100644
>> --- a/drivers/gpu/drm/xe/xe_exec_queue.h
>> +++ b/drivers/gpu/drm/xe/xe_exec_queue.h
>> @@ -66,5 +66,6 @@ struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
>>  					       struct xe_vm *vm);
>>  void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
>>  				  struct dma_fence *fence);
>> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q);
>>
>>  #endif
>> diff --git a/drivers/gpu/drm/xe/xe_sched_job.c b/drivers/gpu/drm/xe/xe_sched_job.c
>> index cd8a2fba5438..6a081a4fa190 100644
>> --- a/drivers/gpu/drm/xe/xe_sched_job.c
>> +++ b/drivers/gpu/drm/xe/xe_sched_job.c
>> @@ -242,6 +242,8 @@ bool xe_sched_job_completed(struct xe_sched_job *job)
>>  {
>
>This seems like the wrong place. xe_sched_job_completed is a helper
>which determines *if* a job completed it *not* when it is completed. The

indeed, not the right place.


>DRM scheduler free_job callback is probably the right place
>(guc_exec_queue_free_job or execlist_job_free). So just call
>xe_exec_queue_update_runtime there?

yeah, I will add it there and do some tests.

thanks for catching this.

Lucas De Marchi

>
>Matt
>
>>  	struct xe_lrc *lrc = job->q->lrc;
>>
>> +	xe_exec_queue_update_runtime(job->q);
>> +
>>  	/*
>>  	 * Can safely check just LRC[0] seqno as that is last seqno written when
>>  	 * parallel handshake is done.
>> --
>> 2.43.0
>>

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

* Re: [PATCH v2 6/6] drm/xe/client: Print runtime to fdinfo
  2024-04-23 23:56 ` [PATCH v2 6/6] drm/xe/client: Print runtime to fdinfo Lucas De Marchi
@ 2024-04-26 10:47   ` Tvrtko Ursulin
  2024-05-07 21:35     ` Lucas De Marchi
  0 siblings, 1 reply; 23+ messages in thread
From: Tvrtko Ursulin @ 2024-04-26 10:47 UTC (permalink / raw)
  To: Lucas De Marchi, intel-xe
  Cc: dri-devel, Umesh Nerlige Ramappa, Adrián Larumbe, Rob Clark,
	Alex Deucher, Christian König, Maíra Canal


On 24/04/2024 00:56, Lucas De Marchi wrote:
> Print the accumulated runtime for client when printing fdinfo.
> Each time a query is done it first does 2 things:
> 
> 1) loop through all the exec queues for the current client and
>     accumulate the runtime, per engine class. CTX_TIMESTAMP is used for
>     that, being read from the context image.
> 
> 2) Read a "GPU timestamp" that can be used for considering "how much GPU
>     time has passed" and that has the same unit/refclock as the one
>     recording the runtime. RING_TIMESTAMP is used for that via MMIO.
> 
> Since for all current platforms RING_TIMESTAMP follows the same
> refclock, just read it once, using any first engine.
> 
> This is exported to userspace as 2 numbers in fdinfo:
> 
> 	drm-cycles-<class>: <RUNTIME>
> 	drm-total-cycles-<class>: <TIMESTAMP>
> 
> Userspace is expected to collect at least 2 samples, which allows to
> know the client engine busyness as per:
> 
> 		    RUNTIME1 - RUNTIME0
> 	busyness = ---------------------
> 			  T1 - T0
> 
> Another thing to point out is that it's expected that userspace will
> read any 2 samples every few seconds.  Given the update frequency of the
> counters involved and that CTX_TIMESTAMP is 32-bits, the counter for
> each exec_queue can wrap around (assuming 100% utilization) after ~200s.
> The wraparound is not perceived by userspace since it's just accumulated
> for all the exec_queues in a 64-bit counter), but the measurement will
> not be accurate if the samples are too far apart.
> 
> This could be mitigated by adding a workqueue to accumulate the counters
> every so often, but it's additional complexity for something that is
> done already by userspace every few seconds in tools like gputop (from
> igt), htop, nvtop, etc with none of them really defaulting to 1 sample
> per minute or more.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>   Documentation/gpu/drm-usage-stats.rst       |  16 ++-
>   Documentation/gpu/xe/index.rst              |   1 +
>   Documentation/gpu/xe/xe-drm-usage-stats.rst |  10 ++
>   drivers/gpu/drm/xe/xe_drm_client.c          | 138 +++++++++++++++++++-
>   4 files changed, 162 insertions(+), 3 deletions(-)
>   create mode 100644 Documentation/gpu/xe/xe-drm-usage-stats.rst
> 
> diff --git a/Documentation/gpu/drm-usage-stats.rst b/Documentation/gpu/drm-usage-stats.rst
> index 6dc299343b48..421766289b78 100644
> --- a/Documentation/gpu/drm-usage-stats.rst
> +++ b/Documentation/gpu/drm-usage-stats.rst
> @@ -112,6 +112,17 @@ larger value within a reasonable period. Upon observing a value lower than what
>   was previously read, userspace is expected to stay with that larger previous
>   value until a monotonic update is seen.
>   
> +- drm-total-cycles-<keystr>: <uint>
> +
> +Engine identifier string must be the same as the one specified in the
> +drm-cycles-<keystr> tag and shall contain the total number cycles for the given
> +engine.
> +
> +This is a timestamp in GPU unspecified unit that matches the update rate
> +of drm-cycles-<keystr>. For drivers that implement this interface, the engine
> +utilization can be calculated entirely on the GPU clock domain, without
> +considering the CPU sleep time between 2 samples.

Two opens.

1)
Do we need to explicity document that drm-total-cycles and drm-maxfreq 
are mutually exclusive?

2)
Should drm-total-cycles for now be documents as driver specific?

I have added some more poeple in the cc who were involved with driver 
fdinfo implementations if they will have an opinion.

I would say potentially yes, and promote it to common if more than one 
driver would use it.

For instance I see panfrost has the driver specific drm-curfreq 
(although isn't documenting it fully in panfrost.rst). And I have to say 
it is somewhat questionable to expose the current frequency per fdinfo 
per engine but not my call.

> +
>   - drm-maxfreq-<keystr>: <uint> [Hz|MHz|KHz]
>   
>   Engine identifier string must be the same as the one specified in the
> @@ -168,5 +179,6 @@ be documented above and where possible, aligned with other drivers.
>   Driver specific implementations
>   -------------------------------
>   
> -:ref:`i915-usage-stats`
> -:ref:`panfrost-usage-stats`
> +* :ref:`i915-usage-stats`
> +* :ref:`panfrost-usage-stats`
> +* :ref:`xe-usage-stats`
> diff --git a/Documentation/gpu/xe/index.rst b/Documentation/gpu/xe/index.rst
> index c224ecaee81e..3f07aa3b5432 100644
> --- a/Documentation/gpu/xe/index.rst
> +++ b/Documentation/gpu/xe/index.rst
> @@ -23,3 +23,4 @@ DG2, etc is provided to prototype the driver.
>      xe_firmware
>      xe_tile
>      xe_debugging
> +   xe-drm-usage-stats.rst
> diff --git a/Documentation/gpu/xe/xe-drm-usage-stats.rst b/Documentation/gpu/xe/xe-drm-usage-stats.rst
> new file mode 100644
> index 000000000000..ccb48733cbe3
> --- /dev/null
> +++ b/Documentation/gpu/xe/xe-drm-usage-stats.rst
> @@ -0,0 +1,10 @@
> +.. SPDX-License-Identifier: GPL-2.0+
> +
> +.. _xe-usage-stats:
> +
> +=======================================
> +Xe DRM client usage stats implemenation
> +=======================================
> +
> +.. kernel-doc:: drivers/gpu/drm/xe/xe_drm_client.c
> +   :doc: DRM Client usage stats
> diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
> index 08f0b7c95901..0227383910fa 100644
> --- a/drivers/gpu/drm/xe/xe_drm_client.c
> +++ b/drivers/gpu/drm/xe/xe_drm_client.c
> @@ -2,6 +2,7 @@
>   /*
>    * Copyright © 2023 Intel Corporation
>    */
> +#include "xe_drm_client.h"
>   
>   #include <drm/drm_print.h>
>   #include <drm/xe_drm.h>
> @@ -12,9 +13,66 @@
>   #include "xe_bo.h"
>   #include "xe_bo_types.h"
>   #include "xe_device_types.h"
> -#include "xe_drm_client.h"
> +#include "xe_exec_queue.h"
> +#include "xe_gt.h"
> +#include "xe_hw_engine.h"
> +#include "xe_pm.h"
>   #include "xe_trace.h"
>   
> +/**
> + * DOC: DRM Client usage stats
> + *
> + * The drm/xe driver implements the DRM client usage stats specification as
> + * documented in :ref:`drm-client-usage-stats`.
> + *
> + * Example of the output showing the implemented key value pairs and entirety of
> + * the currently possible format options:
> + *
> + * ::
> + *
> + * 	pos:    0
> + * 	flags:  0100002
> + * 	mnt_id: 26
> + * 	ino:    685
> + * 	drm-driver:     xe
> + * 	drm-client-id:  3
> + * 	drm-pdev:       0000:03:00.0
> + * 	drm-total-system:       0
> + * 	drm-shared-system:      0
> + * 	drm-active-system:      0
> + * 	drm-resident-system:    0
> + * 	drm-purgeable-system:   0
> + * 	drm-total-gtt:  192 KiB
> + * 	drm-shared-gtt: 0
> + * 	drm-active-gtt: 0
> + * 	drm-resident-gtt:       192 KiB
> + * 	drm-total-vram0:        23992 KiB
> + * 	drm-shared-vram0:       16 MiB
> + * 	drm-active-vram0:       0
> + * 	drm-resident-vram0:     23992 KiB
> + * 	drm-total-stolen:       0
> + * 	drm-shared-stolen:      0
> + * 	drm-active-stolen:      0
> + * 	drm-resident-stolen:    0
> + * 	drm-cycles-rcs: 28257900
> + * 	drm-total-cycles-rcs:   7655183225
> + * 	drm-cycles-bcs: 0
> + * 	drm-total-cycles-bcs:   7655183225
> + * 	drm-cycles-vcs: 0
> + * 	drm-total-cycles-vcs:   7655183225
> + * 	drm-engine-capacity-vcs:        2
> + * 	drm-cycles-vecs:        0
> + * 	drm-total-cycles-vecs:  7655183225
> + * 	drm-engine-capacity-vecs:       2
> + * 	drm-cycles-ccs: 0
> + * 	drm-total-cycles-ccs:   7655183225
> + * 	drm-engine-capacity-ccs:        4
> + *
> + * Possible `drm-cycles-` key names are: `rcs`, `ccs`, `bcs`, `vcs`, `vecs` and
> + * "other".
> + */
> +
> +
>   /**
>    * xe_drm_client_alloc() - Allocate drm client
>    * @void: No arg
> @@ -179,6 +237,83 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
>   	}
>   }
>   
> +static const u64 class_to_mask[] = {
> +        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,
> +        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,
> +        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,
> +        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,
> +        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,
> +        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,
> +};
> +
> +static void show_runtime(struct drm_printer *p, struct drm_file *file)
> +{
> +	struct xe_file *xef = file->driver_priv;
> +	struct xe_device *xe = xef->xe;
> +	struct xe_gt *gt;
> +	struct xe_hw_engine *hwe;
> +	struct xe_exec_queue *q;
> +	unsigned long i, id_hwe, id_gt, capacity[XE_ENGINE_CLASS_MAX] = { };
> +	u64 gpu_timestamp, engine_mask = 0;
> +	bool gpu_stamp = false;
> +
> +	xe_pm_runtime_get(xe);
> +
> +	/* Accumulate all the exec queues from this client */
> +	mutex_lock(&xef->exec_queue.lock);
> +	xa_for_each(&xef->exec_queue.xa, i, q)
> +		xe_exec_queue_update_runtime(q);
> +	mutex_unlock(&xef->exec_queue.lock);
> +
> +
> +	/* Calculate capacity of each engine class */
> +	BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
> +	for_each_gt(gt, xe, id_gt)
> +		engine_mask |= gt->info.engine_mask;
> +	for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
> +		capacity[i] = hweight64(engine_mask & class_to_mask[i]);

FWIW the above two loops are static so could store capacity in struct 
xe_device.

> +
> +	/*
> +	 * Iterate over all engines, printing the accumulated
> +	 * runtime for this client, per engine class
> +	 */
> +	for_each_gt(gt, xe, id_gt) {
> +		xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
> +		for_each_hw_engine(hwe, gt, id_hwe) {
> +			const char *class_name;
> +
> +			if (!capacity[hwe->class])
> +				continue;
> +
> +			/*
> +			 * Use any (first) engine to have a timestamp to be used every
> +			 * time
> +			 */
> +			if (!gpu_stamp) {
> +				gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
> +				gpu_stamp = true;
> +			}
> +
> +			class_name = xe_hw_engine_class_to_str(hwe->class);
> +
> +			drm_printf(p, "drm-cycles-%s:\t%llu\n",
> +				   class_name, xef->runtime[hwe->class]);
> +			drm_printf(p, "drm-total-cycles-%s:\t%llu\n",
> +				   class_name, gpu_timestamp);
> +
> +			if (capacity[hwe->class] > 1)
> +				drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
> +					   class_name, capacity[hwe->class]);
> +
> +			/* engine class already handled, skip next iterations */
> +			capacity[hwe->class] = 0;
> +		}
> +		xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
> +	}

More FWIW and AFAICT, could just walk the "list" of classes instead of 
the nested loop with skipping already visited classes. Assuming in xe 
there is an easy way to get a known present engine for the gpu_timestamp 
it would be flatter and less code.

Regards,

Tvrtko

> +
> +	xe_pm_runtime_get(xe);
> +}
> +
>   /**
>    * xe_drm_client_fdinfo() - Callback for fdinfo interface
>    * @p: The drm_printer ptr
> @@ -192,5 +327,6 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
>   void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
>   {
>   	show_meminfo(p, file);
> +	show_runtime(p, file);
>   }
>   #endif

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

* Re: [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime
  2024-04-23 23:56 ` [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime Lucas De Marchi
  2024-04-24  4:08   ` Matthew Brost
@ 2024-04-26 10:49   ` Tvrtko Ursulin
  2024-04-26 18:59     ` Umesh Nerlige Ramappa
  1 sibling, 1 reply; 23+ messages in thread
From: Tvrtko Ursulin @ 2024-04-26 10:49 UTC (permalink / raw)
  To: Lucas De Marchi, intel-xe; +Cc: dri-devel, Umesh Nerlige Ramappa


On 24/04/2024 00:56, Lucas De Marchi wrote:
> From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> 
> Add a helper to accumulate per-client runtime of all its
> exec queues. Currently that is done in 2 places:
> 
> 	1. when the exec_queue is destroyed
> 	2. when the sched job is completed
> 
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
>   drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
>   drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
>   drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
>   4 files changed, 49 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index 2e62450d86e1..33d3bf93a2f1 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -547,6 +547,15 @@ struct xe_file {
>   		struct mutex lock;
>   	} exec_queue;
>   
> +	/**
> +	 * @runtime: hw engine class runtime in ticks for this drm client
> +	 *
> +	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
> +	 * case, since all jobs run in parallel on the engines, only the stats
> +	 * from lrc[0] are sufficient.

Out of curiousity doesn't this mean multi-lrc jobs will be incorrectly 
accounted for? (When capacity is considered.)

Regards,

Tvrtko

> +	 */
> +	u64 runtime[XE_ENGINE_CLASS_MAX];
> +
>   	/** @client: drm client */
>   	struct xe_drm_client *client;
>   };
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 395de93579fa..b7b6256cb96a 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
>   {
>   	int i;
>   
> +	xe_exec_queue_update_runtime(q);
> +
>   	for (i = 0; i < q->width; ++i)
>   		xe_lrc_finish(q->lrc + i);
>   	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
> @@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
>   		q->lrc[0].fence_ctx.next_seqno - 1;
>   }
>   
> +/**
> + * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
> + * @q: The exec queue
> + *
> + * Update the timestamp saved by HW for this exec queue and save runtime
> + * calculated by using the delta from last update. On multi-lrc case, only the
> + * first is considered.
> + */
> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
> +{
> +	struct xe_file *xef;
> +	struct xe_lrc *lrc;
> +	u32 old_ts, new_ts;
> +
> +	/*
> +	 * Jobs that are run during driver load may use an exec_queue, but are
> +	 * not associated with a user xe file, so avoid accumulating busyness
> +	 * for kernel specific work.
> +	 */
> +	if (!q->vm || !q->vm->xef)
> +		return;
> +
> +	xef = q->vm->xef;
> +	lrc = &q->lrc[0];
> +
> +	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
> +
> +	/*
> +	 * Special case the very first timestamp: we don't want the
> +	 * initial delta to be a huge value
> +	 */
> +	if (old_ts)
> +		xef->runtime[q->class] += new_ts - old_ts;
> +}
> +
>   void xe_exec_queue_kill(struct xe_exec_queue *q)
>   {
>   	struct xe_exec_queue *eq = q, *next;
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
> index 02ce8d204622..45b72daa2db3 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.h
> @@ -66,5 +66,6 @@ struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
>   					       struct xe_vm *vm);
>   void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
>   				  struct dma_fence *fence);
> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q);
>   
>   #endif
> diff --git a/drivers/gpu/drm/xe/xe_sched_job.c b/drivers/gpu/drm/xe/xe_sched_job.c
> index cd8a2fba5438..6a081a4fa190 100644
> --- a/drivers/gpu/drm/xe/xe_sched_job.c
> +++ b/drivers/gpu/drm/xe/xe_sched_job.c
> @@ -242,6 +242,8 @@ bool xe_sched_job_completed(struct xe_sched_job *job)
>   {
>   	struct xe_lrc *lrc = job->q->lrc;
>   
> +	xe_exec_queue_update_runtime(job->q);
> +
>   	/*
>   	 * Can safely check just LRC[0] seqno as that is last seqno written when
>   	 * parallel handshake is done.

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

* Re: [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime
  2024-04-26 10:49   ` Tvrtko Ursulin
@ 2024-04-26 18:59     ` Umesh Nerlige Ramappa
  2024-04-29  8:07       ` Tvrtko Ursulin
  0 siblings, 1 reply; 23+ messages in thread
From: Umesh Nerlige Ramappa @ 2024-04-26 18:59 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: Lucas De Marchi, intel-xe, dri-devel

On Fri, Apr 26, 2024 at 11:49:32AM +0100, Tvrtko Ursulin wrote:
>
>On 24/04/2024 00:56, Lucas De Marchi wrote:
>>From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>>
>>Add a helper to accumulate per-client runtime of all its
>>exec queues. Currently that is done in 2 places:
>>
>>	1. when the exec_queue is destroyed
>>	2. when the sched job is completed
>>
>>Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>---
>>  drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
>>  drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
>>  drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
>>  drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
>>  4 files changed, 49 insertions(+)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
>>index 2e62450d86e1..33d3bf93a2f1 100644
>>--- a/drivers/gpu/drm/xe/xe_device_types.h
>>+++ b/drivers/gpu/drm/xe/xe_device_types.h
>>@@ -547,6 +547,15 @@ struct xe_file {
>>  		struct mutex lock;
>>  	} exec_queue;
>>+	/**
>>+	 * @runtime: hw engine class runtime in ticks for this drm client
>>+	 *
>>+	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
>>+	 * case, since all jobs run in parallel on the engines, only the stats
>>+	 * from lrc[0] are sufficient.
>
>Out of curiousity doesn't this mean multi-lrc jobs will be incorrectly 
>accounted for? (When capacity is considered.)

TBH, I am not sure what the user would like to see here for multi-lrc.  
If reporting the capacity, then we may need to use width as a 
multiplication factor for multi-lrc. How was this done in i915?

Regards,
Umesh


>
>Regards,
>
>Tvrtko
>
>>+	 */
>>+	u64 runtime[XE_ENGINE_CLASS_MAX];
>>+
>>  	/** @client: drm client */
>>  	struct xe_drm_client *client;
>>  };
>>diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
>>index 395de93579fa..b7b6256cb96a 100644
>>--- a/drivers/gpu/drm/xe/xe_exec_queue.c
>>+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
>>@@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
>>  {
>>  	int i;
>>+	xe_exec_queue_update_runtime(q);
>>+
>>  	for (i = 0; i < q->width; ++i)
>>  		xe_lrc_finish(q->lrc + i);
>>  	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
>>@@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
>>  		q->lrc[0].fence_ctx.next_seqno - 1;
>>  }
>>+/**
>>+ * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
>>+ * @q: The exec queue
>>+ *
>>+ * Update the timestamp saved by HW for this exec queue and save runtime
>>+ * calculated by using the delta from last update. On multi-lrc case, only the
>>+ * first is considered.
>>+ */
>>+void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
>>+{
>>+	struct xe_file *xef;
>>+	struct xe_lrc *lrc;
>>+	u32 old_ts, new_ts;
>>+
>>+	/*
>>+	 * Jobs that are run during driver load may use an exec_queue, but are
>>+	 * not associated with a user xe file, so avoid accumulating busyness
>>+	 * for kernel specific work.
>>+	 */
>>+	if (!q->vm || !q->vm->xef)
>>+		return;
>>+
>>+	xef = q->vm->xef;
>>+	lrc = &q->lrc[0];
>>+
>>+	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
>>+
>>+	/*
>>+	 * Special case the very first timestamp: we don't want the
>>+	 * initial delta to be a huge value
>>+	 */
>>+	if (old_ts)
>>+		xef->runtime[q->class] += new_ts - old_ts;
>>+}
>>+
>>  void xe_exec_queue_kill(struct xe_exec_queue *q)
>>  {
>>  	struct xe_exec_queue *eq = q, *next;
>>diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
>>index 02ce8d204622..45b72daa2db3 100644
>>--- a/drivers/gpu/drm/xe/xe_exec_queue.h
>>+++ b/drivers/gpu/drm/xe/xe_exec_queue.h
>>@@ -66,5 +66,6 @@ struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
>>  					       struct xe_vm *vm);
>>  void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
>>  				  struct dma_fence *fence);
>>+void xe_exec_queue_update_runtime(struct xe_exec_queue *q);
>>  #endif
>>diff --git a/drivers/gpu/drm/xe/xe_sched_job.c b/drivers/gpu/drm/xe/xe_sched_job.c
>>index cd8a2fba5438..6a081a4fa190 100644
>>--- a/drivers/gpu/drm/xe/xe_sched_job.c
>>+++ b/drivers/gpu/drm/xe/xe_sched_job.c
>>@@ -242,6 +242,8 @@ bool xe_sched_job_completed(struct xe_sched_job *job)
>>  {
>>  	struct xe_lrc *lrc = job->q->lrc;
>>+	xe_exec_queue_update_runtime(job->q);
>>+
>>  	/*
>>  	 * Can safely check just LRC[0] seqno as that is last seqno written when
>>  	 * parallel handshake is done.

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

* Re: [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime
  2024-04-26 18:59     ` Umesh Nerlige Ramappa
@ 2024-04-29  8:07       ` Tvrtko Ursulin
  0 siblings, 0 replies; 23+ messages in thread
From: Tvrtko Ursulin @ 2024-04-29  8:07 UTC (permalink / raw)
  To: Umesh Nerlige Ramappa; +Cc: Lucas De Marchi, intel-xe, dri-devel


On 26/04/2024 19:59, Umesh Nerlige Ramappa wrote:
> On Fri, Apr 26, 2024 at 11:49:32AM +0100, Tvrtko Ursulin wrote:
>>
>> On 24/04/2024 00:56, Lucas De Marchi wrote:
>>> From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>>>
>>> Add a helper to accumulate per-client runtime of all its
>>> exec queues. Currently that is done in 2 places:
>>>
>>>     1. when the exec_queue is destroyed
>>>     2. when the sched job is completed
>>>
>>> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>>> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>> ---
>>>  drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
>>>  drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
>>>  drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
>>>  drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
>>>  4 files changed, 49 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_device_types.h 
>>> b/drivers/gpu/drm/xe/xe_device_types.h
>>> index 2e62450d86e1..33d3bf93a2f1 100644
>>> --- a/drivers/gpu/drm/xe/xe_device_types.h
>>> +++ b/drivers/gpu/drm/xe/xe_device_types.h
>>> @@ -547,6 +547,15 @@ struct xe_file {
>>>          struct mutex lock;
>>>      } exec_queue;
>>> +    /**
>>> +     * @runtime: hw engine class runtime in ticks for this drm client
>>> +     *
>>> +     * Only stats from xe_exec_queue->lrc[0] are accumulated. For 
>>> multi-lrc
>>> +     * case, since all jobs run in parallel on the engines, only the 
>>> stats
>>> +     * from lrc[0] are sufficient.
>>
>> Out of curiousity doesn't this mean multi-lrc jobs will be incorrectly 
>> accounted for? (When capacity is considered.)
> 
> TBH, I am not sure what the user would like to see here for multi-lrc. 
> If reporting the capacity, then we may need to use width as a 
> multiplication factor for multi-lrc. How was this done in i915?

IMO user has to see the real utilisation - so if there are two VCS and 
both are busy, 100% should be reported and not 50%. Latter would be 
misleading, either with or without cross-checking with physical utilisation.

In i915 with execlists this works correctly and with GuC you would 
probably know the answer better than me.

Regards,

Tvrtko

> 
> Regards,
> Umesh
> 
> 
>>
>> Regards,
>>
>> Tvrtko
>>
>>> +     */
>>> +    u64 runtime[XE_ENGINE_CLASS_MAX];
>>> +
>>>      /** @client: drm client */
>>>      struct xe_drm_client *client;
>>>  };
>>> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c 
>>> b/drivers/gpu/drm/xe/xe_exec_queue.c
>>> index 395de93579fa..b7b6256cb96a 100644
>>> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
>>> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
>>> @@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
>>>  {
>>>      int i;
>>> +    xe_exec_queue_update_runtime(q);
>>> +
>>>      for (i = 0; i < q->width; ++i)
>>>          xe_lrc_finish(q->lrc + i);
>>>      if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & 
>>> EXEC_QUEUE_FLAG_VM || !q->vm))
>>> @@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
>>>          q->lrc[0].fence_ctx.next_seqno - 1;
>>>  }
>>> +/**
>>> + * xe_exec_queue_update_runtime() - Update runtime for this exec 
>>> queue from hw
>>> + * @q: The exec queue
>>> + *
>>> + * Update the timestamp saved by HW for this exec queue and save 
>>> runtime
>>> + * calculated by using the delta from last update. On multi-lrc 
>>> case, only the
>>> + * first is considered.
>>> + */
>>> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
>>> +{
>>> +    struct xe_file *xef;
>>> +    struct xe_lrc *lrc;
>>> +    u32 old_ts, new_ts;
>>> +
>>> +    /*
>>> +     * Jobs that are run during driver load may use an exec_queue, 
>>> but are
>>> +     * not associated with a user xe file, so avoid accumulating 
>>> busyness
>>> +     * for kernel specific work.
>>> +     */
>>> +    if (!q->vm || !q->vm->xef)
>>> +        return;
>>> +
>>> +    xef = q->vm->xef;
>>> +    lrc = &q->lrc[0];
>>> +
>>> +    new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
>>> +
>>> +    /*
>>> +     * Special case the very first timestamp: we don't want the
>>> +     * initial delta to be a huge value
>>> +     */
>>> +    if (old_ts)
>>> +        xef->runtime[q->class] += new_ts - old_ts;
>>> +}
>>> +
>>>  void xe_exec_queue_kill(struct xe_exec_queue *q)
>>>  {
>>>      struct xe_exec_queue *eq = q, *next;
>>> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h 
>>> b/drivers/gpu/drm/xe/xe_exec_queue.h
>>> index 02ce8d204622..45b72daa2db3 100644
>>> --- a/drivers/gpu/drm/xe/xe_exec_queue.h
>>> +++ b/drivers/gpu/drm/xe/xe_exec_queue.h
>>> @@ -66,5 +66,6 @@ struct dma_fence 
>>> *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
>>>                             struct xe_vm *vm);
>>>  void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct 
>>> xe_vm *vm,
>>>                    struct dma_fence *fence);
>>> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q);
>>>  #endif
>>> diff --git a/drivers/gpu/drm/xe/xe_sched_job.c 
>>> b/drivers/gpu/drm/xe/xe_sched_job.c
>>> index cd8a2fba5438..6a081a4fa190 100644
>>> --- a/drivers/gpu/drm/xe/xe_sched_job.c
>>> +++ b/drivers/gpu/drm/xe/xe_sched_job.c
>>> @@ -242,6 +242,8 @@ bool xe_sched_job_completed(struct xe_sched_job 
>>> *job)
>>>  {
>>>      struct xe_lrc *lrc = job->q->lrc;
>>> +    xe_exec_queue_update_runtime(job->q);
>>> +
>>>      /*
>>>       * Can safely check just LRC[0] seqno as that is last seqno 
>>> written when
>>>       * parallel handshake is done.

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

* Re: [PATCH v2 6/6] drm/xe/client: Print runtime to fdinfo
  2024-04-26 10:47   ` Tvrtko Ursulin
@ 2024-05-07 21:35     ` Lucas De Marchi
  2024-05-08  8:23       ` Tvrtko Ursulin
  0 siblings, 1 reply; 23+ messages in thread
From: Lucas De Marchi @ 2024-05-07 21:35 UTC (permalink / raw)
  To: Tvrtko Ursulin
  Cc: intel-xe, dri-devel, Umesh Nerlige Ramappa, Adrián Larumbe,
	Rob Clark, Alex Deucher, Christian König, Maíra Canal

On Fri, Apr 26, 2024 at 11:47:37AM GMT, Tvrtko Ursulin wrote:
>
>On 24/04/2024 00:56, Lucas De Marchi wrote:
>>Print the accumulated runtime for client when printing fdinfo.
>>Each time a query is done it first does 2 things:
>>
>>1) loop through all the exec queues for the current client and
>>    accumulate the runtime, per engine class. CTX_TIMESTAMP is used for
>>    that, being read from the context image.
>>
>>2) Read a "GPU timestamp" that can be used for considering "how much GPU
>>    time has passed" and that has the same unit/refclock as the one
>>    recording the runtime. RING_TIMESTAMP is used for that via MMIO.
>>
>>Since for all current platforms RING_TIMESTAMP follows the same
>>refclock, just read it once, using any first engine.
>>
>>This is exported to userspace as 2 numbers in fdinfo:
>>
>>	drm-cycles-<class>: <RUNTIME>
>>	drm-total-cycles-<class>: <TIMESTAMP>
>>
>>Userspace is expected to collect at least 2 samples, which allows to
>>know the client engine busyness as per:
>>
>>		    RUNTIME1 - RUNTIME0
>>	busyness = ---------------------
>>			  T1 - T0
>>
>>Another thing to point out is that it's expected that userspace will
>>read any 2 samples every few seconds.  Given the update frequency of the
>>counters involved and that CTX_TIMESTAMP is 32-bits, the counter for
>>each exec_queue can wrap around (assuming 100% utilization) after ~200s.
>>The wraparound is not perceived by userspace since it's just accumulated
>>for all the exec_queues in a 64-bit counter), but the measurement will
>>not be accurate if the samples are too far apart.
>>
>>This could be mitigated by adding a workqueue to accumulate the counters
>>every so often, but it's additional complexity for something that is
>>done already by userspace every few seconds in tools like gputop (from
>>igt), htop, nvtop, etc with none of them really defaulting to 1 sample
>>per minute or more.
>>
>>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>---
>>  Documentation/gpu/drm-usage-stats.rst       |  16 ++-
>>  Documentation/gpu/xe/index.rst              |   1 +
>>  Documentation/gpu/xe/xe-drm-usage-stats.rst |  10 ++
>>  drivers/gpu/drm/xe/xe_drm_client.c          | 138 +++++++++++++++++++-
>>  4 files changed, 162 insertions(+), 3 deletions(-)
>>  create mode 100644 Documentation/gpu/xe/xe-drm-usage-stats.rst
>>
>>diff --git a/Documentation/gpu/drm-usage-stats.rst b/Documentation/gpu/drm-usage-stats.rst
>>index 6dc299343b48..421766289b78 100644
>>--- a/Documentation/gpu/drm-usage-stats.rst
>>+++ b/Documentation/gpu/drm-usage-stats.rst
>>@@ -112,6 +112,17 @@ larger value within a reasonable period. Upon observing a value lower than what
>>  was previously read, userspace is expected to stay with that larger previous
>>  value until a monotonic update is seen.
>>+- drm-total-cycles-<keystr>: <uint>
>>+
>>+Engine identifier string must be the same as the one specified in the
>>+drm-cycles-<keystr> tag and shall contain the total number cycles for the given
>>+engine.
>>+
>>+This is a timestamp in GPU unspecified unit that matches the update rate
>>+of drm-cycles-<keystr>. For drivers that implement this interface, the engine
>>+utilization can be calculated entirely on the GPU clock domain, without
>>+considering the CPU sleep time between 2 samples.
>
>Two opens.
>
>1)
>Do we need to explicity document that drm-total-cycles and drm-maxfreq 
>are mutually exclusive?

so userspace has a fallback mechanism to calculate utilization depending
on what keys are available?

>
>2)
>Should drm-total-cycles for now be documents as driver specific?

you mean to call it xe-total-cycles?

>
>I have added some more poeple in the cc who were involved with driver 
>fdinfo implementations if they will have an opinion.
>
>I would say potentially yes, and promote it to common if more than one 
>driver would use it.
>
>For instance I see panfrost has the driver specific drm-curfreq 
>(although isn't documenting it fully in panfrost.rst). And I have to 
>say it is somewhat questionable to expose the current frequency per 
>fdinfo per engine but not my call.

aren't all of Documentation/gpu/drm-usage-stats.rst optional that
driver may or may not implement? When you say driver-specific I'd think
more of the ones not using <drm> as prefix as e.g. amd-*.

I think drm-cycles + drm-total-cycles is just an alternative
implementation for engine utilization. Like drm-cycles + drm-maxfreq
already is an alternative to drm-engine and is not implemented by e.g.
amdgpu/i915.

I will submit a new version of the entire patch series to get the ball
rolling, but let's keep this open for now.

<...>

>>+static void show_runtime(struct drm_printer *p, struct drm_file *file)
>>+{
>>+	struct xe_file *xef = file->driver_priv;
>>+	struct xe_device *xe = xef->xe;
>>+	struct xe_gt *gt;
>>+	struct xe_hw_engine *hwe;
>>+	struct xe_exec_queue *q;
>>+	unsigned long i, id_hwe, id_gt, capacity[XE_ENGINE_CLASS_MAX] = { };
>>+	u64 gpu_timestamp, engine_mask = 0;
>>+	bool gpu_stamp = false;
>>+
>>+	xe_pm_runtime_get(xe);
>>+
>>+	/* Accumulate all the exec queues from this client */
>>+	mutex_lock(&xef->exec_queue.lock);
>>+	xa_for_each(&xef->exec_queue.xa, i, q)
>>+		xe_exec_queue_update_runtime(q);
>>+	mutex_unlock(&xef->exec_queue.lock);
>>+
>>+
>>+	/* Calculate capacity of each engine class */
>>+	BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
>>+	for_each_gt(gt, xe, id_gt)
>>+		engine_mask |= gt->info.engine_mask;
>>+	for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
>>+		capacity[i] = hweight64(engine_mask & class_to_mask[i]);
>
>FWIW the above two loops are static so could store capacity in struct 
>xe_device.

yes, but just creating a cache in xe of something derived from gt is not
something to consider lightly. Particularly considering the small number
of xe->info.gt_count we have. For something that runs only when someone
cat the fdinfo, this doesn't seem terrible.

>
>>+
>>+	/*
>>+	 * Iterate over all engines, printing the accumulated
>>+	 * runtime for this client, per engine class
>>+	 */
>>+	for_each_gt(gt, xe, id_gt) {
>>+		xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>>+		for_each_hw_engine(hwe, gt, id_hwe) {
>>+			const char *class_name;
>>+
>>+			if (!capacity[hwe->class])
>>+				continue;
>>+
>>+			/*
>>+			 * Use any (first) engine to have a timestamp to be used every
>>+			 * time
>>+			 */
>>+			if (!gpu_stamp) {
>>+				gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
>>+				gpu_stamp = true;
>>+			}
>>+
>>+			class_name = xe_hw_engine_class_to_str(hwe->class);
>>+
>>+			drm_printf(p, "drm-cycles-%s:\t%llu\n",
>>+				   class_name, xef->runtime[hwe->class]);
>>+			drm_printf(p, "drm-total-cycles-%s:\t%llu\n",
>>+				   class_name, gpu_timestamp);
>>+
>>+			if (capacity[hwe->class] > 1)
>>+				drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
>>+					   class_name, capacity[hwe->class]);
>>+
>>+			/* engine class already handled, skip next iterations */
>>+			capacity[hwe->class] = 0;
>>+		}
>>+		xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
>>+	}
>
>More FWIW and AFAICT, could just walk the "list" of classes instead of 

xe_force_wake_get() is per gt, so the alternative would be... loop
through the gts to get all forcewakes, loop through all engine classes, loop
again through all gts to put the forcewake. And we also need to consider
that an engine class may not be available in all GTs... example:
vcs/vecs in MTL and later, so we need to track it globally across GTs
anyway.

>the nested loop with skipping already visited classes. Assuming in xe 
>there is an easy way to get a known present engine for the 
>gpu_timestamp it would be flatter and less code.

from the device we can get either tile or gt. To work with the
hw_engines we have to look inside the gt.

Lucas De Marchi

>
>Regards,
>
>Tvrtko
>
>>+
>>+	xe_pm_runtime_get(xe);
>>+}
>>+
>>  /**
>>   * xe_drm_client_fdinfo() - Callback for fdinfo interface
>>   * @p: The drm_printer ptr
>>@@ -192,5 +327,6 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
>>  void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
>>  {
>>  	show_meminfo(p, file);
>>+	show_runtime(p, file);
>>  }
>>  #endif

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

* Re: [PATCH v2 6/6] drm/xe/client: Print runtime to fdinfo
  2024-05-07 21:35     ` Lucas De Marchi
@ 2024-05-08  8:23       ` Tvrtko Ursulin
  2024-05-08 20:53         ` Lucas De Marchi
  0 siblings, 1 reply; 23+ messages in thread
From: Tvrtko Ursulin @ 2024-05-08  8:23 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: intel-xe, dri-devel, Umesh Nerlige Ramappa, Adrián Larumbe,
	Rob Clark, Alex Deucher, Christian König, Maíra Canal


On 07/05/2024 22:35, Lucas De Marchi wrote:
> On Fri, Apr 26, 2024 at 11:47:37AM GMT, Tvrtko Ursulin wrote:
>>
>> On 24/04/2024 00:56, Lucas De Marchi wrote:
>>> Print the accumulated runtime for client when printing fdinfo.
>>> Each time a query is done it first does 2 things:
>>>
>>> 1) loop through all the exec queues for the current client and
>>>    accumulate the runtime, per engine class. CTX_TIMESTAMP is used for
>>>    that, being read from the context image.
>>>
>>> 2) Read a "GPU timestamp" that can be used for considering "how much GPU
>>>    time has passed" and that has the same unit/refclock as the one
>>>    recording the runtime. RING_TIMESTAMP is used for that via MMIO.
>>>
>>> Since for all current platforms RING_TIMESTAMP follows the same
>>> refclock, just read it once, using any first engine.
>>>
>>> This is exported to userspace as 2 numbers in fdinfo:
>>>
>>>     drm-cycles-<class>: <RUNTIME>
>>>     drm-total-cycles-<class>: <TIMESTAMP>
>>>
>>> Userspace is expected to collect at least 2 samples, which allows to
>>> know the client engine busyness as per:
>>>
>>>             RUNTIME1 - RUNTIME0
>>>     busyness = ---------------------
>>>               T1 - T0
>>>
>>> Another thing to point out is that it's expected that userspace will
>>> read any 2 samples every few seconds.  Given the update frequency of the
>>> counters involved and that CTX_TIMESTAMP is 32-bits, the counter for
>>> each exec_queue can wrap around (assuming 100% utilization) after ~200s.
>>> The wraparound is not perceived by userspace since it's just accumulated
>>> for all the exec_queues in a 64-bit counter), but the measurement will
>>> not be accurate if the samples are too far apart.
>>>
>>> This could be mitigated by adding a workqueue to accumulate the counters
>>> every so often, but it's additional complexity for something that is
>>> done already by userspace every few seconds in tools like gputop (from
>>> igt), htop, nvtop, etc with none of them really defaulting to 1 sample
>>> per minute or more.
>>>
>>> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>> ---
>>>  Documentation/gpu/drm-usage-stats.rst       |  16 ++-
>>>  Documentation/gpu/xe/index.rst              |   1 +
>>>  Documentation/gpu/xe/xe-drm-usage-stats.rst |  10 ++
>>>  drivers/gpu/drm/xe/xe_drm_client.c          | 138 +++++++++++++++++++-
>>>  4 files changed, 162 insertions(+), 3 deletions(-)
>>>  create mode 100644 Documentation/gpu/xe/xe-drm-usage-stats.rst
>>>
>>> diff --git a/Documentation/gpu/drm-usage-stats.rst 
>>> b/Documentation/gpu/drm-usage-stats.rst
>>> index 6dc299343b48..421766289b78 100644
>>> --- a/Documentation/gpu/drm-usage-stats.rst
>>> +++ b/Documentation/gpu/drm-usage-stats.rst
>>> @@ -112,6 +112,17 @@ larger value within a reasonable period. Upon 
>>> observing a value lower than what
>>>  was previously read, userspace is expected to stay with that larger 
>>> previous
>>>  value until a monotonic update is seen.
>>> +- drm-total-cycles-<keystr>: <uint>
>>> +
>>> +Engine identifier string must be the same as the one specified in the
>>> +drm-cycles-<keystr> tag and shall contain the total number cycles 
>>> for the given
>>> +engine.
>>> +
>>> +This is a timestamp in GPU unspecified unit that matches the update 
>>> rate
>>> +of drm-cycles-<keystr>. For drivers that implement this interface, 
>>> the engine
>>> +utilization can be calculated entirely on the GPU clock domain, without
>>> +considering the CPU sleep time between 2 samples.
>>
>> Two opens.
>>
>> 1)
>> Do we need to explicity document that drm-total-cycles and drm-maxfreq 
>> are mutually exclusive?
> 
> so userspace has a fallback mechanism to calculate utilization depending
> on what keys are available?

No, to document all three at once do not make sense. Or at least are not 
expected. Or you envisage someone might legitimately emit all three? I 
don't see what would be the semantics. When we have cycles+maxfreq the 
latter is in Hz. And when we have cycles+total then it is unitless. All 
three?

>> 2)
>> Should drm-total-cycles for now be documents as driver specific?
> 
> you mean to call it xe-total-cycles?

Yes but it is not an ask, just an open.

>> I have added some more poeple in the cc who were involved with driver 
>> fdinfo implementations if they will have an opinion.
>>
>> I would say potentially yes, and promote it to common if more than one 
>> driver would use it.
>>
>> For instance I see panfrost has the driver specific drm-curfreq 
>> (although isn't documenting it fully in panfrost.rst). And I have to 
>> say it is somewhat questionable to expose the current frequency per 
>> fdinfo per engine but not my call.
> 
> aren't all of Documentation/gpu/drm-usage-stats.rst optional that
> driver may or may not implement? When you say driver-specific I'd think
> more of the ones not using <drm> as prefix as e.g. amd-*.
> 
> I think drm-cycles + drm-total-cycles is just an alternative
> implementation for engine utilization. Like drm-cycles + drm-maxfreq
> already is an alternative to drm-engine and is not implemented by e.g.
> amdgpu/i915.
> 
> I will submit a new version of the entire patch series to get the ball
> rolling, but let's keep this open for now.
> 
> <...>
> 
>>> +static void show_runtime(struct drm_printer *p, struct drm_file *file)
>>> +{
>>> +    struct xe_file *xef = file->driver_priv;
>>> +    struct xe_device *xe = xef->xe;
>>> +    struct xe_gt *gt;
>>> +    struct xe_hw_engine *hwe;
>>> +    struct xe_exec_queue *q;
>>> +    unsigned long i, id_hwe, id_gt, capacity[XE_ENGINE_CLASS_MAX] = 
>>> { };
>>> +    u64 gpu_timestamp, engine_mask = 0;
>>> +    bool gpu_stamp = false;
>>> +
>>> +    xe_pm_runtime_get(xe);
>>> +
>>> +    /* Accumulate all the exec queues from this client */
>>> +    mutex_lock(&xef->exec_queue.lock);
>>> +    xa_for_each(&xef->exec_queue.xa, i, q)
>>> +        xe_exec_queue_update_runtime(q);
>>> +    mutex_unlock(&xef->exec_queue.lock);
>>> +
>>> +
>>> +    /* Calculate capacity of each engine class */
>>> +    BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
>>> +    for_each_gt(gt, xe, id_gt)
>>> +        engine_mask |= gt->info.engine_mask;
>>> +    for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
>>> +        capacity[i] = hweight64(engine_mask & class_to_mask[i]);
>>
>> FWIW the above two loops are static so could store capacity in struct 
>> xe_device.
> 
> yes, but just creating a cache in xe of something derived from gt is not
> something to consider lightly. Particularly considering the small number
> of xe->info.gt_count we have. For something that runs only when someone
> cat the fdinfo, this doesn't seem terrible.
> 
>>
>>> +
>>> +    /*
>>> +     * Iterate over all engines, printing the accumulated
>>> +     * runtime for this client, per engine class
>>> +     */
>>> +    for_each_gt(gt, xe, id_gt) {
>>> +        xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>>> +        for_each_hw_engine(hwe, gt, id_hwe) {
>>> +            const char *class_name;
>>> +
>>> +            if (!capacity[hwe->class])
>>> +                continue;
>>> +
>>> +            /*
>>> +             * Use any (first) engine to have a timestamp to be used 
>>> every
>>> +             * time
>>> +             */
>>> +            if (!gpu_stamp) {
>>> +                gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
>>> +                gpu_stamp = true;
>>> +            }
>>> +
>>> +            class_name = xe_hw_engine_class_to_str(hwe->class);
>>> +
>>> +            drm_printf(p, "drm-cycles-%s:\t%llu\n",
>>> +                   class_name, xef->runtime[hwe->class]);
>>> +            drm_printf(p, "drm-total-cycles-%s:\t%llu\n",
>>> +                   class_name, gpu_timestamp);
>>> +
>>> +            if (capacity[hwe->class] > 1)
>>> +                drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
>>> +                       class_name, capacity[hwe->class]);
>>> +
>>> +            /* engine class already handled, skip next iterations */
>>> +            capacity[hwe->class] = 0;
>>> +        }
>>> +        xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
>>> +    }
>>
>> More FWIW and AFAICT, could just walk the "list" of classes instead of 
> 
> xe_force_wake_get() is per gt, so the alternative would be... loop
> through the gts to get all forcewakes, loop through all engine classes, 
> loop
> again through all gts to put the forcewake. And we also need to consider
> that an engine class may not be available in all GTs... example:
> vcs/vecs in MTL and later, so we need to track it globally across GTs
> anyway.

Forcewake is only needed once for the gpu_timestamp, no? At least I 
don't see any other potential hardware access in the loop. Hence I 
thought if you could have a known engine to get the timestamp outside 
the loop, you could then run a flat loop (over classes) avoiding the per 
gt fw dance. Your choice ofc.

Regards,

Tvrtko

> 
>> the nested loop with skipping already visited classes. Assuming in xe 
>> there is an easy way to get a known present engine for the 
>> gpu_timestamp it would be flatter and less code.
> 
> from the device we can get either tile or gt. To work with the
> hw_engines we have to look inside the gt.
> 
> Lucas De Marchi
> 
>>
>> Regards,
>>
>> Tvrtko
>>
>>> +
>>> +    xe_pm_runtime_get(xe);
>>> +}
>>> +
>>>  /**
>>>   * xe_drm_client_fdinfo() - Callback for fdinfo interface
>>>   * @p: The drm_printer ptr
>>> @@ -192,5 +327,6 @@ static void show_meminfo(struct drm_printer *p, 
>>> struct drm_file *file)
>>>  void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
>>>  {
>>>      show_meminfo(p, file);
>>> +    show_runtime(p, file);
>>>  }
>>>  #endif

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

* Re: [PATCH v2 6/6] drm/xe/client: Print runtime to fdinfo
  2024-05-08  8:23       ` Tvrtko Ursulin
@ 2024-05-08 20:53         ` Lucas De Marchi
  0 siblings, 0 replies; 23+ messages in thread
From: Lucas De Marchi @ 2024-05-08 20:53 UTC (permalink / raw)
  To: Tvrtko Ursulin
  Cc: intel-xe, dri-devel, Umesh Nerlige Ramappa, Adrián Larumbe,
	Rob Clark, Alex Deucher, Christian König, Maíra Canal

On Wed, May 08, 2024 at 09:23:17AM GMT, Tvrtko Ursulin wrote:
>
>On 07/05/2024 22:35, Lucas De Marchi wrote:
>>On Fri, Apr 26, 2024 at 11:47:37AM GMT, Tvrtko Ursulin wrote:
>>>
>>>On 24/04/2024 00:56, Lucas De Marchi wrote:
>>>>Print the accumulated runtime for client when printing fdinfo.
>>>>Each time a query is done it first does 2 things:
>>>>
>>>>1) loop through all the exec queues for the current client and
>>>>   accumulate the runtime, per engine class. CTX_TIMESTAMP is used for
>>>>   that, being read from the context image.
>>>>
>>>>2) Read a "GPU timestamp" that can be used for considering "how much GPU
>>>>   time has passed" and that has the same unit/refclock as the one
>>>>   recording the runtime. RING_TIMESTAMP is used for that via MMIO.
>>>>
>>>>Since for all current platforms RING_TIMESTAMP follows the same
>>>>refclock, just read it once, using any first engine.
>>>>
>>>>This is exported to userspace as 2 numbers in fdinfo:
>>>>
>>>>    drm-cycles-<class>: <RUNTIME>
>>>>    drm-total-cycles-<class>: <TIMESTAMP>
>>>>
>>>>Userspace is expected to collect at least 2 samples, which allows to
>>>>know the client engine busyness as per:
>>>>
>>>>            RUNTIME1 - RUNTIME0
>>>>    busyness = ---------------------
>>>>              T1 - T0
>>>>
>>>>Another thing to point out is that it's expected that userspace will
>>>>read any 2 samples every few seconds.  Given the update frequency of the
>>>>counters involved and that CTX_TIMESTAMP is 32-bits, the counter for
>>>>each exec_queue can wrap around (assuming 100% utilization) after ~200s.
>>>>The wraparound is not perceived by userspace since it's just accumulated
>>>>for all the exec_queues in a 64-bit counter), but the measurement will
>>>>not be accurate if the samples are too far apart.
>>>>
>>>>This could be mitigated by adding a workqueue to accumulate the counters
>>>>every so often, but it's additional complexity for something that is
>>>>done already by userspace every few seconds in tools like gputop (from
>>>>igt), htop, nvtop, etc with none of them really defaulting to 1 sample
>>>>per minute or more.
>>>>
>>>>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>>>---
>>>> Documentation/gpu/drm-usage-stats.rst       |  16 ++-
>>>> Documentation/gpu/xe/index.rst              |   1 +
>>>> Documentation/gpu/xe/xe-drm-usage-stats.rst |  10 ++
>>>> drivers/gpu/drm/xe/xe_drm_client.c          | 138 +++++++++++++++++++-
>>>> 4 files changed, 162 insertions(+), 3 deletions(-)
>>>> create mode 100644 Documentation/gpu/xe/xe-drm-usage-stats.rst
>>>>
>>>>diff --git a/Documentation/gpu/drm-usage-stats.rst 
>>>>b/Documentation/gpu/drm-usage-stats.rst
>>>>index 6dc299343b48..421766289b78 100644
>>>>--- a/Documentation/gpu/drm-usage-stats.rst
>>>>+++ b/Documentation/gpu/drm-usage-stats.rst
>>>>@@ -112,6 +112,17 @@ larger value within a reasonable period. 
>>>>Upon observing a value lower than what
>>>> was previously read, userspace is expected to stay with that 
>>>>larger previous
>>>> value until a monotonic update is seen.
>>>>+- drm-total-cycles-<keystr>: <uint>
>>>>+
>>>>+Engine identifier string must be the same as the one specified in the
>>>>+drm-cycles-<keystr> tag and shall contain the total number 
>>>>cycles for the given
>>>>+engine.
>>>>+
>>>>+This is a timestamp in GPU unspecified unit that matches the 
>>>>update rate
>>>>+of drm-cycles-<keystr>. For drivers that implement this 
>>>>interface, the engine
>>>>+utilization can be calculated entirely on the GPU clock domain, without
>>>>+considering the CPU sleep time between 2 samples.
>>>
>>>Two opens.
>>>
>>>1)
>>>Do we need to explicity document that drm-total-cycles and 
>>>drm-maxfreq are mutually exclusive?
>>
>>so userspace has a fallback mechanism to calculate utilization depending
>>on what keys are available?
>
>No, to document all three at once do not make sense. Or at least are 
>not expected. Or you envisage someone might legitimately emit all 
>three? I don't see what would be the semantics. When we have 
>cycles+maxfreq the latter is in Hz. And when we have cycles+total then 
>it is unitless. All three?

I don't follow what you mean here. *cycles* is actually a unit.

The engine spent 10 cycles running this context (drm-cycles). In the
same period there were 100 cycles available (drm-total-cycles). Current
frequency is X MHz. Max frequency is Y MHz. For me all of them make
sense if one wants to mix them together. For xe it doesn't make sense
because the counter backing drm-cycles and drm-total-cycles is unrelated
to the engine frequency.

I can add something in the doc that we do not expected to see all of them
together until we see a usecase. Each driver may implement a subset.

>
>>>2)
>>>Should drm-total-cycles for now be documents as driver specific?
>>
>>you mean to call it xe-total-cycles?
>
>Yes but it is not an ask, just an open.

Ok, my opinion is that we shouldn't. Just like we have drm-cycles today
implemented by some drivers, but not all. I'd consider the drm-curfreq,
not documented in the drm layer as something to be fixed or migrated to
a driver-only interface (probably not possible anymore as it'd break the
uapi).  Problem I see with turning it into xe-total-cycles, is that the
moment another driver decide to implement they will either have to use
xe- prefix or xe will need to start publishing both keys.
As said above, I can document that it's not expected to use both total
and maxfreq as it's currently the case.

>
>>>I have added some more poeple in the cc who were involved with 
>>>driver fdinfo implementations if they will have an opinion.
>>>
>>>I would say potentially yes, and promote it to common if more than 
>>>one driver would use it.
>>>
>>>For instance I see panfrost has the driver specific drm-curfreq 
>>>(although isn't documenting it fully in panfrost.rst). And I have 
>>>to say it is somewhat questionable to expose the current frequency 
>>>per fdinfo per engine but not my call.
>>
>>aren't all of Documentation/gpu/drm-usage-stats.rst optional that
>>driver may or may not implement? When you say driver-specific I'd think
>>more of the ones not using <drm> as prefix as e.g. amd-*.
>>
>>I think drm-cycles + drm-total-cycles is just an alternative
>>implementation for engine utilization. Like drm-cycles + drm-maxfreq
>>already is an alternative to drm-engine and is not implemented by e.g.
>>amdgpu/i915.
>>
>>I will submit a new version of the entire patch series to get the ball
>>rolling, but let's keep this open for now.
>>
>><...>
>>
>>>>+static void show_runtime(struct drm_printer *p, struct drm_file *file)
>>>>+{
>>>>+    struct xe_file *xef = file->driver_priv;
>>>>+    struct xe_device *xe = xef->xe;
>>>>+    struct xe_gt *gt;
>>>>+    struct xe_hw_engine *hwe;
>>>>+    struct xe_exec_queue *q;
>>>>+    unsigned long i, id_hwe, id_gt, 
>>>>capacity[XE_ENGINE_CLASS_MAX] = { };
>>>>+    u64 gpu_timestamp, engine_mask = 0;
>>>>+    bool gpu_stamp = false;
>>>>+
>>>>+    xe_pm_runtime_get(xe);
>>>>+
>>>>+    /* Accumulate all the exec queues from this client */
>>>>+    mutex_lock(&xef->exec_queue.lock);
>>>>+    xa_for_each(&xef->exec_queue.xa, i, q)
>>>>+        xe_exec_queue_update_runtime(q);
>>>>+    mutex_unlock(&xef->exec_queue.lock);
>>>>+
>>>>+
>>>>+    /* Calculate capacity of each engine class */
>>>>+    BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
>>>>+    for_each_gt(gt, xe, id_gt)
>>>>+        engine_mask |= gt->info.engine_mask;
>>>>+    for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
>>>>+        capacity[i] = hweight64(engine_mask & class_to_mask[i]);
>>>
>>>FWIW the above two loops are static so could store capacity in 
>>>struct xe_device.
>>
>>yes, but just creating a cache in xe of something derived from gt is not
>>something to consider lightly. Particularly considering the small number
>>of xe->info.gt_count we have. For something that runs only when someone
>>cat the fdinfo, this doesn't seem terrible.
>>
>>>
>>>>+
>>>>+    /*
>>>>+     * Iterate over all engines, printing the accumulated
>>>>+     * runtime for this client, per engine class
>>>>+     */
>>>>+    for_each_gt(gt, xe, id_gt) {
>>>>+        xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>>>>+        for_each_hw_engine(hwe, gt, id_hwe) {
>>>>+            const char *class_name;
>>>>+
>>>>+            if (!capacity[hwe->class])
>>>>+                continue;
>>>>+
>>>>+            /*
>>>>+             * Use any (first) engine to have a timestamp to be 
>>>>used every
>>>>+             * time
>>>>+             */
>>>>+            if (!gpu_stamp) {
>>>>+                gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
>>>>+                gpu_stamp = true;
>>>>+            }
>>>>+
>>>>+            class_name = xe_hw_engine_class_to_str(hwe->class);
>>>>+
>>>>+            drm_printf(p, "drm-cycles-%s:\t%llu\n",
>>>>+                   class_name, xef->runtime[hwe->class]);
>>>>+            drm_printf(p, "drm-total-cycles-%s:\t%llu\n",
>>>>+                   class_name, gpu_timestamp);
>>>>+
>>>>+            if (capacity[hwe->class] > 1)
>>>>+                drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
>>>>+                       class_name, capacity[hwe->class]);
>>>>+
>>>>+            /* engine class already handled, skip next iterations */
>>>>+            capacity[hwe->class] = 0;
>>>>+        }
>>>>+        xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
>>>>+    }
>>>
>>>More FWIW and AFAICT, could just walk the "list" of classes 
>>>instead of
>>
>>xe_force_wake_get() is per gt, so the alternative would be... loop
>>through the gts to get all forcewakes, loop through all engine 
>>classes, loop
>>again through all gts to put the forcewake. And we also need to consider
>>that an engine class may not be available in all GTs... example:
>>vcs/vecs in MTL and later, so we need to track it globally across GTs
>>anyway.
>
>Forcewake is only needed once for the gpu_timestamp, no? At least I 
>don't see any other potential hardware access in the loop. Hence I 
>thought if you could have a known engine to get the timestamp outside 
>the loop, you could then run a flat loop (over classes) avoiding the 
>per gt fw dance. Your choice ofc.

makes sense... I will try this and run some tests.

thanks
Lucas De Marchi

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

end of thread, other threads:[~2024-05-08 20:53 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-23 23:56 [PATCH v2 0/6] drm/xe: Per client usage Lucas De Marchi
2024-04-23 23:56 ` [PATCH v2 1/6] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
2024-04-23 23:56 ` [PATCH v2 2/6] drm/xe: Add helper to capture engine timestamp Lucas De Marchi
2024-04-23 23:56 ` [PATCH v2 3/6] drm/xe: Add helper to accumulate exec queue runtime Lucas De Marchi
2024-04-24  4:08   ` Matthew Brost
2024-04-24 14:51     ` Lucas De Marchi
2024-04-26 10:49   ` Tvrtko Ursulin
2024-04-26 18:59     ` Umesh Nerlige Ramappa
2024-04-29  8:07       ` Tvrtko Ursulin
2024-04-23 23:56 ` [PATCH v2 4/6] drm/xe: Promote xe_hw_engine_class_to_str() Lucas De Marchi
2024-04-23 23:56 ` [PATCH v2 5/6] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion Lucas De Marchi
2024-04-23 23:56 ` [PATCH v2 6/6] drm/xe/client: Print runtime to fdinfo Lucas De Marchi
2024-04-26 10:47   ` Tvrtko Ursulin
2024-05-07 21:35     ` Lucas De Marchi
2024-05-08  8:23       ` Tvrtko Ursulin
2024-05-08 20:53         ` Lucas De Marchi
2024-04-24  1:14 ` ✓ CI.Patch_applied: success for drm/xe: Per client usage (rev2) Patchwork
2024-04-24  1:14 ` ✗ CI.checkpatch: warning " Patchwork
2024-04-24  1:15 ` ✓ CI.KUnit: success " Patchwork
2024-04-24  1:27 ` ✓ CI.Build: " Patchwork
2024-04-24  1:29 ` ✓ CI.Hooks: " Patchwork
2024-04-24  1:31 ` ✓ CI.checksparse: " Patchwork
2024-04-24  1:53 ` ✓ CI.BAT: " Patchwork

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