intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/7] Add support for EU stall sampling
@ 2024-12-17  9:46 Harish Chegondi
  2024-12-17  9:46 ` [PATCH v6 1/7] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask Harish Chegondi
                   ` (14 more replies)
  0 siblings, 15 replies; 28+ messages in thread
From: Harish Chegondi @ 2024-12-17  9:46 UTC (permalink / raw)
  To: intel-xe
  Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson, Harish Chegondi

The following patch series add support for EU stall sampling,
a new hardware feature first added in PVC and is being supported
in XE2 and later architecture GPUs. This feature would enable
capturing of EU stall data which include the IP address of the
instruction stalled and various stall reason counts.

Support for this feature is being added into Mesa.
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30142

This patch series version v6 has new uAPI changes which need to be
incorporated into the above Mesa PR.

A new test in the IGT repo:
https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
is also under development to test this feature in the driver. This
patch has undergone basic testing with the new IGT test that is under
development.

Thank You.

v6: a. Changed the uAPI input to accept sampling rate in GPU cycles
       instead of sampling rate multiplier.
    b. Fix buffer wrap around over write bug (Matt Olson).
    c. Include EU stall sampling rates information and per XeCore buffer size in the query information.

v5: Addressed review feedback from v4 including
    a. Removed DRM_XE_EU_STALL_PROP_POLL_PERIOD from the uAPI (Ashutosh)
    b. Separated the patches for Xe_HPC and Xe2 (Matt R)
    c. Moved read() returning -EIO into a separate patch
    d. Removed spinlocks around set_bit() and clear_bit() (Matt R)
    e. Renamed several variables, structures and enums (Ashutosh and
Matt R)
    f. Addressed other review feedback.
v4: Addressed review feedback from v3 including
    a. Split the patch into multiple patches (Matt R)
    b. Added a new device query to get EU stall info (Ashutosh)
    c. Renamed all Dss to xecore (Matt R)
    d. Removed buffer size and disable at open input properties. (Matt R)
    e. Removed the "_SHIFT" macros (Matt R)
    f. Allocate the EU stall buffer only on system memory.
    g. Changed the work arounds to OOB (Matt R)
    h. Other review feedback.
v3: a. Removed data header and changed read() to return -EIO when data is dropped by the HW.
    b. Added a new DRM_XE_OBSERVATION_IOCTL_INFO to query EU stall data record info
    c. Added struct drm_xe_eu_stall_data_pvc and struct drm_xe_eu_stall_data_xe2
       to xe_drm.h. These declarations would help user space to parse the
       EU stall data
    d. Addressed other review comments from v2
v2: Rename xe perf layer as xe observation layer (Ashutosh)

Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>

Harish Chegondi (7):
  drm/xe/topology: Add a function to find the index of the last enabled
    DSS in a mask
  drm/xe/uapi: Introduce API for EU stall sampling
  drm/xe/eustall: Implement EU stall sampling APIs for Xe_HPC
  drm/xe/eustall: Return -EIO error from read() if HW drops data
  drm/xe/eustall: Add EU stall sampling support for Xe2
  drm/xe/uapi: Add a device query to get EU stall sampling information
  drm/xe/eustall: Add workaround 22016596838 which applies to PVC.

 drivers/gpu/drm/xe/Makefile                |    1 +
 drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h |   29 +
 drivers/gpu/drm/xe/xe_eu_stall.c           | 1101 ++++++++++++++++++++
 drivers/gpu/drm/xe/xe_eu_stall.h           |   61 ++
 drivers/gpu/drm/xe/xe_gt.c                 |    6 +
 drivers/gpu/drm/xe/xe_gt_topology.h        |   13 +
 drivers/gpu/drm/xe/xe_gt_types.h           |    3 +
 drivers/gpu/drm/xe/xe_observation.c        |   14 +
 drivers/gpu/drm/xe/xe_query.c              |   43 +
 drivers/gpu/drm/xe/xe_trace.h              |   33 +
 drivers/gpu/drm/xe/xe_wa_oob.rules         |    1 +
 include/uapi/drm/xe_drm.h                  |   76 ++
 12 files changed, 1381 insertions(+)
 create mode 100644 drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h
 create mode 100644 drivers/gpu/drm/xe/xe_eu_stall.c
 create mode 100644 drivers/gpu/drm/xe/xe_eu_stall.h

-- 
2.47.0


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

* [PATCH v6 1/7] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
@ 2024-12-17  9:46 ` Harish Chegondi
  2024-12-17  9:46 ` [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling Harish Chegondi
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Harish Chegondi @ 2024-12-17  9:46 UTC (permalink / raw)
  To: intel-xe
  Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson, Harish Chegondi

Last enabled DSS in a DSS mask can help estimate the maximum DSSes enabled
in the DSS mask, as the enabled DSSes can be discontiguous.

Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
 drivers/gpu/drm/xe/xe_gt_topology.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_gt_topology.h b/drivers/gpu/drm/xe/xe_gt_topology.h
index 746b325bbf6e..a72d26ba0653 100644
--- a/drivers/gpu/drm/xe/xe_gt_topology.h
+++ b/drivers/gpu/drm/xe/xe_gt_topology.h
@@ -25,6 +25,19 @@ void xe_gt_topology_init(struct xe_gt *gt);
 
 void xe_gt_topology_dump(struct xe_gt *gt, struct drm_printer *p);
 
+/**
+ * xe_gt_topology_mask_last_dss() - Returns the index of the last DSS in a mask.
+ * @mask: Input DSS mask
+ *
+ * Return: Index of the last DSS in the input DSS mask,
+ *	   XE_MAX_DSS_FUSE_BITS if DSS mask is empty.
+ */
+static inline unsigned int
+xe_gt_topology_mask_last_dss(const xe_dss_mask_t mask)
+{
+	return find_last_bit(mask, XE_MAX_DSS_FUSE_BITS);
+}
+
 unsigned int
 xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum);
 
-- 
2.47.0


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

* [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
  2024-12-17  9:46 ` [PATCH v6 1/7] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask Harish Chegondi
@ 2024-12-17  9:46 ` Harish Chegondi
  2024-12-17 20:35   ` Dixit, Ashutosh
  2024-12-17  9:46 ` [PATCH v6 3/7] drm/xe/eustall: Implement EU stall sampling APIs for Xe_HPC Harish Chegondi
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 28+ messages in thread
From: Harish Chegondi @ 2024-12-17  9:46 UTC (permalink / raw)
  To: intel-xe
  Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson, Harish Chegondi

A new hardware feature first introduced in PVC gives capability to
periodically sample EU stall state and record counts for different stall
reasons, on a per IP basis, aggregate across all EUs in a subslice and
record the samples in a buffer in each subslice. Eventually, the aggregated
data is written out to a buffer in the memory. This feature is also
supported in XE2 and later architecture GPUs.

Use an existing IOCTL - DRM_IOCTL_XE_OBSERVATION as the interface into the
driver from the user space to do initial setup and obtain a file descriptor
for the EU stall data stream.  Input parameter to the IOCTL is a struct
drm_xe_observation_param in which observation_type should be set to
DRM_XE_OBSERVATION_TYPE_EU_STALL, observation_op should be
DRM_XE_OBSERVATION_OP_STREAM_OPEN and param should point to a chain of
drm_xe_ext_set_property structures in which each structure has a pair of
property and value. The EU stall sampling input properties are defined in
drm_xe_eu_stall_property_id enum.

With the file descriptor obtained from DRM_IOCTL_XE_OBSERVATION, user space
can enable and disable EU stall sampling with the IOCTLs:
DRM_XE_OBSERVATION_IOCTL_ENABLE and DRM_XE_OBSERVATION_IOCTL_DISABLE.
User space can also call poll() to check for availability of data in the
buffer. The data can be read with read(). Finally, the file descriptor
can be closed with close().

A user space consumer for this feature is Mesa.

Mesa PR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30142

v6: Change the input sampling rate to GPU cycles instead of
    GPU cycles multiplier.

Cc: Felix Degrood <felix.j.degrood@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
 drivers/gpu/drm/xe/Makefile         |   1 +
 drivers/gpu/drm/xe/xe_eu_stall.c    | 283 ++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_eu_stall.h    |  12 ++
 drivers/gpu/drm/xe/xe_observation.c |  14 ++
 include/uapi/drm/xe_drm.h           |  41 ++++
 5 files changed, 351 insertions(+)
 create mode 100644 drivers/gpu/drm/xe/xe_eu_stall.c
 create mode 100644 drivers/gpu/drm/xe/xe_eu_stall.h

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 7730e0596299..259ccbb0c031 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -33,6 +33,7 @@ xe-y += xe_bb.o \
 	xe_device_sysfs.o \
 	xe_dma_buf.o \
 	xe_drm_client.o \
+	xe_eu_stall.o \
 	xe_exec.o \
 	xe_execlist.o \
 	xe_exec_queue.o \
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
new file mode 100644
index 000000000000..5f7f504e4980
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -0,0 +1,283 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#include <linux/anon_inodes.h>
+#include <linux/types.h>
+#include <linux/poll.h>
+#include <linux/fs.h>
+
+#include <uapi/drm/xe_drm.h>
+
+#include "xe_macros.h"
+#include "xe_device.h"
+#include "xe_eu_stall.h"
+#include "xe_gt_printk.h"
+#include "xe_gt_topology.h"
+#include "xe_observation.h"
+
+/**
+ * struct eu_stall_open_properties - EU stall sampling properties received
+ *				     from user space at open.
+ * @eu_stall_sampling_rate: EU stall sampling rate multiplier.
+ *			    HW will sample every (eu_stall_sampling_rate x 251) cycles.
+ * @event_report_count: Minimum number of EU stall data rows for poll to set POLLIN.
+ * @gt: GT on which EU stall data will be captured.
+ */
+struct eu_stall_open_properties {
+	u8 eu_stall_sampling_rate;
+	u32 event_report_count;
+	struct xe_gt *gt;
+};
+
+/**
+ * num_data_rows - Return the number of EU stall data rows of 64B each
+ *		   for a given data size.
+ *
+ * @data_size: EU stall data size
+ */
+static inline u32
+num_data_rows(u32 data_size)
+{
+	return (data_size >> 6);
+}
+
+static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value,
+					   struct eu_stall_open_properties *props)
+{
+	value = value / 251;
+	if (value == 0 || value > 7) {
+		drm_dbg(&xe->drm, "Invalid EU stall sampling rate %llu\n", value);
+		return -EINVAL;
+	}
+	props->eu_stall_sampling_rate = value;
+	return 0;
+}
+
+static int set_prop_eu_stall_event_report_count(struct xe_device *xe, u64 value,
+						struct eu_stall_open_properties *props)
+{
+	u32 max_event_report_count;
+
+	max_event_report_count = num_data_rows(SZ_512K * XE_MAX_DSS_FUSE_BITS);
+	if (value == 0 || value > max_event_report_count) {
+		drm_dbg(&xe->drm, "Invalid EU stall poll event report count %llu\n", value);
+		drm_dbg(&xe->drm, "Minimum event report count is 1, maximum is %u\n",
+			max_event_report_count);
+		return -EINVAL;
+	}
+	props->event_report_count = value;
+	return 0;
+}
+
+static int set_prop_eu_stall_gt_id(struct xe_device *xe, u64 value,
+				   struct eu_stall_open_properties *props)
+{
+	if (value >= xe->info.gt_count) {
+		drm_dbg(&xe->drm, "Invalid GT ID %llu for EU stall sampling\n", value);
+		return -EINVAL;
+	}
+	props->gt = xe_device_get_gt(xe, value);
+	return 0;
+}
+
+typedef int (*set_eu_stall_property_fn)(struct xe_device *xe, u64 value,
+					struct eu_stall_open_properties *props);
+
+static const set_eu_stall_property_fn xe_set_eu_stall_property_funcs[] = {
+	[DRM_XE_EU_STALL_PROP_SAMPLE_RATE] = set_prop_eu_stall_sampling_rate,
+	[DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT] = set_prop_eu_stall_event_report_count,
+	[DRM_XE_EU_STALL_PROP_GT_ID] = set_prop_eu_stall_gt_id,
+};
+
+static int xe_eu_stall_user_ext_set_property(struct xe_device *xe, u64 extension,
+					     struct eu_stall_open_properties *props)
+{
+	u64 __user *address = u64_to_user_ptr(extension);
+	struct drm_xe_ext_set_property ext;
+	int err;
+	u32 idx;
+
+	err = __copy_from_user(&ext, address, sizeof(ext));
+	if (XE_IOCTL_DBG(xe, err))
+		return -EFAULT;
+
+	if (XE_IOCTL_DBG(xe, ext.property >= ARRAY_SIZE(xe_set_eu_stall_property_funcs)) ||
+	    XE_IOCTL_DBG(xe, ext.pad))
+		return -EINVAL;
+
+	idx = array_index_nospec(ext.property, ARRAY_SIZE(xe_set_eu_stall_property_funcs));
+	return xe_set_eu_stall_property_funcs[idx](xe, ext.value, props);
+}
+
+typedef int (*xe_eu_stall_user_extension_fn)(struct xe_device *xe, u64 extension,
+					     struct eu_stall_open_properties *props);
+static const xe_eu_stall_user_extension_fn xe_eu_stall_user_extension_funcs[] = {
+	[DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY] = xe_eu_stall_user_ext_set_property,
+};
+
+static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension,
+				       struct eu_stall_open_properties *props)
+{
+	u64 __user *address = u64_to_user_ptr(extension);
+	struct drm_xe_user_extension ext;
+	int err;
+	u32 idx;
+
+	err = __copy_from_user(&ext, address, sizeof(ext));
+	if (XE_IOCTL_DBG(xe, err))
+		return -EFAULT;
+
+	if (XE_IOCTL_DBG(xe, ext.pad) ||
+	    XE_IOCTL_DBG(xe, ext.name >= ARRAY_SIZE(xe_eu_stall_user_extension_funcs)))
+		return -EINVAL;
+
+	idx = array_index_nospec(ext.name, ARRAY_SIZE(xe_eu_stall_user_extension_funcs));
+	err = xe_eu_stall_user_extension_funcs[idx](xe, extension, props);
+	if (XE_IOCTL_DBG(xe, err))
+		return err;
+
+	if (ext.next_extension)
+		return xe_eu_stall_user_extensions(xe, ext.next_extension, props);
+
+	return 0;
+}
+
+/**
+ * xe_eu_stall_stream_read - handles userspace read() of a EU stall data stream fd.
+ *
+ * @file: An xe EU stall data stream file
+ * @buf: destination buffer given by userspace
+ * @count: the number of bytes userspace wants to read
+ * @ppos: (inout) file seek position (unused)
+ *
+ * Userspace must enable the EU stall stream with DRM_XE_OBSERVATION_IOCTL_ENABLE
+ * before calling read().
+ *
+ * Returns: The number of bytes copied or a negative error code on failure.
+ */
+static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf,
+				       size_t count, loff_t *ppos)
+{
+	ssize_t ret = 0;
+
+	return ret;
+}
+
+/**
+ * xe_eu_stall_stream_poll - handles userspace poll() of a EU stall data stream fd.
+ *
+ * @file: An xe EU stall data stream file
+ * @wait: Poll table
+ *
+ * Returns: Bit mask of returned events.
+ */
+static __poll_t
+xe_eu_stall_stream_poll(struct file *file, poll_table *wait)
+{
+	__poll_t ret = 0;
+
+	return ret;
+}
+
+/**
+ * xe_eu_stall_stream_ioctl - support ioctl() of a xe EU stall data stream fd.
+ *
+ * @file: An xe EU stall data stream file
+ * @cmd: the ioctl request
+ * @arg: the ioctl data
+ *
+ * Returns: zero on success or a negative error code.
+ *	    -EINVAL for an unknown ioctl request.
+ */
+static long xe_eu_stall_stream_ioctl(struct file *file,
+				     unsigned int cmd,
+				     unsigned long arg)
+{
+	switch (cmd) {
+	case DRM_XE_OBSERVATION_IOCTL_ENABLE:
+		return 0;
+	case DRM_XE_OBSERVATION_IOCTL_DISABLE:
+		return 0;
+	}
+
+	return -EINVAL;
+}
+
+/**
+ * xe_eu_stall_stream_close - handles userspace close() of a EU stall data
+ *			      stream file.
+ * @inode: anonymous inode associated with file
+ * @file: An xe EU stall data stream file
+ *
+ * Cleans up any resources associated with an open EU stall data stream file.
+ */
+static int xe_eu_stall_stream_close(struct inode *inode, struct file *file)
+{
+	return 0;
+}
+
+static const struct file_operations fops_eu_stall = {
+	.owner		= THIS_MODULE,
+	.llseek		= noop_llseek,
+	.release	= xe_eu_stall_stream_close,
+	.poll		= xe_eu_stall_stream_poll,
+	.read		= xe_eu_stall_stream_read,
+	.unlocked_ioctl = xe_eu_stall_stream_ioctl,
+	.compat_ioctl   = xe_eu_stall_stream_ioctl,
+};
+
+static inline bool has_eu_stall_sampling_support(struct xe_device *xe)
+{
+	return false;
+}
+
+/**
+ * xe_eu_stall_stream_open - Open a xe EU stall data stream fd
+ *
+ * @dev: DRM device pointer
+ * @data: pointer to first struct @drm_xe_ext_set_property in
+ *	  the chain of input properties from the user space.
+ * @file: DRM file pointer
+ *
+ * This function opens a EU stall data stream with input properties from
+ * the user space.
+ *
+ * Returns: EU stall data stream fd on success or a negative error code.
+ */
+int xe_eu_stall_stream_open(struct drm_device *dev,
+			    u64 data,
+			    struct drm_file *file)
+{
+	struct xe_device *xe = to_xe_device(dev);
+	struct eu_stall_open_properties props;
+	int ret, stream_fd;
+
+	memset(&props, 0, sizeof(struct eu_stall_open_properties));
+
+	ret = xe_eu_stall_user_extensions(xe, data, &props);
+	if (ret)
+		return ret;
+
+	if (!props.gt) {
+		drm_dbg(&xe->drm, "GT ID not provided for EU stall sampling\n");
+		return -EINVAL;
+	}
+
+	if (xe_observation_paranoid && !perfmon_capable()) {
+		xe_gt_dbg(props.gt, "Insufficient privileges for EU stall monitoring\n");
+		return -EACCES;
+	}
+
+	if (!has_eu_stall_sampling_support(xe)) {
+		xe_gt_dbg(props.gt, "EU stall monitoring is not supported on this platform\n");
+		return -EPERM;
+	}
+	stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall,
+				     NULL, 0);
+	if (stream_fd < 0)
+		xe_gt_dbg(props.gt, "EU stall inode get fd failed : %d\n", stream_fd);
+
+	return stream_fd;
+}
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h
new file mode 100644
index 000000000000..70fc89480df2
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_eu_stall.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#ifndef __XE_EU_STALL_H__
+#define __XE_EU_STALL_H__
+
+int xe_eu_stall_stream_open(struct drm_device *dev,
+			    u64 data,
+			    struct drm_file *file);
+#endif
diff --git a/drivers/gpu/drm/xe/xe_observation.c b/drivers/gpu/drm/xe/xe_observation.c
index 8ec1b84cbb9e..cca661de60ac 100644
--- a/drivers/gpu/drm/xe/xe_observation.c
+++ b/drivers/gpu/drm/xe/xe_observation.c
@@ -9,6 +9,7 @@
 #include <uapi/drm/xe_drm.h>
 
 #include "xe_oa.h"
+#include "xe_eu_stall.h"
 #include "xe_observation.h"
 
 u32 xe_observation_paranoid = true;
@@ -29,6 +30,17 @@ static int xe_oa_ioctl(struct drm_device *dev, struct drm_xe_observation_param *
 	}
 }
 
+static int xe_eu_stall_ioctl(struct drm_device *dev, struct drm_xe_observation_param *arg,
+			     struct drm_file *file)
+{
+	switch (arg->observation_op) {
+	case DRM_XE_OBSERVATION_OP_STREAM_OPEN:
+		return xe_eu_stall_stream_open(dev, arg->param, file);
+	default:
+		return -EINVAL;
+	}
+}
+
 /**
  * xe_observation_ioctl - The top level observation layer ioctl
  * @dev: @drm_device
@@ -51,6 +63,8 @@ int xe_observation_ioctl(struct drm_device *dev, void *data, struct drm_file *fi
 	switch (arg->observation_type) {
 	case DRM_XE_OBSERVATION_TYPE_OA:
 		return xe_oa_ioctl(dev, arg, file);
+	case DRM_XE_OBSERVATION_TYPE_EU_STALL:
+		return xe_eu_stall_ioctl(dev, arg, file);
 	default:
 		return -EINVAL;
 	}
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index f62689ca861a..4ee3b04a1bb5 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence {
 enum drm_xe_observation_type {
 	/** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */
 	DRM_XE_OBSERVATION_TYPE_OA,
+	/** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */
+	DRM_XE_OBSERVATION_TYPE_EU_STALL,
 };
 
 /**
@@ -1729,6 +1731,45 @@ struct drm_xe_oa_stream_info {
 	__u64 reserved[3];
 };
 
+/**
+ * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids.
+ *
+ * These properties are passed to the driver at open as a chain of
+ * @drm_xe_ext_set_property structures with @property set to these
+ * properties' enums and @value set to the corresponding values of these
+ * properties. @drm_xe_user_extension base.name should be set to
+ * @DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY.
+ *
+ * With the file descriptor obtained from open, user space must enable
+ * the EU stall stream fd with @DRM_XE_OBSERVATION_IOCTL_ENABLE before
+ * calling read(). read() returns number of bytes of EU stall data read
+ * from the EU stall data buffer or an error. One of the errors returned
+ * from read is -EIO which indicates HW dropped data due to full buffer.
+ *
+ */
+enum drm_xe_eu_stall_property_id {
+#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY		0
+	/**
+	 * @DRM_XE_EU_STALL_PROP_GT_ID: GT ID of the GT on which
+	 * EU stall data will be captured.
+	 */
+	DRM_XE_EU_STALL_PROP_GT_ID = 1,
+
+	/**
+	 * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate
+	 * in GPU cycles. Valid values are:
+	 * 251, 251x2, 251x3, 251x4, 251x5, 251x6 and 251x7.
+	 */
+	DRM_XE_EU_STALL_PROP_SAMPLE_RATE,
+
+	/**
+	 * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of
+	 * EU stall data rows to be present in the kernel buffer for
+	 * poll() to set POLLIN (data present).
+	 */
+	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
+};
+
 #if defined(__cplusplus)
 }
 #endif
-- 
2.47.0


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

* [PATCH v6 3/7] drm/xe/eustall: Implement EU stall sampling APIs for Xe_HPC
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
  2024-12-17  9:46 ` [PATCH v6 1/7] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask Harish Chegondi
  2024-12-17  9:46 ` [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling Harish Chegondi
@ 2024-12-17  9:46 ` Harish Chegondi
  2024-12-17  9:46 ` [PATCH v6 4/7] drm/xe/eustall: Return -EIO error from read() if HW drops data Harish Chegondi
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Harish Chegondi @ 2024-12-17  9:46 UTC (permalink / raw)
  To: intel-xe
  Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson, Harish Chegondi

Implement EU stall sampling APIs introduced in the previous patch for
Xe_HPC (PVC). Add register definitions and the code that accesses these
registers to the APIs.

Add initialization and clean up functions and their implementations,
EU stall enable and disable functions, poll() and read() implementations.

A timer thread periodically polls the EU stall data buffer write pointer
registers to look for any new data and caches the write pointer. The read
function compares the cached read and write pointers and copies any new
data to the user space.

v6: Fix buffer wrap around over write bug (Matt Olson)

Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h |  29 +
 drivers/gpu/drm/xe/xe_eu_stall.c           | 759 ++++++++++++++++++++-
 drivers/gpu/drm/xe/xe_eu_stall.h           |  43 ++
 drivers/gpu/drm/xe/xe_gt.c                 |   6 +
 drivers/gpu/drm/xe/xe_gt_types.h           |   3 +
 drivers/gpu/drm/xe/xe_trace.h              |  33 +
 6 files changed, 847 insertions(+), 26 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h

diff --git a/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h b/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h
new file mode 100644
index 000000000000..2b742890b283
--- /dev/null
+++ b/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#ifndef _XE_EU_STALL_REGS_H_
+#define _XE_EU_STALL_REGS_H_
+
+#include "regs/xe_reg_defs.h"
+
+#define XEHPC_EUSTALL_BASE			XE_REG_MCR(0xe520)
+#define   XEHPC_EUSTALL_BASE_BUF_ADDR		REG_GENMASK(31, 6)
+#define   XEHPC_EUSTALL_BASE_XECORE_BUF_SZ	REG_GENMASK(5, 3)
+#define   XEHPC_EUSTALL_BASE_ENABLE_SAMPLING	REG_BIT(1)
+
+#define XEHPC_EUSTALL_BASE_UPPER		XE_REG_MCR(0xe524)
+
+#define XEHPC_EUSTALL_REPORT			XE_REG_MCR(0xe528, XE_REG_OPTION_MASKED)
+#define   XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK	REG_GENMASK(15, 2)
+#define   XEHPC_EUSTALL_REPORT_OVERFLOW_DROP	REG_BIT(1)
+
+#define XEHPC_EUSTALL_REPORT1			XE_REG_MCR(0xe52c, XE_REG_OPTION_MASKED)
+#define   XEHPC_EUSTALL_REPORT1_READ_PTR_MASK	REG_GENMASK(15, 2)
+
+#define XEHPC_EUSTALL_CTRL			XE_REG_MCR(0xe53c, XE_REG_OPTION_MASKED)
+#define   EUSTALL_MOCS				REG_GENMASK(9, 3)
+#define   EUSTALL_SAMPLE_RATE			REG_GENMASK(2, 0)
+
+#endif
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index 5f7f504e4980..1d13219a3eb0 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -8,15 +8,27 @@
 #include <linux/poll.h>
 #include <linux/fs.h>
 
+#include <drm/drm_drv.h>
 #include <uapi/drm/xe_drm.h>
 
+#include "xe_bo.h"
+#include "xe_pm.h"
+#include "xe_trace.h"
 #include "xe_macros.h"
 #include "xe_device.h"
+#include "xe_gt_mcr.h"
 #include "xe_eu_stall.h"
 #include "xe_gt_printk.h"
+#include "xe_force_wake.h"
 #include "xe_gt_topology.h"
 #include "xe_observation.h"
 
+#include "regs/xe_gt_regs.h"
+#include "regs/xe_eu_stall_regs.h"
+
+#define POLL_FREQUENCY_HZ 100
+#define POLL_PERIOD_NS (NSEC_PER_SEC / POLL_FREQUENCY_HZ)
+
 /**
  * struct eu_stall_open_properties - EU stall sampling properties received
  *				     from user space at open.
@@ -31,6 +43,50 @@ struct eu_stall_open_properties {
 	struct xe_gt *gt;
 };
 
+/**
+ * struct drm_xe_eu_stall_data_pvc - EU stall data format for PVC
+ *
+ * Bits		Field
+ * 0  to 28	IP (addr)
+ * 29 to 36	active count
+ * 37 to 44	other count
+ * 45 to 52	control count
+ * 53 to 60	pipestall count
+ * 61 to 68	send count
+ * 69 to 76	dist_acc count
+ * 77 to 84	sbid count
+ * 85 to 92	sync count
+ * 93 to 100	inst_fetch count
+ */
+struct drm_xe_eu_stall_data_pvc {
+	__u64 ip_addr:29;
+	__u64 active_count:8;
+	__u64 other_count:8;
+	__u64 control_count:8;
+	__u64 pipestall_count:8;
+	__u64 send_count:8;
+	__u64 dist_acc_count:8;
+	__u64 sbid_count:8;
+	__u64 sync_count:8;
+	__u64 inst_fetch_count:8;
+	__u64 unused_bits:27;
+	__u64 unused[6];
+} __packed;
+
+static u64 per_xecore_buf_size = SZ_512K;
+
+static unsigned long
+xe_eu_stall_data_record_size(struct xe_device *xe)
+{
+	enum xe_platform platform = xe->info.platform;
+	unsigned long record_size = 0;
+
+	if (platform == XE_PVC)
+		record_size = sizeof(struct drm_xe_eu_stall_data_pvc);
+
+	return record_size;
+}
+
 /**
  * num_data_rows - Return the number of EU stall data rows of 64B each
  *		   for a given data size.
@@ -43,6 +99,36 @@ num_data_rows(u32 data_size)
 	return (data_size >> 6);
 }
 
+/**
+ * xe_eu_stall_init() - Allocate and initialize GT level EU stall data
+ *			structure xe_eu_stall_gt within struct xe_gt.
+ *
+ * @gt: GT being initialized.
+ *
+ * Returns: zero on success or a negative error code.
+ */
+int xe_eu_stall_init(struct xe_gt *gt)
+{
+	gt->eu_stall = kzalloc(sizeof(*gt->eu_stall), GFP_KERNEL);
+	if (!gt->eu_stall)
+		return -ENOMEM;
+
+	mutex_init(&gt->eu_stall->lock);
+	return 0;
+}
+
+/**
+ * xe_eu_stall_fini() - Clean up the GT level EU stall data
+ *			structure xe_eu_stall_gt within struct xe_gt.
+ *
+ * @gt: GT being cleaned up.
+ */
+void xe_eu_stall_fini(struct xe_gt *gt)
+{
+	mutex_destroy(&gt->eu_stall->lock);
+	kfree(gt->eu_stall);
+}
+
 static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value,
 					   struct eu_stall_open_properties *props)
 {
@@ -60,7 +146,7 @@ static int set_prop_eu_stall_event_report_count(struct xe_device *xe, u64 value,
 {
 	u32 max_event_report_count;
 
-	max_event_report_count = num_data_rows(SZ_512K * XE_MAX_DSS_FUSE_BITS);
+	max_event_report_count = num_data_rows(per_xecore_buf_size * XE_MAX_DSS_FUSE_BITS);
 	if (value == 0 || value > max_event_report_count) {
 		drm_dbg(&xe->drm, "Invalid EU stall poll event report count %llu\n", value);
 		drm_dbg(&xe->drm, "Minimum event report count is 1, maximum is %u\n",
@@ -144,6 +230,236 @@ static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension,
 	return 0;
 }
 
+/**
+ * buf_data_size - Calculate the number of bytes in a circular buffer
+ *		   given the read and write pointers and the size of
+ *		   the buffer.
+ *
+ * @buf_size: Size of the circular buffer
+ * @read_ptr: Read pointer with an additional overflow bit
+ * @write_ptr: Write pointer with an additional overflow bit
+ *
+ * Since the read and write pointers have an additional overflow bit,
+ * this function calculates the offsets from the pointers and use the
+ * offsets to calculate the data size in the buffer.
+ *
+ * Returns: number of bytes of data in the buffer
+ */
+static u32
+buf_data_size(size_t buf_size, u32 read_ptr, u32 write_ptr)
+{
+	u32 read_offset, write_offset, size = 0;
+
+	read_offset = read_ptr & (buf_size - 1);
+	write_offset = write_ptr & (buf_size - 1);
+
+	if (write_offset > read_offset)
+		size = write_offset - read_offset;
+	else
+		size = buf_size - read_offset + write_offset;
+
+	return size;
+}
+
+/**
+ * eu_stall_data_buf_check - check for EU stall data in the buffer
+ *
+ * @stream: xe EU stall data stream instance
+ *
+ * Returns: true if the EU stall buffer contains minimum stall data as
+ *	    specified by the event report count, else false.
+ */
+static bool
+eu_stall_data_buf_check(struct xe_eu_stall_data_stream *stream)
+{
+	u32 read_ptr, write_ptr_reg, write_ptr, total_data = 0;
+	u32 buf_size = stream->per_xecore_buf_size;
+	struct xe_gt *gt = stream->gt;
+	struct per_xecore_buf *xecore_buf;
+	bool min_data_present;
+	u16 group, instance;
+	unsigned int xecore;
+
+	min_data_present = false;
+	for_each_dss_steering(xecore, gt, group, instance) {
+		xecore_buf = &stream->xecore_buf[xecore];
+		mutex_lock(&xecore_buf->lock);
+		read_ptr = xecore_buf->read;
+		write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT,
+						       group, instance);
+		write_ptr = REG_FIELD_GET(XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK, write_ptr_reg);
+		write_ptr <<= 6;
+		write_ptr &= ((buf_size << 1) - 1);
+		if (write_ptr != read_ptr && !min_data_present) {
+			total_data += buf_data_size(buf_size, read_ptr, write_ptr);
+			/*
+			 * Check if there are at least minimum number of stall data
+			 * rows for poll() to indicate that the data is present.
+			 * Each stall data row is 64B (cacheline size).
+			 */
+			if (num_data_rows(total_data) >= stream->event_report_count)
+				min_data_present = true;
+		}
+		if (write_ptr_reg & XEHPC_EUSTALL_REPORT_OVERFLOW_DROP)
+			set_bit(xecore, stream->data_drop.mask);
+		xecore_buf->write = write_ptr;
+		mutex_unlock(&xecore_buf->lock);
+	}
+	return min_data_present;
+}
+
+static void
+clear_dropped_eviction_line_bit(struct xe_gt *gt, u16 group, u16 instance)
+{
+	u32 write_ptr_reg;
+
+	/* On PVC, the overflow bit has to be cleared by writing 1 to it. */
+	write_ptr_reg = _MASKED_BIT_ENABLE(XEHPC_EUSTALL_REPORT_OVERFLOW_DROP);
+
+	xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT, write_ptr_reg, group, instance);
+}
+
+static int
+xe_eu_stall_data_buf_read(struct xe_eu_stall_data_stream *stream,
+			  char __user *buf, size_t count,
+			  size_t *total_size, struct xe_gt *gt,
+			  u16 group, u16 instance, unsigned int xecore)
+{
+	u32 read_ptr_reg, read_ptr, write_ptr;
+	u8 *xecore_start_vaddr, *read_vaddr;
+	struct xe_device *xe = gt_to_xe(gt);
+	struct per_xecore_buf *xecore_buf;
+	size_t size, copy_size, buf_size;
+	u32 read_offset, write_offset;
+	unsigned long record_size;
+
+	/* Hardware increments the read and write pointers such that they can
+	 * overflow into one additional bit. For example, a 256KB size buffer
+	 * offset pointer needs 18 bits. But HW uses 19 bits for the read and
+	 * write pointers. This technique avoids wasting a slot in the buffer.
+	 * Read and write offsets are calculated from the pointers in order to
+	 * check if the write pointer has wrapped around the array.
+	 */
+	xecore_buf = &stream->xecore_buf[xecore];
+	mutex_lock(&xecore_buf->lock);
+	xecore_start_vaddr = xecore_buf->vaddr;
+	read_ptr = xecore_buf->read;
+	write_ptr = xecore_buf->write;
+	buf_size = stream->per_xecore_buf_size;
+	read_offset = read_ptr & (buf_size - 1);
+	write_offset = write_ptr & (buf_size - 1);
+
+	if (write_ptr == read_ptr) {
+		mutex_unlock(&xecore_buf->lock);
+		return 0;
+	}
+
+	trace_xe_eu_stall_data_read(group, instance, read_ptr, write_ptr,
+				    read_offset, write_offset, *total_size);
+	/* If write pointer offset is less than the read pointer offset,
+	 * it means, write pointer has wrapped around the array.
+	 */
+	if (write_offset > read_offset)
+		size = write_offset - read_offset;
+	else
+		size = buf_size - read_offset + write_offset;
+
+	/* Read only the data that the user space buffer can accommodate */
+	if ((*total_size + size) > count) {
+		record_size = xe_eu_stall_data_record_size(xe);
+		size = count - *total_size;
+		size = (size / record_size) * record_size;
+	}
+
+	if (size == 0) {
+		mutex_unlock(&xecore_buf->lock);
+		return 0;
+	}
+
+	read_vaddr = xecore_start_vaddr + read_offset;
+
+	if (write_offset > read_offset) {
+		if (copy_to_user((buf + *total_size), read_vaddr, size)) {
+			mutex_unlock(&xecore_buf->lock);
+			return -EFAULT;
+		}
+	} else {
+		if (size >= (buf_size - read_offset))
+			copy_size = buf_size - read_offset;
+		else
+			copy_size = size;
+		if (copy_to_user((buf + *total_size), read_vaddr, copy_size)) {
+			mutex_unlock(&xecore_buf->lock);
+			return -EFAULT;
+		}
+		if (copy_to_user((buf + *total_size + copy_size),
+				 xecore_start_vaddr, size - copy_size)) {
+			mutex_unlock(&xecore_buf->lock);
+			return -EFAULT;
+		}
+	}
+
+	*total_size += size;
+	read_ptr += size;
+
+	/* Read pointer can overflow into one additional bit */
+	read_ptr &= ((buf_size << 1) - 1);
+	read_ptr_reg = REG_FIELD_PREP(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, (read_ptr >> 6));
+	read_ptr_reg &= XEHPC_EUSTALL_REPORT1_READ_PTR_MASK;
+	read_ptr_reg = _MASKED_FIELD(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, read_ptr_reg);
+	xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT1, read_ptr_reg, group, instance);
+	if (test_bit(xecore, stream->data_drop.mask)) {
+		clear_dropped_eviction_line_bit(gt, group, instance);
+		clear_bit(xecore, stream->data_drop.mask);
+	}
+	xecore_buf->read = read_ptr;
+	mutex_unlock(&xecore_buf->lock);
+	trace_xe_eu_stall_data_read(group, instance, read_ptr, write_ptr,
+				    read_offset, write_offset, *total_size);
+	return 0;
+}
+
+/**
+ * xe_eu_stall_stream_read_locked - copy EU stall counters data from the
+ *				    per xecore buffers to the userspace buffer
+ * @stream: A stream opened for EU stall count metrics
+ * @buf: destination buffer given by userspace
+ * @count: the number of bytes userspace wants to read
+ * @ppos: (inout) file seek position (unused)
+ *
+ * Returns: Number of bytes copied or a negative error code
+ * If we've successfully copied any data then reporting that takes
+ * precedence over any internal error status, so the data isn't lost.
+ */
+static ssize_t
+xe_eu_stall_stream_read_locked(struct xe_eu_stall_data_stream *stream,
+			       struct file *file, char __user *buf,
+			       size_t count, loff_t *ppos)
+{
+	struct xe_gt *gt = stream->gt;
+	size_t total_size = 0;
+	u16 group, instance;
+	unsigned int xecore;
+	int ret = 0;
+
+	if (count == 0)
+		return -EINVAL;
+
+	for_each_dss_steering(xecore, gt, group, instance) {
+		ret = xe_eu_stall_data_buf_read(stream, buf, count, &total_size,
+						gt, group, instance, xecore);
+		if (ret || count == total_size)
+			goto exit;
+	}
+exit:
+	if (total_size)
+		return total_size;
+	else if (ret)
+		return ret;
+	else
+		return -EAGAIN;
+}
+
 /**
  * xe_eu_stall_stream_read - handles userspace read() of a EU stall data stream fd.
  *
@@ -160,11 +476,265 @@ static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension,
 static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf,
 				       size_t count, loff_t *ppos)
 {
-	ssize_t ret = 0;
+	struct xe_eu_stall_data_stream *stream = file->private_data;
+	struct xe_gt *gt = stream->gt;
+	ssize_t ret;
+
+	if (!stream->enabled) {
+		xe_gt_dbg(gt, "EU stall data stream not enabled to read\n");
+		return -EINVAL;
+	}
+
+	if (!(file->f_flags & O_NONBLOCK)) {
+		do {
+			if (!stream->pollin) {
+				ret = wait_event_interruptible(stream->poll_wq, stream->pollin);
+				if (ret)
+					return -EINTR;
+			}
+
+			mutex_lock(&gt->eu_stall->lock);
+			ret = xe_eu_stall_stream_read_locked(stream, file, buf, count, ppos);
+			mutex_unlock(&gt->eu_stall->lock);
+		} while (ret == -EAGAIN);
+	} else {
+		mutex_lock(&gt->eu_stall->lock);
+		ret = xe_eu_stall_stream_read_locked(stream, file, buf, count, ppos);
+		mutex_unlock(&gt->eu_stall->lock);
+	}
+
+	stream->pollin = false;
 
 	return ret;
 }
 
+static void
+free_eu_stall_data_buf(struct xe_eu_stall_data_stream *stream)
+{
+	if (stream->bo) {
+		xe_bo_unpin_map_no_vm(stream->bo);
+		stream->bo = NULL;
+	}
+	destroy_workqueue(stream->buf_check_wq);
+}
+
+static int alloc_eu_stall_data_buf(struct xe_eu_stall_data_stream *stream,
+				   u16 num_xecore)
+{
+	struct xe_tile *tile = stream->gt->tile;
+	struct xe_bo *bo;
+	u32 size;
+
+	size = stream->per_xecore_buf_size * num_xecore;
+
+	bo = xe_bo_create_pin_map(tile->xe, tile, NULL,
+				  size, ttm_bo_type_kernel,
+				  XE_BO_FLAG_SYSTEM |
+				  XE_BO_FLAG_GGTT);
+	if (IS_ERR(bo))
+		return PTR_ERR(bo);
+
+	stream->bo = bo;
+
+	return 0;
+}
+
+static u32
+gen_eustall_base(struct xe_eu_stall_data_stream *stream, bool enable)
+{
+	u32 val = xe_bo_ggtt_addr(stream->bo);
+	u32 sz;
+
+	XE_WARN_ON(!IS_ALIGNED(val, 64));
+
+	switch (stream->per_xecore_buf_size) {
+	case SZ_128K:
+		sz = 0;
+		break;
+	case SZ_256K:
+		sz = 1;
+		break;
+	case SZ_512K:
+		sz = 2;
+		break;
+	default:
+		xe_gt_warn(stream->gt, "Missing case per XeCore buffer size == %lu)\n",
+			   (long)(stream->per_xecore_buf_size));
+		sz = 2;
+	}
+
+	val |= REG_FIELD_PREP(XEHPC_EUSTALL_BASE_XECORE_BUF_SZ, sz);
+	if (enable)
+		val |= XEHPC_EUSTALL_BASE_ENABLE_SAMPLING;
+
+	return val;
+}
+
+static void
+xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
+{
+	struct xe_gt *gt = stream->gt;
+	unsigned int fw_ref;
+	u32 reg_value;
+
+	/* Take runtime pm ref and forcewake to disable RC6 */
+	xe_pm_runtime_get(gt_to_xe(gt));
+	fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_RENDER);
+	if (!xe_force_wake_ref_has_domain(fw_ref, XE_FW_RENDER))
+		xe_gt_err(gt, "Failed to get RENDER forcewake\n");
+
+	reg_value = gen_eustall_base(stream, true);
+	xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value);
+}
+
+static void
+xe_eu_stall_stream_disable(struct xe_eu_stall_data_stream *stream)
+{
+	struct xe_gt *gt = stream->gt;
+	u16 group, instance;
+	unsigned int xecore;
+	u32 reg_value;
+
+	/*
+	 * Before disabling EU stall sampling, check if any of the
+	 * XEHPC_EUSTALL_REPORT registers have the drop bit set. If set,
+	 * clear the bit. If the user space application reads all the
+	 * stall data, the drop bit would be cleared during the read.
+	 * But if there is any unread data and the drop bit is set for
+	 * any subslice, the drop bit would continue to be set even
+	 * after disabling EU stall sampling and may cause erroneous
+	 * stall data in the subsequent stall data sampling run.
+	 */
+	for_each_dss_steering(xecore, gt, group, instance) {
+		reg_value = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT,
+						   group, instance);
+		if (reg_value & XEHPC_EUSTALL_REPORT_OVERFLOW_DROP)
+			clear_dropped_eviction_line_bit(gt, group, instance);
+	}
+	reg_value = gen_eustall_base(stream, false);
+	xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value);
+
+	xe_force_wake_put(gt_to_fw(gt), XE_FW_RENDER);
+	xe_pm_runtime_put(gt_to_xe(gt));
+}
+
+static void eu_stall_buf_check_work_fn(struct work_struct *work)
+{
+	struct xe_eu_stall_data_stream *stream =
+		container_of(work, typeof(*stream), buf_check_work);
+
+	if (eu_stall_data_buf_check(stream)) {
+		stream->pollin = true;
+		wake_up(&stream->poll_wq);
+	}
+}
+
+static enum
+hrtimer_restart eu_stall_poll_check_timer_cb(struct hrtimer *hrtimer)
+{
+	struct xe_eu_stall_data_stream *stream =
+		container_of(hrtimer, typeof(*stream), poll_check_timer);
+
+	queue_work(stream->buf_check_wq, &stream->buf_check_work);
+	hrtimer_forward_now(hrtimer, ns_to_ktime(stream->poll_period));
+
+	return HRTIMER_RESTART;
+}
+
+static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
+				   struct eu_stall_open_properties *props)
+{
+	u32 write_ptr_reg, write_ptr, read_ptr_reg;
+	u32 vaddr_offset, base_reg_value;
+	struct xe_gt *gt = stream->gt;
+	struct per_xecore_buf *xecore_buf;
+	u16 group, instance, num_xecore;
+	xe_dss_mask_t all_xecore;
+	unsigned int fw_ref;
+	int ret, xecore;
+
+	init_waitqueue_head(&stream->poll_wq);
+	INIT_WORK(&stream->buf_check_work, eu_stall_buf_check_work_fn);
+	stream->buf_check_wq = alloc_ordered_workqueue("xe_eustall", 0);
+	if (!stream->buf_check_wq)
+		return -ENOMEM;
+	hrtimer_init(&stream->poll_check_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
+	stream->poll_check_timer.function = eu_stall_poll_check_timer_cb;
+	stream->event_report_count = props->event_report_count;
+	stream->per_xecore_buf_size = per_xecore_buf_size;
+	stream->poll_period = POLL_PERIOD_NS;
+
+	bitmap_or(all_xecore, gt->fuse_topo.g_dss_mask, gt->fuse_topo.c_dss_mask,
+		  XE_MAX_DSS_FUSE_BITS);
+	/*
+	 * Enabled subslices can be discontiguous. Find the maximum number of subslices
+	 * that are enabled.
+	 */
+	num_xecore = xe_gt_topology_mask_last_dss(all_xecore) + 1;
+
+	ret = alloc_eu_stall_data_buf(stream, num_xecore);
+	if (ret)
+		return ret;
+
+	stream->xecore_buf = kcalloc(num_xecore, sizeof(*stream->xecore_buf), GFP_KERNEL);
+	if (!stream->xecore_buf)
+		return -ENOMEM;
+
+	bitmap_zero(stream->data_drop.mask, XE_MAX_DSS_FUSE_BITS);
+
+	xe_pm_runtime_get(gt_to_xe(gt));
+	fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_RENDER);
+	if (!xe_force_wake_ref_has_domain(fw_ref, XE_FW_RENDER))
+		xe_gt_err(gt, "Failed to get RENDER forcewake\n");
+
+	base_reg_value = gen_eustall_base(stream, false);
+	xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, base_reg_value);
+	/* GGTT addresses can never be > 32 bits */
+	xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE_UPPER, 0);
+	base_reg_value = _MASKED_FIELD(EUSTALL_MOCS | EUSTALL_SAMPLE_RATE,
+				       REG_FIELD_PREP(EUSTALL_MOCS, gt->mocs.uc_index << 1) |
+				       REG_FIELD_PREP(EUSTALL_SAMPLE_RATE,
+						      props->eu_stall_sampling_rate));
+	xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_CTRL, base_reg_value);
+
+	for_each_dss_steering(xecore, gt, group, instance) {
+		write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT,
+						       group, instance);
+		write_ptr = REG_FIELD_GET(XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK, write_ptr_reg);
+		write_ptr <<= 6;
+		write_ptr &= ((stream->per_xecore_buf_size << 1) - 1);
+		read_ptr_reg = write_ptr >> 6;
+		read_ptr_reg = REG_FIELD_PREP(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, write_ptr);
+		read_ptr_reg &= XEHPC_EUSTALL_REPORT1_READ_PTR_MASK;
+		read_ptr_reg = _MASKED_FIELD(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, read_ptr_reg);
+		xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT1,
+					read_ptr_reg, group, instance);
+		xecore_buf = &stream->xecore_buf[xecore];
+		vaddr_offset = xecore * stream->per_xecore_buf_size;
+		xecore_buf->vaddr = stream->bo->vmap.vaddr + vaddr_offset;
+		xecore_buf->write = write_ptr;
+		xecore_buf->read = write_ptr;
+		mutex_init(&xecore_buf->lock);
+	}
+	xe_force_wake_put(gt_to_fw(gt), fw_ref);
+	xe_pm_runtime_put(gt_to_xe(gt));
+	return 0;
+}
+
+static __poll_t
+xe_eu_stall_stream_poll_locked(struct xe_eu_stall_data_stream *stream,
+			       struct file *file, poll_table *wait)
+{
+	__poll_t events = 0;
+
+	poll_wait(file, &stream->poll_wq, wait);
+
+	if (stream->pollin)
+		events |= EPOLLIN;
+
+	return events;
+}
+
 /**
  * xe_eu_stall_stream_poll - handles userspace poll() of a EU stall data stream fd.
  *
@@ -176,11 +746,60 @@ static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf,
 static __poll_t
 xe_eu_stall_stream_poll(struct file *file, poll_table *wait)
 {
-	__poll_t ret = 0;
+	struct xe_eu_stall_data_stream *stream = file->private_data;
+	struct xe_gt *gt = stream->gt;
+	__poll_t ret;
+
+	mutex_lock(&gt->eu_stall->lock);
+	ret = xe_eu_stall_stream_poll_locked(stream, file, wait);
+	mutex_unlock(&gt->eu_stall->lock);
 
 	return ret;
 }
 
+static void
+xe_eu_stall_enable_locked(struct xe_eu_stall_data_stream *stream)
+{
+	if (stream->enabled)
+		return;
+
+	stream->enabled = true;
+
+	xe_eu_stall_stream_enable(stream);
+	hrtimer_start(&stream->poll_check_timer,
+		      ns_to_ktime(stream->poll_period),
+		      HRTIMER_MODE_REL);
+}
+
+static void
+xe_eu_stall_disable_locked(struct xe_eu_stall_data_stream *stream)
+{
+	if (!stream->enabled)
+		return;
+
+	stream->enabled = false;
+
+	hrtimer_cancel(&stream->poll_check_timer);
+	flush_workqueue(stream->buf_check_wq);
+	xe_eu_stall_stream_disable(stream);
+}
+
+static long
+xe_eu_stall_stream_ioctl_locked(struct xe_eu_stall_data_stream *stream,
+				unsigned int cmd, unsigned long arg)
+{
+	switch (cmd) {
+	case DRM_XE_OBSERVATION_IOCTL_ENABLE:
+		xe_eu_stall_enable_locked(stream);
+		return 0;
+	case DRM_XE_OBSERVATION_IOCTL_DISABLE:
+		xe_eu_stall_disable_locked(stream);
+		return 0;
+	}
+
+	return -EINVAL;
+}
+
 /**
  * xe_eu_stall_stream_ioctl - support ioctl() of a xe EU stall data stream fd.
  *
@@ -195,14 +814,22 @@ static long xe_eu_stall_stream_ioctl(struct file *file,
 				     unsigned int cmd,
 				     unsigned long arg)
 {
-	switch (cmd) {
-	case DRM_XE_OBSERVATION_IOCTL_ENABLE:
-		return 0;
-	case DRM_XE_OBSERVATION_IOCTL_DISABLE:
-		return 0;
-	}
+	struct xe_eu_stall_data_stream *stream = file->private_data;
+	struct xe_gt *gt = stream->gt;
+	long ret;
 
-	return -EINVAL;
+	mutex_lock(&gt->eu_stall->lock);
+	ret = xe_eu_stall_stream_ioctl_locked(stream, cmd, arg);
+	mutex_unlock(&gt->eu_stall->lock);
+
+	return ret;
+}
+
+static void
+xe_eu_stall_stream_close_locked(struct xe_eu_stall_data_stream *stream)
+{
+	xe_eu_stall_disable_locked(stream);
+	free_eu_stall_data_buf(stream);
 }
 
 /**
@@ -215,6 +842,19 @@ static long xe_eu_stall_stream_ioctl(struct file *file,
  */
 static int xe_eu_stall_stream_close(struct inode *inode, struct file *file)
 {
+	struct xe_eu_stall_data_stream *stream = file->private_data;
+	struct xe_gt *gt = stream->gt;
+
+	mutex_lock(&gt->eu_stall->lock);
+	xe_eu_stall_stream_close_locked(stream);
+	kfree(stream->xecore_buf);
+	kfree(stream);
+	gt->eu_stall->stream = NULL;
+	mutex_unlock(&gt->eu_stall->lock);
+
+	/* Release the reference the EU stall stream kept on the driver */
+	drm_dev_put(&gt->tile->xe->drm);
+
 	return 0;
 }
 
@@ -230,7 +870,79 @@ static const struct file_operations fops_eu_stall = {
 
 static inline bool has_eu_stall_sampling_support(struct xe_device *xe)
 {
-	return false;
+	return ((xe->info.platform == XE_PVC) ? true : false);
+}
+
+/**
+ * xe_eu_stall_stream_open_locked - Open a EU stall data stream FD.
+ * @dev: drm device instance
+ * @props: individually validated u64 property value pairs
+ * @file: drm file
+ *
+ * Returns: zero on success or a negative error code.
+ */
+static int
+xe_eu_stall_stream_open_locked(struct drm_device *dev,
+			       struct eu_stall_open_properties *props,
+			       struct drm_file *file)
+{
+	struct xe_device *xe = to_xe_device(dev);
+	struct xe_eu_stall_data_stream *stream;
+	struct xe_gt *gt = props->gt;
+	unsigned long f_flags = 0;
+	int ret, stream_fd;
+
+	if (!has_eu_stall_sampling_support(xe)) {
+		xe_gt_dbg(gt, "EU stall monitoring is not supported on this platform\n");
+		return -EPERM;
+	}
+
+	if (xe_observation_paranoid && !perfmon_capable()) {
+		xe_gt_dbg(gt, "Insufficient privileges for EU stall monitoring\n");
+		return -EACCES;
+	}
+
+	/* Only one session can be active at any time */
+	if (gt->eu_stall->stream) {
+		xe_gt_dbg(gt, "EU stall sampling session already active\n");
+		return -EBUSY;
+	}
+
+	stream = kzalloc(sizeof(*stream), GFP_KERNEL);
+	if (!stream)
+		return -ENOMEM;
+
+	gt->eu_stall->stream = stream;
+	stream->gt = gt;
+
+	ret = xe_eu_stall_stream_init(stream, props);
+	if (ret) {
+		xe_gt_dbg(gt, "EU stall stream init failed : %d\n", ret);
+		goto err_alloc;
+	}
+
+	stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall,
+				     stream, f_flags);
+	if (stream_fd < 0) {
+		ret = stream_fd;
+		xe_gt_dbg(gt, "EU stall inode get fd failed : %d\n", ret);
+		goto err_open;
+	}
+
+	/* Take a reference on the driver that will be kept with stream_fd
+	 * until its release.
+	 */
+	drm_dev_get(&gt->tile->xe->drm);
+
+	return stream_fd;
+
+err_open:
+	free_eu_stall_data_buf(stream);
+err_alloc:
+	gt->eu_stall->stream = NULL;
+	kfree(stream->xecore_buf);
+	kfree(stream);
+	return ret;
 }
 
 /**
@@ -252,10 +964,15 @@ int xe_eu_stall_stream_open(struct drm_device *dev,
 {
 	struct xe_device *xe = to_xe_device(dev);
 	struct eu_stall_open_properties props;
-	int ret, stream_fd;
+	int ret;
 
 	memset(&props, 0, sizeof(struct eu_stall_open_properties));
 
+	/* Set default values */
+	props.gt = NULL;
+	props.eu_stall_sampling_rate = 4;
+	props.event_report_count = 1;
+
 	ret = xe_eu_stall_user_extensions(xe, data, &props);
 	if (ret)
 		return ret;
@@ -265,19 +982,9 @@ int xe_eu_stall_stream_open(struct drm_device *dev,
 		return -EINVAL;
 	}
 
-	if (xe_observation_paranoid && !perfmon_capable()) {
-		xe_gt_dbg(props.gt, "Insufficient privileges for EU stall monitoring\n");
-		return -EACCES;
-	}
+	mutex_lock(&props.gt->eu_stall->lock);
+	ret = xe_eu_stall_stream_open_locked(dev, &props, file);
+	mutex_unlock(&props.gt->eu_stall->lock);
 
-	if (!has_eu_stall_sampling_support(xe)) {
-		xe_gt_dbg(props.gt, "EU stall monitoring is not supported on this platform\n");
-		return -EPERM;
-	}
-	stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall,
-				     NULL, 0);
-	if (stream_fd < 0)
-		xe_gt_dbg(props.gt, "EU stall inode get fd failed : %d\n", stream_fd);
-
-	return stream_fd;
+	return ret;
 }
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h
index 70fc89480df2..00896812db41 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.h
+++ b/drivers/gpu/drm/xe/xe_eu_stall.h
@@ -6,6 +6,49 @@
 #ifndef __XE_EU_STALL_H__
 #define __XE_EU_STALL_H__
 
+#include "xe_gt_types.h"
+
+struct per_xecore_buf {
+	u8 *vaddr;
+	u32 write;
+	u32 read;
+	/* lock to protect read and write pointers */
+	struct mutex lock;
+};
+
+/**
+ * struct xe_eu_stall_data_stream - state of EU stall data stream FD
+ */
+struct xe_eu_stall_data_stream {
+	bool pollin;
+	bool enabled;
+	u64 poll_period;
+	u32 event_report_count;
+	size_t per_xecore_buf_size;
+	wait_queue_head_t poll_wq;
+
+	struct xe_gt *gt;
+	struct xe_bo *bo;
+	struct per_xecore_buf *xecore_buf;
+	struct {
+		xe_dss_mask_t mask;
+	} data_drop;
+	struct hrtimer poll_check_timer;
+	struct work_struct buf_check_work;
+	struct workqueue_struct *buf_check_wq;
+};
+
+struct xe_eu_stall_gt {
+	/* Lock to protect stream */
+	struct mutex lock;
+
+	/* Execution Unit (EU) stall data stream */
+	struct xe_eu_stall_data_stream *stream;
+};
+
+int xe_eu_stall_init(struct xe_gt *gt);
+void xe_eu_stall_fini(struct xe_gt *gt);
+
 int xe_eu_stall_stream_open(struct drm_device *dev,
 			    u64 data,
 			    struct drm_file *file);
diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
index 41ab7fbebc19..e24a081246ee 100644
--- a/drivers/gpu/drm/xe/xe_gt.c
+++ b/drivers/gpu/drm/xe/xe_gt.c
@@ -59,6 +59,7 @@
 #include "xe_vm.h"
 #include "xe_wa.h"
 #include "xe_wopcm.h"
+#include "xe_eu_stall.h"
 
 static void gt_fini(struct drm_device *drm, void *arg)
 {
@@ -158,6 +159,7 @@ void xe_gt_remove(struct xe_gt *gt)
 		xe_hw_fence_irq_finish(&gt->fence_irq[i]);
 
 	xe_gt_disable_host_l2_vram(gt);
+	xe_eu_stall_fini(gt);
 }
 
 static void gt_reset_worker(struct work_struct *w);
@@ -622,6 +624,10 @@ int xe_gt_init(struct xe_gt *gt)
 
 	xe_gt_record_user_engines(gt);
 
+	err = xe_eu_stall_init(gt);
+	if (err)
+		return err;
+
 	return 0;
 }
 
diff --git a/drivers/gpu/drm/xe/xe_gt_types.h b/drivers/gpu/drm/xe/xe_gt_types.h
index 6e66bf0e8b3f..833a1a67e9ae 100644
--- a/drivers/gpu/drm/xe/xe_gt_types.h
+++ b/drivers/gpu/drm/xe/xe_gt_types.h
@@ -430,6 +430,9 @@ struct xe_gt {
 
 	/** @oa: oa observation subsystem per gt info */
 	struct xe_oa_gt oa;
+
+	/** @eu_stall: EU stall counters subsystem per gt info */
+	struct xe_eu_stall_gt *eu_stall;
 };
 
 #endif
diff --git a/drivers/gpu/drm/xe/xe_trace.h b/drivers/gpu/drm/xe/xe_trace.h
index d5281de04d54..1cc6bfc34ccb 100644
--- a/drivers/gpu/drm/xe/xe_trace.h
+++ b/drivers/gpu/drm/xe/xe_trace.h
@@ -427,6 +427,39 @@ DEFINE_EVENT(xe_pm_runtime, xe_pm_runtime_get_ioctl,
 	     TP_ARGS(xe, caller)
 );
 
+TRACE_EVENT(xe_eu_stall_data_read,
+	    TP_PROTO(u8 slice, u8 subslice,
+		     u32 read_ptr, u32 write_ptr,
+		     u32 read_offset, u32 write_offset,
+		     size_t total_size),
+	    TP_ARGS(slice, subslice, read_ptr, write_ptr,
+		    read_offset, write_offset, total_size),
+
+	    TP_STRUCT__entry(__field(u8, slice)
+			     __field(u8, subslice)
+			     __field(u32, read_ptr)
+			     __field(u32, write_ptr)
+			     __field(u32, read_offset)
+			     __field(u32, write_offset)
+			     __field(size_t, total_size)
+			     ),
+
+	    TP_fast_assign(__entry->slice = slice;
+			   __entry->subslice = subslice;
+			   __entry->read_ptr = read_ptr;
+			   __entry->write_ptr = write_ptr;
+			   __entry->read_offset = read_offset;
+			   __entry->write_offset = write_offset;
+			   __entry->total_size = total_size;
+			   ),
+
+	    TP_printk("slice:%u subslice:%u readptr:0x%x writeptr:0x%x read off:%u write off:%u size:%zu ",
+		      __entry->slice, __entry->subslice,
+		      __entry->read_ptr, __entry->write_ptr,
+		      __entry->read_offset, __entry->write_offset,
+		      __entry->total_size)
+);
+
 #endif
 
 /* This part must be outside protection */
-- 
2.47.0


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

* [PATCH v6 4/7] drm/xe/eustall: Return -EIO error from read() if HW drops data
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (2 preceding siblings ...)
  2024-12-17  9:46 ` [PATCH v6 3/7] drm/xe/eustall: Implement EU stall sampling APIs for Xe_HPC Harish Chegondi
@ 2024-12-17  9:46 ` Harish Chegondi
  2024-12-17  9:46 ` [PATCH v6 5/7] drm/xe/eustall: Add EU stall sampling support for Xe2 Harish Chegondi
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Harish Chegondi @ 2024-12-17  9:46 UTC (permalink / raw)
  To: intel-xe
  Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson, Harish Chegondi

If the user space doesn't read the EU stall data fast enough,
it is possible that the EU stall data buffer can get filled,
and if the hardware wants to write more data, it simply drops
data due to unavailable buffer space. In that case, hardware
sets a bit in a register. If the driver detects data drop,
the driver read() returns -EIO error to let the user space
know that HW has dropped data. The -EIO error is returned
even if there is EU stall data in the buffer. A subsequent
read by the user space returns the remaining EU stall data.

Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
 drivers/gpu/drm/xe/xe_eu_stall.c | 12 ++++++++++++
 drivers/gpu/drm/xe/xe_eu_stall.h |  1 +
 2 files changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index 1d13219a3eb0..868f75a53b60 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -472,6 +472,7 @@ xe_eu_stall_stream_read_locked(struct xe_eu_stall_data_stream *stream,
  * before calling read().
  *
  * Returns: The number of bytes copied or a negative error code on failure.
+ *	    -EIO if HW drops any EU stall data when the buffer is full.
  */
 static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf,
 				       size_t count, loff_t *ppos)
@@ -485,6 +486,16 @@ static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf,
 		return -EINVAL;
 	}
 
+	if (bitmap_weight(stream->data_drop.mask, XE_MAX_DSS_FUSE_BITS)) {
+		if (!stream->data_drop.reported_to_user) {
+			stream->data_drop.reported_to_user = true;
+			xe_gt_dbg(gt, "EU stall data dropped in XeCores: %*pb\n",
+				  XE_MAX_DSS_FUSE_BITS, stream->data_drop.mask);
+			return -EIO;
+		}
+		stream->data_drop.reported_to_user = false;
+	}
+
 	if (!(file->f_flags & O_NONBLOCK)) {
 		do {
 			if (!stream->pollin) {
@@ -680,6 +691,7 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
 	if (!stream->xecore_buf)
 		return -ENOMEM;
 
+	stream->data_drop.reported_to_user = false;
 	bitmap_zero(stream->data_drop.mask, XE_MAX_DSS_FUSE_BITS);
 
 	xe_pm_runtime_get(gt_to_xe(gt));
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h
index 00896812db41..d9482e1b522b 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.h
+++ b/drivers/gpu/drm/xe/xe_eu_stall.h
@@ -31,6 +31,7 @@ struct xe_eu_stall_data_stream {
 	struct xe_bo *bo;
 	struct per_xecore_buf *xecore_buf;
 	struct {
+		bool reported_to_user;
 		xe_dss_mask_t mask;
 	} data_drop;
 	struct hrtimer poll_check_timer;
-- 
2.47.0


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

* [PATCH v6 5/7] drm/xe/eustall: Add EU stall sampling support for Xe2
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (3 preceding siblings ...)
  2024-12-17  9:46 ` [PATCH v6 4/7] drm/xe/eustall: Return -EIO error from read() if HW drops data Harish Chegondi
@ 2024-12-17  9:46 ` Harish Chegondi
  2024-12-17  9:46 ` [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information Harish Chegondi
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Harish Chegondi @ 2024-12-17  9:46 UTC (permalink / raw)
  To: intel-xe
  Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson, Harish Chegondi

Add EU stall sampling support for Xe2 architecture GPUs - LNL and BMG.
EU stall data format for LNL and BMG is different from that of PVC.

Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
 drivers/gpu/drm/xe/xe_eu_stall.c | 52 ++++++++++++++++++++++++++++++--
 1 file changed, 49 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index 868f75a53b60..2eb89590de47 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -73,6 +73,42 @@ struct drm_xe_eu_stall_data_pvc {
 	__u64 unused[6];
 } __packed;
 
+/**
+ * struct drm_xe_eu_stall_data_xe2 - EU stall data format for LNL, BMG
+ *
+ * Bits		Field
+ * 0  to 28	IP (addr)
+ * 29 to 36	Tdr count
+ * 37 to 44	other count
+ * 45 to 52	control count
+ * 53 to 60	pipestall count
+ * 61 to 68	send count
+ * 69 to 76	dist_acc count
+ * 77 to 84	sbid count
+ * 85 to 92	sync count
+ * 93 to 100	inst_fetch count
+ * 101 to 108	Active count
+ * 109 to 111	Exid
+ * 112		EndFlag (is always 1)
+ */
+struct drm_xe_eu_stall_data_xe2 {
+	__u64 ip_addr:29;
+	__u64 tdr_count:8;
+	__u64 other_count:8;
+	__u64 control_count:8;
+	__u64 pipestall_count:8;
+	__u64 send_count:8;
+	__u64 dist_acc_count:8;
+	__u64 sbid_count:8;
+	__u64 sync_count:8;
+	__u64 inst_fetch_count:8;
+	__u64 active_count:8;
+	__u64 ex_id:3;
+	__u64 end_flag:1;
+	__u64 unused_bits:15;
+	__u64 unused[6];
+} __packed;
+
 static u64 per_xecore_buf_size = SZ_512K;
 
 static unsigned long
@@ -83,6 +119,8 @@ xe_eu_stall_data_record_size(struct xe_device *xe)
 
 	if (platform == XE_PVC)
 		record_size = sizeof(struct drm_xe_eu_stall_data_pvc);
+	else if ((platform == XE_LUNARLAKE) || (platform == XE_BATTLEMAGE))
+		record_size = sizeof(struct drm_xe_eu_stall_data_xe2);
 
 	return record_size;
 }
@@ -311,10 +349,16 @@ eu_stall_data_buf_check(struct xe_eu_stall_data_stream *stream)
 static void
 clear_dropped_eviction_line_bit(struct xe_gt *gt, u16 group, u16 instance)
 {
+	struct xe_device *xe = gt_to_xe(gt);
 	u32 write_ptr_reg;
 
-	/* On PVC, the overflow bit has to be cleared by writing 1 to it. */
-	write_ptr_reg = _MASKED_BIT_ENABLE(XEHPC_EUSTALL_REPORT_OVERFLOW_DROP);
+	/* On PVC, the overflow bit has to be cleared by writing 1 to it.
+	 * On other GPUs, the bit has to be cleared by writing 0 to it.
+	 */
+	if (GRAPHICS_VER(xe) >= 20)
+		write_ptr_reg = _MASKED_BIT_DISABLE(XEHPC_EUSTALL_REPORT_OVERFLOW_DROP);
+	else
+		write_ptr_reg = _MASKED_BIT_ENABLE(XEHPC_EUSTALL_REPORT_OVERFLOW_DROP);
 
 	xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT, write_ptr_reg, group, instance);
 }
@@ -882,7 +926,9 @@ static const struct file_operations fops_eu_stall = {
 
 static inline bool has_eu_stall_sampling_support(struct xe_device *xe)
 {
-	return ((xe->info.platform == XE_PVC) ? true : false);
+	return ((xe->info.platform == XE_PVC ||
+		 xe->info.platform == XE_LUNARLAKE ||
+		 xe->info.platform == XE_BATTLEMAGE) ? true : false);
 }
 
 /**
-- 
2.47.0


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

* [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (4 preceding siblings ...)
  2024-12-17  9:46 ` [PATCH v6 5/7] drm/xe/eustall: Add EU stall sampling support for Xe2 Harish Chegondi
@ 2024-12-17  9:46 ` Harish Chegondi
  2024-12-17 20:07   ` Dixit, Ashutosh
  2024-12-17  9:46 ` [PATCH v6 7/7] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi
                   ` (8 subsequent siblings)
  14 siblings, 1 reply; 28+ messages in thread
From: Harish Chegondi @ 2024-12-17  9:46 UTC (permalink / raw)
  To: intel-xe
  Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson, Harish Chegondi

User space can get the EU stall data record size, EU stall capabilities,
EU stall sampling rates, and per XeCore buffer size with query IOCTL
DRM_IOCTL_XE_DEVICE_QUERY with .query set to DRM_XE_DEVICE_QUERY_EU_STALL.
A struct drm_xe_query_eu_stall will be returned to the user space along
with an array of supported sampling rates sorted in the fastest sampling
rate first order. sampling_rates in struct drm_xe_query_eu_stall will
point to the array of sampling rates.

Any capabilities in EU stall sampling as of this patch are considered
as base capabilities. Any new capabilities added later will need
a new capabilities flag.

v6: Include EU stall sampling rates information and
    per XeCore buffer size in the query information.

Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
 drivers/gpu/drm/xe/xe_eu_stall.c | 39 ++++++++++++++++++++++++++++-
 drivers/gpu/drm/xe/xe_eu_stall.h |  5 ++++
 drivers/gpu/drm/xe/xe_query.c    | 43 ++++++++++++++++++++++++++++++++
 include/uapi/drm/xe_drm.h        | 35 ++++++++++++++++++++++++++
 4 files changed, 121 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index 2eb89590de47..d0f3a4568644 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -111,7 +111,44 @@ struct drm_xe_eu_stall_data_xe2 {
 
 static u64 per_xecore_buf_size = SZ_512K;
 
-static unsigned long
+const u64 eu_stall_sampling_rates[] = {251, 251 * 2, 251 * 3, 251 * 4, 251 * 5, 251 * 6, 251 * 7};
+
+/**
+ * xe_eu_stall_get_sampling_rates - get EU stall sampling rates information.
+ *
+ * @num_rates_ptr: Pointer to a u32 to return the number of sampling rates.
+ * @rates_ptr: double u64 pointer to point to an array of sampling rates.
+ *
+ * Returns: None.
+ *
+ * Stores the number of sampling rates and pointer to the array of
+ * sampling rates in the input pointers.
+ */
+void xe_eu_stall_get_sampling_rates(u32 *num_rates_ptr, const u64 **rates_ptr)
+{
+	*num_rates_ptr = 7;
+	*rates_ptr = eu_stall_sampling_rates;
+}
+
+/**
+ * xe_eu_stall_get_per_xecore_buf_size - get per XeCore buffer size.
+ *
+ * Returns: The per XeCore buffer size used to allocate the per GT
+ *	    EU stall data buffer.
+ */
+u64 xe_eu_stall_get_per_xecore_buf_size(void)
+{
+	return per_xecore_buf_size;
+}
+
+/**
+ * xe_eu_stall_data_record_size - get EU stall data record size.
+ *
+ * @xe: Pointer to a Xe device.
+ *
+ * Returns: EU stall data record size.
+ */
+unsigned long
 xe_eu_stall_data_record_size(struct xe_device *xe)
 {
 	enum xe_platform platform = xe->info.platform;
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h
index d9482e1b522b..050d5c14de78 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.h
+++ b/drivers/gpu/drm/xe/xe_eu_stall.h
@@ -47,10 +47,15 @@ struct xe_eu_stall_gt {
 	struct xe_eu_stall_data_stream *stream;
 };
 
+u64 xe_eu_stall_get_per_xecore_buf_size(void);
+void xe_eu_stall_get_sampling_rates(u32 *num_rates_ptr,
+				    const u64 **rates_ptr);
 int xe_eu_stall_init(struct xe_gt *gt);
 void xe_eu_stall_fini(struct xe_gt *gt);
 
 int xe_eu_stall_stream_open(struct drm_device *dev,
 			    u64 data,
 			    struct drm_file *file);
+unsigned long
+xe_eu_stall_data_record_size(struct xe_device *xe);
 #endif
diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index c059639613f7..61c4bdccae4b 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -26,6 +26,7 @@
 #include "xe_oa.h"
 #include "xe_ttm_vram_mgr.h"
 #include "xe_wa.h"
+#include "xe_eu_stall.h"
 
 static const u16 xe_to_user_engine_class[] = {
 	[XE_ENGINE_CLASS_RENDER] = DRM_XE_ENGINE_CLASS_RENDER,
@@ -698,6 +699,47 @@ static int query_oa_units(struct xe_device *xe,
 	return ret ? -EFAULT : 0;
 }
 
+static int query_eu_stall(struct xe_device *xe,
+			  struct drm_xe_device_query *query)
+{
+	void __user *query_ptr = u64_to_user_ptr(query->data);
+	struct drm_xe_query_eu_stall *info;
+	const u64 *rates_ptr;
+	u32 num_rates;
+	size_t size;
+	int ret;
+
+	xe_eu_stall_get_sampling_rates(&num_rates, &rates_ptr);
+	size = sizeof(struct drm_xe_query_eu_stall) + (num_rates * sizeof(u64));
+
+	if (query->size == 0) {
+		query->size = size;
+		return 0;
+	} else if (XE_IOCTL_DBG(xe, query->size != size)) {
+		return -EINVAL;
+	}
+
+	info = kzalloc(sizeof(*info), GFP_KERNEL);
+	if (!info)
+		return -ENOMEM;
+
+	info->capabilities = DRM_XE_EU_STALL_CAPS_BASE;
+	info->record_size = xe_eu_stall_data_record_size(xe);
+	info->num_sampling_rates = num_rates;
+	info->per_xecore_buf_size = xe_eu_stall_get_per_xecore_buf_size();
+	ret = copy_to_user(query_ptr + sizeof(*info), rates_ptr, num_rates * sizeof(u64));
+	if (ret) {
+		kfree(info);
+		return -EFAULT;
+	}
+	info->sampling_rates = u64_to_user_ptr(query->data + sizeof(*info));
+
+	ret = copy_to_user(query_ptr, info, sizeof(*info));
+	kfree(info);
+
+	return ret ? -EFAULT : 0;
+}
+
 static int (* const xe_query_funcs[])(struct xe_device *xe,
 				      struct drm_xe_device_query *query) = {
 	query_engines,
@@ -709,6 +751,7 @@ static int (* const xe_query_funcs[])(struct xe_device *xe,
 	query_engine_cycles,
 	query_uc_fw_version,
 	query_oa_units,
+	query_eu_stall,
 };
 
 int xe_query_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 4ee3b04a1bb5..40c2d274473e 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -700,6 +700,7 @@ struct drm_xe_device_query {
 #define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES	6
 #define DRM_XE_DEVICE_QUERY_UC_FW_VERSION	7
 #define DRM_XE_DEVICE_QUERY_OA_UNITS		8
+#define DRM_XE_DEVICE_QUERY_EU_STALL		9
 	/** @query: The type of data to query */
 	__u32 query;
 
@@ -1770,6 +1771,40 @@ enum drm_xe_eu_stall_property_id {
 	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
 };
 
+/**
+ * struct drm_xe_query_eu_stall - Information about EU stall sampling.
+ *
+ * If a query is made with a struct @drm_xe_device_query where .query
+ * is equal to @DRM_XE_DEVICE_QUERY_EU_STALL, then the reply uses
+ * struct @drm_xe_query_eu_stall in .data.
+ */
+struct drm_xe_query_eu_stall {
+	/** @extensions: Pointer to the first extension struct, if any */
+	__u64 extensions;
+
+	/** @capabilities: EU stall capabilities bit-mask */
+	__u64 capabilities;
+#define DRM_XE_EU_STALL_CAPS_BASE		(1 << 0)
+
+	/** @record_size: size of each EU stall data record */
+	__u64 record_size;
+
+	/** @per_xecore_buf_size: Per XeCore buffer size */
+	__u64 per_xecore_buf_size;
+
+	/** @num_sampling_rates: Number of sampling rates supported */
+	__u64 num_sampling_rates;
+
+	/**
+	 * @sampling_rates: Pointer to an array of sampling rates
+	 * sorted in the fastest sampling rate first order.
+	 */
+	__u64 *sampling_rates;
+
+	/** @reserved: Reserved */
+	__u64 reserved[5];
+};
+
 #if defined(__cplusplus)
 }
 #endif
-- 
2.47.0


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

* [PATCH v6 7/7] drm/xe/eustall: Add workaround 22016596838 which applies to PVC.
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (5 preceding siblings ...)
  2024-12-17  9:46 ` [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information Harish Chegondi
@ 2024-12-17  9:46 ` Harish Chegondi
  2024-12-17 15:35 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Harish Chegondi @ 2024-12-17  9:46 UTC (permalink / raw)
  To: intel-xe
  Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson, Harish Chegondi

Add PVC workaround 22016596838 that disables EU DOP gating
during EU stall sampling.

Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
 drivers/gpu/drm/xe/xe_eu_stall.c   | 16 ++++++++++++++++
 drivers/gpu/drm/xe/xe_wa_oob.rules |  1 +
 2 files changed, 17 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index d0f3a4568644..b745b87ed13d 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -13,6 +13,7 @@
 
 #include "xe_bo.h"
 #include "xe_pm.h"
+#include "xe_wa.h"
 #include "xe_trace.h"
 #include "xe_macros.h"
 #include "xe_device.h"
@@ -26,6 +27,8 @@
 #include "regs/xe_gt_regs.h"
 #include "regs/xe_eu_stall_regs.h"
 
+#include <generated/xe_wa_oob.h>
+
 #define POLL_FREQUENCY_HZ 100
 #define POLL_PERIOD_NS (NSEC_PER_SEC / POLL_FREQUENCY_HZ)
 
@@ -675,6 +678,14 @@ xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
 	if (!xe_force_wake_ref_has_domain(fw_ref, XE_FW_RENDER))
 		xe_gt_err(gt, "Failed to get RENDER forcewake\n");
 
+	/*
+	 * Wa_22016596838:pvc
+	 * Disable EU DOP gating for PVC.
+	 */
+	if (XE_WA(gt, 22016596838))
+		xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
+					  _MASKED_BIT_ENABLE(DISABLE_DOP_GATING));
+
 	reg_value = gen_eustall_base(stream, true);
 	xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value);
 }
@@ -706,6 +717,11 @@ xe_eu_stall_stream_disable(struct xe_eu_stall_data_stream *stream)
 	reg_value = gen_eustall_base(stream, false);
 	xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value);
 
+	/* Wa_22016596838:pvc */
+	if (XE_WA(gt, 22016596838))
+		xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
+					  _MASKED_BIT_DISABLE(DISABLE_DOP_GATING));
+
 	xe_force_wake_put(gt_to_fw(gt), XE_FW_RENDER);
 	xe_pm_runtime_put(gt_to_xe(gt));
 }
diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
index 3ed12a85cc60..c10be71ac766 100644
--- a/drivers/gpu/drm/xe/xe_wa_oob.rules
+++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
@@ -5,6 +5,7 @@
 22011391025	PLATFORM(DG2)
 22012727170	SUBPLATFORM(DG2, G11)
 22012727685	SUBPLATFORM(DG2, G11)
+22016596838	PLATFORM(PVC)
 18020744125	PLATFORM(PVC)
 1509372804	PLATFORM(PVC), GRAPHICS_STEP(A0, C0)
 1409600907	GRAPHICS_VERSION_RANGE(1200, 1250)
-- 
2.47.0


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

* ✓ CI.Patch_applied: success for Add support for EU stall sampling
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (6 preceding siblings ...)
  2024-12-17  9:46 ` [PATCH v6 7/7] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi
@ 2024-12-17 15:35 ` Patchwork
  2024-12-17 15:35 ` ✗ CI.checkpatch: warning " Patchwork
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-12-17 15:35 UTC (permalink / raw)
  To: Harish Chegondi; +Cc: intel-xe

== Series Details ==

Series: Add support for EU stall sampling
URL   : https://patchwork.freedesktop.org/series/142707/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: a26c76ecbab3 drm-tip: 2024y-12m-17d-15h-21m-05s UTC integration manifest
=== git am output follows ===
Applying: drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask
Applying: drm/xe/uapi: Introduce API for EU stall sampling
Applying: drm/xe/eustall: Implement EU stall sampling APIs for Xe_HPC
Applying: drm/xe/eustall: Return -EIO error from read() if HW drops data
Applying: drm/xe/eustall: Add EU stall sampling support for Xe2
Applying: drm/xe/uapi: Add a device query to get EU stall sampling information
Applying: drm/xe/eustall: Add workaround 22016596838 which applies to PVC.



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

* ✗ CI.checkpatch: warning for Add support for EU stall sampling
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (7 preceding siblings ...)
  2024-12-17 15:35 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork
@ 2024-12-17 15:35 ` Patchwork
  2024-12-17 15:37 ` ✓ CI.KUnit: success " Patchwork
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-12-17 15:35 UTC (permalink / raw)
  To: Harish Chegondi; +Cc: intel-xe

== Series Details ==

Series: Add support for EU stall sampling
URL   : https://patchwork.freedesktop.org/series/142707/
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
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 1e09b8771b3d89227d9e596e116f398cf7ae8760
Author: Harish Chegondi <harish.chegondi@intel.com>
Date:   Tue Dec 17 01:46:57 2024 -0800

    drm/xe/eustall: Add workaround 22016596838 which applies to PVC.
    
    Add PVC workaround 22016596838 that disables EU DOP gating
    during EU stall sampling.
    
    Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
+ /mt/dim checkpatch a26c76ecbab35133f08c0eac7b6b2261ffcd75c7 drm-intel
8b61e223b72c drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask
dedbdc598e71 drm/xe/uapi: Introduce API for EU stall sampling
-:53: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#53: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 387 lines checked
d76518d8321d drm/xe/eustall: Implement EU stall sampling APIs for Xe_HPC
-:23: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#23: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 1001 lines checked
5d8bac4d16a7 drm/xe/eustall: Return -EIO error from read() if HW drops data
798e40f283f4 drm/xe/eustall: Add EU stall sampling support for Xe2
d76819d7eba6 drm/xe/uapi: Add a device query to get EU stall sampling information
1e09b8771b3d drm/xe/eustall: Add workaround 22016596838 which applies to PVC.



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

* ✓ CI.KUnit: success for Add support for EU stall sampling
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (8 preceding siblings ...)
  2024-12-17 15:35 ` ✗ CI.checkpatch: warning " Patchwork
@ 2024-12-17 15:37 ` Patchwork
  2024-12-17 15:55 ` ✓ CI.Build: " Patchwork
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-12-17 15:37 UTC (permalink / raw)
  To: Harish Chegondi; +Cc: intel-xe

== Series Details ==

Series: Add support for EU stall sampling
URL   : https://patchwork.freedesktop.org/series/142707/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[15:35:51] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:35:55] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
../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)
      |      ^~~~~~~~~~~~~~~~~

[15:36:24] Starting KUnit Kernel (1/1)...
[15:36:24] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:36:24] =================== guc_dbm (7 subtests) ===================
[15:36:24] [PASSED] test_empty
[15:36:24] [PASSED] test_default
[15:36:24] ======================== test_size  ========================
[15:36:24] [PASSED] 4
[15:36:24] [PASSED] 8
[15:36:24] [PASSED] 32
[15:36:24] [PASSED] 256
[15:36:24] ==================== [PASSED] test_size ====================
[15:36:24] ======================= test_reuse  ========================
[15:36:24] [PASSED] 4
[15:36:24] [PASSED] 8
[15:36:24] [PASSED] 32
[15:36:24] [PASSED] 256
[15:36:24] =================== [PASSED] test_reuse ====================
[15:36:24] =================== test_range_overlap  ====================
[15:36:24] [PASSED] 4
[15:36:24] [PASSED] 8
[15:36:24] [PASSED] 32
[15:36:24] [PASSED] 256
[15:36:24] =============== [PASSED] test_range_overlap ================
[15:36:24] =================== test_range_compact  ====================
[15:36:24] [PASSED] 4
[15:36:24] [PASSED] 8
[15:36:24] [PASSED] 32
[15:36:24] [PASSED] 256
[15:36:24] =============== [PASSED] test_range_compact ================
[15:36:24] ==================== test_range_spare  =====================
[15:36:24] [PASSED] 4
[15:36:24] [PASSED] 8
[15:36:24] [PASSED] 32
[15:36:24] [PASSED] 256
[15:36:24] ================ [PASSED] test_range_spare =================
[15:36:24] ===================== [PASSED] guc_dbm =====================
[15:36:24] =================== guc_idm (6 subtests) ===================
[15:36:24] [PASSED] bad_init
[15:36:24] [PASSED] no_init
[15:36:24] [PASSED] init_fini
[15:36:24] [PASSED] check_used
[15:36:24] [PASSED] check_quota
[15:36:24] [PASSED] check_all
[15:36:24] ===================== [PASSED] guc_idm =====================
[15:36:24] ================== no_relay (3 subtests) ===================
[15:36:24] [PASSED] xe_drops_guc2pf_if_not_ready
[15:36:24] [PASSED] xe_drops_guc2vf_if_not_ready
[15:36:24] [PASSED] xe_rejects_send_if_not_ready
[15:36:24] ==================== [PASSED] no_relay =====================
[15:36:24] ================== pf_relay (14 subtests) ==================
[15:36:24] [PASSED] pf_rejects_guc2pf_too_short
[15:36:24] [PASSED] pf_rejects_guc2pf_too_long
[15:36:24] [PASSED] pf_rejects_guc2pf_no_payload
[15:36:24] [PASSED] pf_fails_no_payload
[15:36:24] [PASSED] pf_fails_bad_origin
[15:36:24] [PASSED] pf_fails_bad_type
[15:36:24] [PASSED] pf_txn_reports_error
[15:36:24] [PASSED] pf_txn_sends_pf2guc
[15:36:24] [PASSED] pf_sends_pf2guc
[15:36:24] [SKIPPED] pf_loopback_nop
[15:36:24] [SKIPPED] pf_loopback_echo
[15:36:24] [SKIPPED] pf_loopback_fail
[15:36:24] [SKIPPED] pf_loopback_busy
[15:36:24] [SKIPPED] pf_loopback_retry
[15:36:24] ==================== [PASSED] pf_relay =====================
[15:36:24] ================== vf_relay (3 subtests) ===================
[15:36:24] [PASSED] vf_rejects_guc2vf_too_short
[15:36:24] [PASSED] vf_rejects_guc2vf_too_long
[15:36:24] [PASSED] vf_rejects_guc2vf_no_payload
[15:36:24] ==================== [PASSED] vf_relay =====================
[15:36:24] ================= pf_service (11 subtests) =================
[15:36:24] [PASSED] pf_negotiate_any
[15:36:24] [PASSED] pf_negotiate_base_match
[15:36:24] [PASSED] pf_negotiate_base_newer
[15:36:24] [PASSED] pf_negotiate_base_next
[15:36:24] [SKIPPED] pf_negotiate_base_older
[15:36:24] [PASSED] pf_negotiate_base_prev
[15:36:24] [PASSED] pf_negotiate_latest_match
[15:36:24] [PASSED] pf_negotiate_latest_newer
[15:36:24] [PASSED] pf_negotiate_latest_next
[15:36:24] [SKIPPED] pf_negotiate_latest_older
[15:36:24] [SKIPPED] pf_negotiate_latest_prev
[15:36:24] =================== [PASSED] pf_service ====================
[15:36:24] ===================== lmtt (1 subtest) =====================
[15:36:24] ======================== test_ops  =========================
[15:36:24] [PASSED] 2-level
[15:36:24] [PASSED] multi-level
[15:36:24] ==================== [PASSED] test_ops =====================
[15:36:24] ====================== [PASSED] lmtt =======================
[15:36:24] =================== xe_mocs (2 subtests) ===================
[15:36:24] ================ xe_live_mocs_kernel_kunit  ================
[15:36:24] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[15:36:24] ================ xe_live_mocs_reset_kunit  =================
[15:36:24] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[15:36:24] ==================== [SKIPPED] xe_mocs =====================
[15:36:24] ================= xe_migrate (2 subtests) ==================
[15:36:24] ================= xe_migrate_sanity_kunit  =================
[15:36:24] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[15:36:24] ================== xe_validate_ccs_kunit  ==================
[15:36:24] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[15:36:24] =================== [SKIPPED] xe_migrate ===================
[15:36:24] ================== xe_dma_buf (1 subtest) ==================
[15:36:24] ==================== xe_dma_buf_kunit  =====================
[15:36:24] ================ [SKIPPED] xe_dma_buf_kunit ================
[15:36:24] =================== [SKIPPED] xe_dma_buf ===================
[15:36:24] ==================== xe_bo (3 subtests) ====================
[15:36:24] ================== xe_ccs_migrate_kunit  ===================
[15:36:24] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[15:36:24] ==================== xe_bo_evict_kunit  ====================
[15:36:24] =============== [SKIPPED] xe_bo_evict_kunit ================
[15:36:24] =================== xe_bo_shrink_kunit  ====================
[15:36:24] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[15:36:24] ===================== [SKIPPED] xe_bo ======================
[15:36:24] ==================== args (11 subtests) ====================
[15:36:24] [PASSED] count_args_test
[15:36:24] [PASSED] call_args_example
[15:36:24] [PASSED] call_args_test
[15:36:24] [PASSED] drop_first_arg_example
[15:36:24] [PASSED] drop_first_arg_test
[15:36:24] [PASSED] first_arg_example
[15:36:24] [PASSED] first_arg_test
[15:36:24] [PASSED] last_arg_example
[15:36:24] [PASSED] last_arg_test
[15:36:24] [PASSED] pick_arg_example
[15:36:24] [PASSED] sep_comma_examplestty: 'standard input': Inappropriate ioctl for device

[15:36:24] ====================== [PASSED] args =======================
[15:36:24] =================== xe_pci (2 subtests) ====================
[15:36:24] [PASSED] xe_gmdid_graphics_ip
[15:36:24] [PASSED] xe_gmdid_media_ip
[15:36:24] ===================== [PASSED] xe_pci ======================
[15:36:24] =================== xe_rtp (2 subtests) ====================
[15:36:24] =============== xe_rtp_process_to_sr_tests  ================
[15:36:24] [PASSED] coalesce-same-reg
[15:36:24] [PASSED] no-match-no-add
[15:36:24] [PASSED] match-or
[15:36:24] [PASSED] match-or-xfail
[15:36:24] [PASSED] no-match-no-add-multiple-rules
[15:36:24] [PASSED] two-regs-two-entries
[15:36:24] [PASSED] clr-one-set-other
[15:36:24] [PASSED] set-field
[15:36:24] [PASSED] conflict-duplicate
[15:36:24] [PASSED] conflict-not-disjoint
[15:36:24] [PASSED] conflict-reg-type
[15:36:24] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[15:36:24] ================== xe_rtp_process_tests  ===================
[15:36:24] [PASSED] active1
[15:36:24] [PASSED] active2
[15:36:24] [PASSED] active-inactive
[15:36:24] [PASSED] inactive-active
[15:36:24] [PASSED] inactive-1st_or_active-inactive
[15:36:24] [PASSED] inactive-2nd_or_active-inactive
[15:36:24] [PASSED] inactive-last_or_active-inactive
[15:36:24] [PASSED] inactive-no_or_active-inactive
[15:36:24] ============== [PASSED] xe_rtp_process_tests ===============
[15:36:24] ===================== [PASSED] xe_rtp ======================
[15:36:24] ==================== xe_wa (1 subtest) =====================
[15:36:24] ======================== xe_wa_gt  =========================
[15:36:24] [PASSED] TIGERLAKE (B0)
[15:36:24] [PASSED] DG1 (A0)
[15:36:24] [PASSED] DG1 (B0)
[15:36:24] [PASSED] ALDERLAKE_S (A0)
[15:36:24] [PASSED] ALDERLAKE_S (B0)
[15:36:24] [PASSED] ALDERLAKE_S (C0)
[15:36:24] [PASSED] ALDERLAKE_S (D0)
[15:36:24] [PASSED] ALDERLAKE_P (A0)
[15:36:24] [PASSED] ALDERLAKE_P (B0)
[15:36:24] [PASSED] ALDERLAKE_P (C0)
[15:36:24] [PASSED] ALDERLAKE_S_RPLS (D0)
[15:36:24] [PASSED] ALDERLAKE_P_RPLU (E0)
[15:36:24] [PASSED] DG2_G10 (C0)
[15:36:24] [PASSED] DG2_G11 (B1)
[15:36:24] [PASSED] DG2_G12 (A1)
[15:36:24] [PASSED] METEORLAKE (g:A0, m:A0)
[15:36:24] [PASSED] METEORLAKE (g:A0, m:A0)
[15:36:24] [PASSED] METEORLAKE (g:A0, m:A0)
[15:36:24] [PASSED] LUNARLAKE (g:A0, m:A0)
[15:36:24] [PASSED] LUNARLAKE (g:B0, m:A0)
[15:36:24] [PASSED] BATTLEMAGE (g:A0, m:A1)
[15:36:24] ==================== [PASSED] xe_wa_gt =====================
[15:36:24] ====================== [PASSED] xe_wa ======================
[15:36:24] ============================================================
[15:36:24] Testing complete. Ran 122 tests: passed: 106, skipped: 16
[15:36:24] Elapsed time: 33.456s total, 4.425s configuring, 28.765s building, 0.221s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[15:36:24] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:36:26] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
../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)
      |      ^~~~~~~~~~~~~~~~~

[15:36:49] Starting KUnit Kernel (1/1)...
[15:36:49] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:36:49] ================== drm_buddy (7 subtests) ==================
[15:36:49] [PASSED] drm_test_buddy_alloc_limit
[15:36:49] [PASSED] drm_test_buddy_alloc_optimistic
[15:36:49] [PASSED] drm_test_buddy_alloc_pessimistic
[15:36:49] [PASSED] drm_test_buddy_alloc_pathological
[15:36:49] [PASSED] drm_test_buddy_alloc_contiguous
[15:36:49] [PASSED] drm_test_buddy_alloc_clear
[15:36:49] [PASSED] drm_test_buddy_alloc_range_bias
[15:36:49] ==================== [PASSED] drm_buddy ====================
[15:36:49] ============= drm_cmdline_parser (40 subtests) =============
[15:36:49] [PASSED] drm_test_cmdline_force_d_only
[15:36:49] [PASSED] drm_test_cmdline_force_D_only_dvi
[15:36:49] [PASSED] drm_test_cmdline_force_D_only_hdmi
[15:36:49] [PASSED] drm_test_cmdline_force_D_only_not_digital
[15:36:49] [PASSED] drm_test_cmdline_force_e_only
[15:36:49] [PASSED] drm_test_cmdline_res
[15:36:49] [PASSED] drm_test_cmdline_res_vesa
[15:36:49] [PASSED] drm_test_cmdline_res_vesa_rblank
[15:36:49] [PASSED] drm_test_cmdline_res_rblank
[15:36:49] [PASSED] drm_test_cmdline_res_bpp
[15:36:49] [PASSED] drm_test_cmdline_res_refresh
[15:36:49] [PASSED] drm_test_cmdline_res_bpp_refresh
[15:36:49] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[15:36:49] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[15:36:49] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[15:36:49] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[15:36:49] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[15:36:49] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[15:36:49] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[15:36:49] [PASSED] drm_test_cmdline_res_margins_force_on
[15:36:49] [PASSED] drm_test_cmdline_res_vesa_margins
[15:36:49] [PASSED] drm_test_cmdline_name
[15:36:49] [PASSED] drm_test_cmdline_name_bpp
[15:36:49] [PASSED] drm_test_cmdline_name_option
[15:36:49] [PASSED] drm_test_cmdline_name_bpp_option
[15:36:49] [PASSED] drm_test_cmdline_rotate_0
[15:36:49] [PASSED] drm_test_cmdline_rotate_90
[15:36:49] [PASSED] drm_test_cmdline_rotate_180
[15:36:49] [PASSED] drm_test_cmdline_rotate_270
[15:36:49] [PASSED] drm_test_cmdline_hmirror
[15:36:49] [PASSED] drm_test_cmdline_vmirror
[15:36:49] [PASSED] drm_test_cmdline_margin_options
[15:36:49] [PASSED] drm_test_cmdline_multiple_options
[15:36:49] [PASSED] drm_test_cmdline_bpp_extra_and_option
[15:36:49] [PASSED] drm_test_cmdline_extra_and_option
[15:36:49] [PASSED] drm_test_cmdline_freestanding_options
[15:36:49] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[15:36:49] [PASSED] drm_test_cmdline_panel_orientation
[15:36:49] ================ drm_test_cmdline_invalid  =================
[15:36:49] [PASSED] margin_only
[15:36:49] [PASSED] interlace_only
[15:36:49] [PASSED] res_missing_x
[15:36:49] [PASSED] res_missing_y
[15:36:49] [PASSED] res_bad_y
[15:36:49] [PASSED] res_missing_y_bpp
[15:36:49] [PASSED] res_bad_bpp
[15:36:49] [PASSED] res_bad_refresh
[15:36:49] [PASSED] res_bpp_refresh_force_on_off
[15:36:49] [PASSED] res_invalid_mode
[15:36:49] [PASSED] res_bpp_wrong_place_mode
[15:36:49] [PASSED] name_bpp_refresh
[15:36:49] [PASSED] name_refresh
[15:36:49] [PASSED] name_refresh_wrong_mode
[15:36:49] [PASSED] name_refresh_invalid_mode
[15:36:49] [PASSED] rotate_multiple
[15:36:49] [PASSED] rotate_invalid_val
[15:36:49] [PASSED] rotate_truncated
[15:36:49] [PASSED] invalid_option
[15:36:49] [PASSED] invalid_tv_option
[15:36:49] [PASSED] truncated_tv_option
[15:36:49] ============ [PASSED] drm_test_cmdline_invalid =============
[15:36:49] =============== drm_test_cmdline_tv_options  ===============
[15:36:49] [PASSED] NTSC
[15:36:49] [PASSED] NTSC_443
[15:36:49] [PASSED] NTSC_J
[15:36:49] [PASSED] PAL
[15:36:49] [PASSED] PAL_M
[15:36:49] [PASSED] PAL_N
[15:36:49] [PASSED] SECAM
[15:36:49] [PASSED] MONO_525
[15:36:49] [PASSED] MONO_625
[15:36:49] =========== [PASSED] drm_test_cmdline_tv_options ===========
[15:36:49] =============== [PASSED] drm_cmdline_parser ================
[15:36:49] ========== drmm_connector_hdmi_init (19 subtests) ==========
[15:36:49] [PASSED] drm_test_connector_hdmi_init_valid
[15:36:49] [PASSED] drm_test_connector_hdmi_init_bpc_8
[15:36:49] [PASSED] drm_test_connector_hdmi_init_bpc_10
[15:36:49] [PASSED] drm_test_connector_hdmi_init_bpc_12
[15:36:49] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[15:36:49] [PASSED] drm_test_connector_hdmi_init_bpc_null
[15:36:49] [PASSED] drm_test_connector_hdmi_init_formats_empty
[15:36:49] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[15:36:49] [PASSED] drm_test_connector_hdmi_init_null_ddc
[15:36:49] [PASSED] drm_test_connector_hdmi_init_null_product
[15:36:49] [PASSED] drm_test_connector_hdmi_init_null_vendor
[15:36:49] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[15:36:49] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[15:36:49] [PASSED] drm_test_connector_hdmi_init_product_valid
[15:36:49] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[15:36:49] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[15:36:49] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[15:36:49] ========= drm_test_connector_hdmi_init_type_valid  =========
[15:36:49] [PASSED] HDMI-A
[15:36:49] [PASSED] HDMI-B
[15:36:49] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[15:36:49] ======== drm_test_connector_hdmi_init_type_invalid  ========
[15:36:49] [PASSED] Unknown
[15:36:49] [PASSED] VGA
[15:36:49] [PASSED] DVI-I
[15:36:49] [PASSED] DVI-D
[15:36:49] [PASSED] DVI-A
[15:36:49] [PASSED] Composite
[15:36:49] [PASSED] SVIDEO
[15:36:49] [PASSED] LVDS
[15:36:49] [PASSED] Component
[15:36:49] [PASSED] DIN
[15:36:49] [PASSED] DP
[15:36:49] [PASSED] TV
[15:36:49] [PASSED] eDP
[15:36:49] [PASSED] Virtual
[15:36:49] [PASSED] DSI
[15:36:49] [PASSED] DPI
[15:36:49] [PASSED] Writeback
[15:36:49] [PASSED] SPI
[15:36:49] [PASSED] USB
[15:36:49] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[15:36:49] ============ [PASSED] drmm_connector_hdmi_init =============
[15:36:49] ============= drmm_connector_init (3 subtests) =============
[15:36:49] [PASSED] drm_test_drmm_connector_init
[15:36:49] [PASSED] drm_test_drmm_connector_init_null_ddc
[15:36:49] ========= drm_test_drmm_connector_init_type_valid  =========
[15:36:49] [PASSED] Unknown
[15:36:49] [PASSED] VGA
[15:36:49] [PASSED] DVI-I
[15:36:49] [PASSED] DVI-D
[15:36:49] [PASSED] DVI-A
[15:36:49] [PASSED] Composite
[15:36:49] [PASSED] SVIDEO
[15:36:49] [PASSED] LVDS
[15:36:49] [PASSED] Component
[15:36:49] [PASSED] DIN
[15:36:49] [PASSED] DP
[15:36:49] [PASSED] HDMI-A
[15:36:49] [PASSED] HDMI-B
[15:36:49] [PASSED] TV
[15:36:49] [PASSED] eDP
[15:36:49] [PASSED] Virtual
[15:36:49] [PASSED] DSI
[15:36:49] [PASSED] DPI
[15:36:49] [PASSED] Writeback
[15:36:49] [PASSED] SPI
[15:36:49] [PASSED] USB
[15:36:49] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[15:36:49] =============== [PASSED] drmm_connector_init ===============
[15:36:49] ========= drm_connector_dynamic_init (6 subtests) ==========
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_init
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_init_properties
[15:36:49] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[15:36:49] [PASSED] Unknown
[15:36:49] [PASSED] VGA
[15:36:49] [PASSED] DVI-I
[15:36:49] [PASSED] DVI-D
[15:36:49] [PASSED] DVI-A
[15:36:49] [PASSED] Composite
[15:36:49] [PASSED] SVIDEO
[15:36:49] [PASSED] LVDS
[15:36:49] [PASSED] Component
[15:36:49] [PASSED] DIN
[15:36:49] [PASSED] DP
[15:36:49] [PASSED] HDMI-A
[15:36:49] [PASSED] HDMI-B
[15:36:49] [PASSED] TV
[15:36:49] [PASSED] eDP
[15:36:49] [PASSED] Virtual
[15:36:49] [PASSED] DSI
[15:36:49] [PASSED] DPI
[15:36:49] [PASSED] Writeback
[15:36:49] [PASSED] SPI
[15:36:49] [PASSED] USB
[15:36:49] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[15:36:49] ======== drm_test_drm_connector_dynamic_init_name  =========
[15:36:49] [PASSED] Unknown
[15:36:49] [PASSED] VGA
[15:36:49] [PASSED] DVI-I
[15:36:49] [PASSED] DVI-D
[15:36:49] [PASSED] DVI-A
[15:36:49] [PASSED] Composite
[15:36:49] [PASSED] SVIDEO
[15:36:49] [PASSED] LVDS
[15:36:49] [PASSED] Component
[15:36:49] [PASSED] DIN
[15:36:49] [PASSED] DP
[15:36:49] [PASSED] HDMI-A
[15:36:49] [PASSED] HDMI-B
[15:36:49] [PASSED] TV
[15:36:49] [PASSED] eDP
[15:36:49] [PASSED] Virtual
[15:36:49] [PASSED] DSI
[15:36:49] [PASSED] DPI
[15:36:49] [PASSED] Writeback
[15:36:49] [PASSED] SPI
[15:36:49] [PASSED] USB
[15:36:49] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[15:36:49] =========== [PASSED] drm_connector_dynamic_init ============
[15:36:49] ==== drm_connector_dynamic_register_early (4 subtests) =====
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[15:36:49] ====== [PASSED] drm_connector_dynamic_register_early =======
[15:36:49] ======= drm_connector_dynamic_register (7 subtests) ========
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[15:36:49] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[15:36:49] ========= [PASSED] drm_connector_dynamic_register ==========
[15:36:49] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[15:36:49] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[15:36:49] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[15:36:49] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[15:36:49] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[15:36:49] ========== drm_test_get_tv_mode_from_name_valid  ===========
[15:36:49] [PASSED] NTSC
[15:36:49] [PASSED] NTSC-443
[15:36:49] [PASSED] NTSC-J
[15:36:49] [PASSED] PAL
[15:36:49] [PASSED] PAL-M
[15:36:49] [PASSED] PAL-N
[15:36:49] [PASSED] SECAM
[15:36:49] [PASSED] Mono
[15:36:49] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[15:36:49] [PASSED] drm_test_get_tv_mode_from_name_truncated
[15:36:49] ============ [PASSED] drm_get_tv_mode_from_name ============
[15:36:49] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[15:36:49] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[15:36:49] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[15:36:49] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[15:36:49] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[15:36:49] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[15:36:49] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[15:36:49] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[15:36:49] [PASSED] VIC 96
[15:36:49] [PASSED] VIC 97
[15:36:49] [PASSED] VIC 101
[15:36:49] [PASSED] VIC 102
[15:36:49] [PASSED] VIC 106
[15:36:49] [PASSED] VIC 107
[15:36:49] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[15:36:49] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[15:36:49] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[15:36:49] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[15:36:49] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[15:36:49] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[15:36:49] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[15:36:49] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[15:36:49] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[15:36:49] [PASSED] Automatic
[15:36:49] [PASSED] Full
[15:36:49] [PASSED] Limited 16:235
[15:36:49] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[15:36:49] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[15:36:49] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[15:36:49] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[15:36:49] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[15:36:49] [PASSED] RGB
[15:36:49] [PASSED] YUV 4:2:0
[15:36:49] [PASSED] YUV 4:2:2
[15:36:49] [PASSED] YUV 4:4:4
[15:36:49] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[15:36:49] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[15:36:49] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[15:36:49] ============= drm_damage_helper (21 subtests) ==============
[15:36:49] [PASSED] drm_test_damage_iter_no_damage
[15:36:49] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[15:36:49] [PASSED] drm_test_damage_iter_no_damage_src_moved
[15:36:49] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[15:36:49] [PASSED] drm_test_damage_iter_no_damage_not_visible
[15:36:49] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[15:36:49] [PASSED] drm_test_damage_iter_no_damage_no_fb
[15:36:49] [PASSED] drm_test_damage_iter_simple_damage
[15:36:49] [PASSED] drm_test_damage_iter_single_damage
[15:36:49] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[15:36:49] [PASSED] drm_test_damage_iter_single_damage_outside_src
[15:36:49] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[15:36:49] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[15:36:49] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[15:36:49] [PASSED] drm_test_damage_iter_single_damage_src_moved
[15:36:49] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[15:36:49] [PASSED] drm_test_damage_iter_damage
[15:36:49] [PASSED] drm_test_damage_iter_damage_one_intersect
[15:36:49] [PASSED] drm_test_damage_iter_damage_one_outside
[15:36:49] [PASSED] drm_test_damage_iter_damage_src_moved
[15:36:49] [PASSED] drm_test_damage_iter_damage_not_visible
[15:36:49] ================ [PASSED] drm_damage_helper ================
[15:36:49] ============== drm_dp_mst_helper (3 subtests) ==============
[15:36:49] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[15:36:49] [PASSED] Clock 154000 BPP 30 DSC disabled
[15:36:49] [PASSED] Clock 234000 BPP 30 DSC disabled
[15:36:49] [PASSED] Clock 297000 BPP 24 DSC disabled
[15:36:49] [PASSED] Clock 332880 BPP 24 DSC enabled
[15:36:49] [PASSED] Clock 324540 BPP 24 DSC enabled
[15:36:49] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[15:36:49] ============== drm_test_dp_mst_calc_pbn_div  ===============
[15:36:49] [PASSED] Link rate 2000000 lane count 4
[15:36:49] [PASSED] Link rate 2000000 lane count 2
[15:36:49] [PASSED] Link rate 2000000 lane count 1
[15:36:49] [PASSED] Link rate 1350000 lane count 4
[15:36:49] [PASSED] Link rate 1350000 lane count 2
[15:36:49] [PASSED] Link rate 1350000 lane count 1
[15:36:49] [PASSED] Link rate 1000000 lane count 4
[15:36:49] [PASSED] Link rate 1000000 lane count 2
[15:36:49] [PASSED] Link rate 1000000 lane count 1
[15:36:49] [PASSED] Link rate 810000 lane count 4
[15:36:49] [PASSED] Link rate 810000 lane count 2
[15:36:49] [PASSED] Link rate 810000 lane count 1
[15:36:49] [PASSED] Link rate 540000 lane count 4
[15:36:49] [PASSED] Link rate 540000 lane count 2
[15:36:49] [PASSED] Link rate 540000 lane count 1
[15:36:49] [PASSED] Link rate 270000 lane count 4
[15:36:49] [PASSED] Link rate 270000 lane count 2
[15:36:49] [PASSED] Link rate 270000 lane count 1
[15:36:49] [PASSED] Link rate 162000 lane count 4
[15:36:49] [PASSED] Link rate 162000 lane count 2
[15:36:49] [PASSED] Link rate 162000 lane count 1
[15:36:49] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[15:36:49] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[15:36:49] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[15:36:49] [PASSED] DP_POWER_UP_PHY with port number
[15:36:49] [PASSED] DP_POWER_DOWN_PHY with port number
[15:36:49] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[15:36:49] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[15:36:49] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[15:36:49] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[15:36:49] [PASSED] DP_QUERY_PAYLOAD with port number
[15:36:49] [PASSED] DP_QUERY_PAYLOAD with VCPI
[15:36:49] [PASSED] DP_REMOTE_DPCD_READ with port number
[15:36:49] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[15:36:49] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[15:36:49] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[15:36:49] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[15:36:49] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[15:36:49] [PASSED] DP_REMOTE_I2C_READ with port number
[15:36:49] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[15:36:49] [PASSED] DP_REMOTE_I2C_READ with transactions array
[15:36:49] [PASSED] DP_REMOTE_I2C_WRITE with port number
[15:36:49] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[15:36:49] [PASSED] DP_REMOTE_I2C_WRITE with data array
[15:36:49] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[15:36:49] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[15:36:49] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[15:36:49] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[15:36:49] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[15:36:49] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[15:36:49] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[15:36:49] ================ [PASSED] drm_dp_mst_helper ================
[15:36:49] ================== drm_exec (7 subtests) ===================
[15:36:49] [PASSED] sanitycheck
[15:36:49] [PASSED] test_lock
[15:36:49] [PASSED] test_lock_unlock
[15:36:49] [PASSED] test_duplicates
[15:36:49] [PASSED] test_prepare
[15:36:49] [PASSED] test_prepare_array
[15:36:49] [PASSED] test_multiple_loops
[15:36:49] ==================== [PASSED] drm_exec =====================
[15:36:49] =========== drm_format_helper_test (17 subtests) ===========
[15:36:49] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[15:36:49] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[15:36:49] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[15:36:49] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[15:36:49] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[15:36:49] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[15:36:49] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[15:36:49] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[15:36:49] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[15:36:49] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[15:36:49] ============== drm_test_fb_xrgb8888_to_mono  ===============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[15:36:49] ==================== drm_test_fb_swab  =====================
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ================ [PASSED] drm_test_fb_swab =================
[15:36:49] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[15:36:49] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[15:36:49] [PASSED] single_pixel_source_buffer
[15:36:49] [PASSED] single_pixel_clip_rectangle
[15:36:49] [PASSED] well_known_colors
[15:36:49] [PASSED] destination_pitch
[15:36:49] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[15:36:49] ================= drm_test_fb_clip_offset  =================
[15:36:49] [PASSED] pass through
[15:36:49] [PASSED] horizontal offset
[15:36:49] [PASSED] vertical offset
[15:36:49] [PASSED] horizontal and vertical offset
[15:36:49] [PASSED] horizontal offset (custom pitch)
[15:36:49] [PASSED] vertical offset (custom pitch)
[15:36:49] [PASSED] horizontal and vertical offset (custom pitch)
[15:36:49] ============= [PASSED] drm_test_fb_clip_offset =============
[15:36:49] ============== drm_test_fb_build_fourcc_list  ==============
[15:36:49] [PASSED] no native formats
[15:36:49] [PASSED] XRGB8888 as native format
[15:36:49] [PASSED] remove duplicates
[15:36:49] [PASSED] convert alpha formats
[15:36:49] [PASSED] random formats
[15:36:49] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[15:36:49] =================== drm_test_fb_memcpy  ====================
[15:36:49] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[15:36:49] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[15:36:49] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[15:36:49] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[15:36:49] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[15:36:49] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[15:36:49] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[15:36:49] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[15:36:49] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[15:36:49] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[15:36:49] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[15:36:49] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[15:36:49] =============== [PASSED] drm_test_fb_memcpy ================
[15:36:49] ============= [PASSED] drm_format_helper_test ==============
[15:36:49] ================= drm_format (18 subtests) =================
[15:36:49] [PASSED] drm_test_format_block_width_invalid
[15:36:49] [PASSED] drm_test_format_block_width_one_plane
[15:36:49] [PASSED] drm_test_format_block_width_two_plane
[15:36:49] [PASSED] drm_test_format_block_width_three_plane
[15:36:49] [PASSED] drm_test_format_block_width_tiled
[15:36:49] [PASSED] drm_test_format_block_height_invalid
[15:36:49] [PASSED] drm_test_format_block_height_one_plane
[15:36:49] [PASSED] drm_test_format_block_height_two_plane
[15:36:49] [PASSED] drm_test_format_block_height_three_plane
[15:36:49] [PASSED] drm_test_format_block_height_tiled
[15:36:49] [PASSED] drm_test_format_min_pitch_invalid
[15:36:49] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[15:36:49] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[15:36:49] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[15:36:49] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[15:36:49] [PASSED] drm_test_format_min_pitch_two_plane
[15:36:49] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[15:36:49] [PASSED] drm_test_format_min_pitch_tiled
[15:36:49] =================== [PASSED] drm_format ====================
[15:36:49] ============== drm_framebuffer (10 subtests) ===============
[15:36:49] ========== drm_test_framebuffer_check_src_coords  ==========
[15:36:49] [PASSED] Success: source fits into fb
[15:36:49] [PASSED] Fail: overflowing fb with x-axis coordinate
[15:36:49] [PASSED] Fail: overflowing fb with y-axis coordinate
[15:36:49] [PASSED] Fail: overflowing fb with source width
[15:36:49] [PASSED] Fail: overflowing fb with source height
[15:36:49] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[15:36:49] [PASSED] drm_test_framebuffer_cleanup
[15:36:49] =============== drm_test_framebuffer_create  ===============
[15:36:49] [PASSED] ABGR8888 normal sizes
[15:36:49] [PASSED] ABGR8888 max sizes
[15:36:49] [PASSED] ABGR8888 pitch greater than min required
[15:36:49] [PASSED] ABGR8888 pitch less than min required
[15:36:49] [PASSED] ABGR8888 Invalid width
[15:36:49] [PASSED] ABGR8888 Invalid buffer handle
[15:36:49] [PASSED] No pixel format
[15:36:49] [PASSED] ABGR8888 Width 0
[15:36:49] [PASSED] ABGR8888 Height 0
[15:36:49] [PASSED] ABGR8888 Out of bound height * pitch combination
[15:36:49] [PASSED] ABGR8888 Large buffer offset
[15:36:49] [PASSED] ABGR8888 Buffer offset for inexistent plane
[15:36:49] [PASSED] ABGR8888 Invalid flag
[15:36:49] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[15:36:49] [PASSED] ABGR8888 Valid buffer modifier
[15:36:49] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[15:36:49] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[15:36:49] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[15:36:49] [PASSED] NV12 Normal sizes
[15:36:49] [PASSED] NV12 Max sizes
[15:36:49] [PASSED] NV12 Invalid pitch
[15:36:49] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[15:36:49] [PASSED] NV12 different  modifier per-plane
[15:36:49] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[15:36:49] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[15:36:49] [PASSED] NV12 Modifier for inexistent plane
[15:36:49] [PASSED] NV12 Handle for inexistent plane
[15:36:49] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[15:36:49] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[15:36:49] [PASSED] YVU420 Normal sizes
[15:36:49] [PASSED] YVU420 Max sizes
[15:36:49] [PASSED] YVU420 Invalid pitch
[15:36:49] [PASSED] YVU420 Different pitches
[15:36:49] [PASSED] YVU420 Different buffer offsets/pitches
[15:36:49] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[15:36:49] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[15:36:49] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[15:36:49] [PASSED] YVU420 Valid modifier
[15:36:49] [PASSED] YVU420 Different modifiers per plane
[15:36:49] [PASSED] YVU420 Modifier for inexistent plane
[15:36:49] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[15:36:49] [PASSED] X0L2 Normal sizes
[15:36:49] [PASSED] X0L2 Max sizes
[15:36:49] [PASSED] X0L2 Invalid pitch
[15:36:49] [PASSED] X0L2 Pitch greater than minimum required
[15:36:49] [PASSED] X0L2 Handle for inexistent plane
[15:36:49] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[15:36:49] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[15:36:49] [PASSED] X0L2 Valid modifier
[15:36:49] [PASSED] X0L2 Modifier for inexistent plane
[15:36:49] =========== [PASSED] drm_test_framebuffer_create ===========
[15:36:49] [PASSED] drm_test_framebuffer_free
[15:36:49] [PASSED] drm_test_framebuffer_init
[15:36:49] [PASSED] drm_test_framebuffer_init_bad_format
[15:36:49] [PASSED] drm_test_framebuffer_init_dev_mismatch
[15:36:49] [PASSED] drm_test_framebuffer_lookup
[15:36:49] [PASSED] drm_test_framebuffer_lookup_inexistent
[15:36:49] [PASSED] drm_test_framebuffer_modifiers_not_supported
[15:36:49] ================= [PASSED] drm_framebuffer =================
[15:36:49] ================ drm_gem_shmem (8 subtests) ================
[15:36:49] [PASSED] drm_gem_shmem_test_obj_create
[15:36:49] [PASSED] drm_gem_shmem_test_obj_create_private
[15:36:49] [PASSED] drm_gem_shmem_test_pin_pages
[15:36:49] [PASSED] drm_gem_shmem_test_vmap
[15:36:49] [PASSED] drm_gem_shmem_test_get_pages_sgt
[15:36:49] [PASSED] drm_gem_shmem_test_get_sg_table
[15:36:49] [PASSED] drm_gem_shmem_test_madvise
[15:36:49] [PASSED] drm_gem_shmem_test_purge
[15:36:49] ================== [PASSED] drm_gem_shmem ==================
[15:36:49] === drm_atomic_helper_connector_hdmi_check (22 subtests) ===
[15:36:49] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[15:36:49] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
stty: 'standard input': Inappropriate ioctl for device
[15:36:49] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[15:36:49] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[15:36:49] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[15:36:49] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[15:36:49] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[15:36:49] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[15:36:49] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[15:36:49] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[15:36:49] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[15:36:49] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[15:36:49] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[15:36:49] [PASSED] drm_test_check_output_bpc_dvi
[15:36:49] [PASSED] drm_test_check_output_bpc_format_vic_1
[15:36:49] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[15:36:49] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[15:36:49] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[15:36:49] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[15:36:49] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[15:36:49] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[15:36:49] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[15:36:49] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[15:36:49] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[15:36:49] [PASSED] drm_test_check_broadcast_rgb_value
[15:36:49] [PASSED] drm_test_check_bpc_8_value
[15:36:49] [PASSED] drm_test_check_bpc_10_value
[15:36:49] [PASSED] drm_test_check_bpc_12_value
[15:36:49] [PASSED] drm_test_check_format_value
[15:36:49] [PASSED] drm_test_check_tmds_char_value
[15:36:49] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[15:36:49] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[15:36:49] [PASSED] drm_test_check_mode_valid
[15:36:49] [PASSED] drm_test_check_mode_valid_reject
[15:36:49] [PASSED] drm_test_check_mode_valid_reject_rate
[15:36:49] [PASSED] drm_test_check_mode_valid_reject_max_clock
[15:36:49] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[15:36:49] ================= drm_managed (2 subtests) =================
[15:36:49] [PASSED] drm_test_managed_release_action
[15:36:49] [PASSED] drm_test_managed_run_action
[15:36:49] =================== [PASSED] drm_managed ===================
[15:36:49] =================== drm_mm (6 subtests) ====================
[15:36:49] [PASSED] drm_test_mm_init
[15:36:49] [PASSED] drm_test_mm_debug
[15:36:49] [PASSED] drm_test_mm_align32
[15:36:49] [PASSED] drm_test_mm_align64
[15:36:49] [PASSED] drm_test_mm_lowest
[15:36:49] [PASSED] drm_test_mm_highest
[15:36:49] ===================== [PASSED] drm_mm ======================
[15:36:49] ============= drm_modes_analog_tv (5 subtests) =============
[15:36:49] [PASSED] drm_test_modes_analog_tv_mono_576i
[15:36:49] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[15:36:49] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[15:36:49] [PASSED] drm_test_modes_analog_tv_pal_576i
[15:36:49] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[15:36:49] =============== [PASSED] drm_modes_analog_tv ===============
[15:36:49] ============== drm_plane_helper (2 subtests) ===============
[15:36:49] =============== drm_test_check_plane_state  ================
[15:36:49] [PASSED] clipping_simple
[15:36:49] [PASSED] clipping_rotate_reflect
[15:36:49] [PASSED] positioning_simple
[15:36:49] [PASSED] upscaling
[15:36:49] [PASSED] downscaling
[15:36:49] [PASSED] rounding1
[15:36:49] [PASSED] rounding2
[15:36:49] [PASSED] rounding3
[15:36:49] [PASSED] rounding4
[15:36:49] =========== [PASSED] drm_test_check_plane_state ============
[15:36:49] =========== drm_test_check_invalid_plane_state  ============
[15:36:49] [PASSED] positioning_invalid
[15:36:49] [PASSED] upscaling_invalid
[15:36:49] [PASSED] downscaling_invalid
[15:36:49] ======= [PASSED] drm_test_check_invalid_plane_state ========
[15:36:49] ================ [PASSED] drm_plane_helper =================
[15:36:49] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[15:36:49] ====== drm_test_connector_helper_tv_get_modes_check  =======
[15:36:49] [PASSED] None
[15:36:49] [PASSED] PAL
[15:36:49] [PASSED] NTSC
[15:36:49] [PASSED] Both, NTSC Default
[15:36:49] [PASSED] Both, PAL Default
[15:36:49] [PASSED] Both, NTSC Default, with PAL on command-line
[15:36:49] [PASSED] Both, PAL Default, with NTSC on command-line
[15:36:49] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[15:36:50] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[15:36:50] ================== drm_rect (9 subtests) ===================
[15:36:50] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[15:36:50] [PASSED] drm_test_rect_clip_scaled_not_clipped
[15:36:50] [PASSED] drm_test_rect_clip_scaled_clipped
[15:36:50] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[15:36:50] ================= drm_test_rect_intersect  =================
[15:36:50] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[15:36:50] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[15:36:50] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[15:36:50] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[15:36:50] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[15:36:50] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[15:36:50] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[15:36:50] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[15:36:50] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[15:36:50] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[15:36:50] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[15:36:50] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[15:36:50] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[15:36:50] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[15:36:50] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[15:36:50] ============= [PASSED] drm_test_rect_intersect =============
[15:36:50] ================ drm_test_rect_calc_hscale  ================
[15:36:50] [PASSED] normal use
[15:36:50] [PASSED] out of max range
[15:36:50] [PASSED] out of min range
[15:36:50] [PASSED] zero dst
[15:36:50] [PASSED] negative src
[15:36:50] [PASSED] negative dst
[15:36:50] ============ [PASSED] drm_test_rect_calc_hscale ============
[15:36:50] ================ drm_test_rect_calc_vscale  ================
[15:36:50] [PASSED] normal use
[15:36:50] [PASSED] out of max range
[15:36:50] [PASSED] out of min range
[15:36:50] [PASSED] zero dst
[15:36:50] [PASSED] negative src
[15:36:50] [PASSED] negative dst
[15:36:50] ============ [PASSED] drm_test_rect_calc_vscale ============
[15:36:50] ================== drm_test_rect_rotate  ===================
[15:36:50] [PASSED] reflect-x
[15:36:50] [PASSED] reflect-y
[15:36:50] [PASSED] rotate-0
[15:36:50] [PASSED] rotate-90
[15:36:50] [PASSED] rotate-180
[15:36:50] [PASSED] rotate-270
[15:36:50] ============== [PASSED] drm_test_rect_rotate ===============
[15:36:50] ================ drm_test_rect_rotate_inv  =================
[15:36:50] [PASSED] reflect-x
[15:36:50] [PASSED] reflect-y
[15:36:50] [PASSED] rotate-0
[15:36:50] [PASSED] rotate-90
[15:36:50] [PASSED] rotate-180
[15:36:50] [PASSED] rotate-270
[15:36:50] ============ [PASSED] drm_test_rect_rotate_inv =============
[15:36:50] ==================== [PASSED] drm_rect =====================
[15:36:50] ============================================================
[15:36:50] Testing complete. Ran 587 tests: passed: 587
[15:36:50] Elapsed time: 25.052s total, 1.618s configuring, 23.217s building, 0.171s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[15:36:50] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:36:51] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
[15:36:59] Starting KUnit Kernel (1/1)...
[15:36:59] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:36:59] ================= ttm_device (5 subtests) ==================
[15:36:59] [PASSED] ttm_device_init_basic
[15:36:59] [PASSED] ttm_device_init_multiple
[15:36:59] [PASSED] ttm_device_fini_basic
[15:36:59] [PASSED] ttm_device_init_no_vma_man
[15:36:59] ================== ttm_device_init_pools  ==================
[15:36:59] [PASSED] No DMA allocations, no DMA32 required
[15:36:59] [PASSED] DMA allocations, DMA32 required
[15:36:59] [PASSED] No DMA allocations, DMA32 required
[15:36:59] [PASSED] DMA allocations, no DMA32 required
[15:36:59] ============== [PASSED] ttm_device_init_pools ==============
[15:36:59] =================== [PASSED] ttm_device ====================
[15:36:59] ================== ttm_pool (8 subtests) ===================
[15:36:59] ================== ttm_pool_alloc_basic  ===================
[15:36:59] [PASSED] One page
[15:36:59] [PASSED] More than one page
[15:36:59] [PASSED] Above the allocation limit
[15:36:59] [PASSED] One page, with coherent DMA mappings enabled
[15:36:59] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[15:36:59] ============== [PASSED] ttm_pool_alloc_basic ===============
[15:36:59] ============== ttm_pool_alloc_basic_dma_addr  ==============
[15:36:59] [PASSED] One page
[15:36:59] [PASSED] More than one page
[15:36:59] [PASSED] Above the allocation limit
[15:36:59] [PASSED] One page, with coherent DMA mappings enabled
[15:36:59] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[15:36:59] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[15:36:59] [PASSED] ttm_pool_alloc_order_caching_match
[15:36:59] [PASSED] ttm_pool_alloc_caching_mismatch
[15:36:59] [PASSED] ttm_pool_alloc_order_mismatch
[15:36:59] [PASSED] ttm_pool_free_dma_alloc
[15:36:59] [PASSED] ttm_pool_free_no_dma_alloc
[15:36:59] [PASSED] ttm_pool_fini_basic
[15:36:59] ==================== [PASSED] ttm_pool =====================
[15:36:59] ================ ttm_resource (8 subtests) =================
[15:36:59] ================= ttm_resource_init_basic  =================
[15:36:59] [PASSED] Init resource in TTM_PL_SYSTEM
[15:36:59] [PASSED] Init resource in TTM_PL_VRAM
[15:36:59] [PASSED] Init resource in a private placement
[15:36:59] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[15:36:59] ============= [PASSED] ttm_resource_init_basic =============
[15:36:59] [PASSED] ttm_resource_init_pinned
[15:36:59] [PASSED] ttm_resource_fini_basic
[15:36:59] [PASSED] ttm_resource_manager_init_basic
[15:36:59] [PASSED] ttm_resource_manager_usage_basic
[15:36:59] [PASSED] ttm_resource_manager_set_used_basic
[15:36:59] [PASSED] ttm_sys_man_alloc_basic
[15:36:59] [PASSED] ttm_sys_man_free_basic
[15:36:59] ================== [PASSED] ttm_resource ===================
[15:36:59] =================== ttm_tt (15 subtests) ===================
[15:36:59] ==================== ttm_tt_init_basic  ====================
[15:36:59] [PASSED] Page-aligned size
[15:36:59] [PASSED] Extra pages requested
[15:36:59] ================ [PASSED] ttm_tt_init_basic ================
[15:36:59] [PASSED] ttm_tt_init_misaligned
[15:36:59] [PASSED] ttm_tt_fini_basic
[15:36:59] [PASSED] ttm_tt_fini_sg
[15:36:59] [PASSED] ttm_tt_fini_shmem
[15:36:59] [PASSED] ttm_tt_create_basic
[15:36:59] [PASSED] ttm_tt_create_invalid_bo_type
[15:36:59] [PASSED] ttm_tt_create_ttm_exists
[15:36:59] [PASSED] ttm_tt_create_failed
[15:36:59] [PASSED] ttm_tt_destroy_basic
[15:36:59] [PASSED] ttm_tt_populate_null_ttm
[15:36:59] [PASSED] ttm_tt_populate_populated_ttm
[15:36:59] [PASSED] ttm_tt_unpopulate_basic
[15:36:59] [PASSED] ttm_tt_unpopulate_empty_ttm
[15:36:59] [PASSED] ttm_tt_swapin_basic
[15:36:59] ===================== [PASSED] ttm_tt ======================
[15:36:59] =================== ttm_bo (14 subtests) ===================
[15:36:59] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[15:36:59] [PASSED] Cannot be interrupted and sleeps
[15:36:59] [PASSED] Cannot be interrupted, locks straight away
[15:36:59] [PASSED] Can be interrupted, sleeps
[15:36:59] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[15:36:59] [PASSED] ttm_bo_reserve_locked_no_sleep
[15:36:59] [PASSED] ttm_bo_reserve_no_wait_ticket
[15:36:59] [PASSED] ttm_bo_reserve_double_resv
[15:36:59] [PASSED] ttm_bo_reserve_interrupted
[15:36:59] [PASSED] ttm_bo_reserve_deadlock
[15:36:59] [PASSED] ttm_bo_unreserve_basic
[15:36:59] [PASSED] ttm_bo_unreserve_pinned
[15:36:59] [PASSED] ttm_bo_unreserve_bulk
[15:36:59] [PASSED] ttm_bo_put_basic
[15:36:59] [PASSED] ttm_bo_put_shared_resv
[15:36:59] [PASSED] ttm_bo_pin_basic
[15:36:59] [PASSED] ttm_bo_pin_unpin_resource
[15:36:59] [PASSED] ttm_bo_multiple_pin_one_unpin
[15:36:59] ===================== [PASSED] ttm_bo ======================
[15:36:59] ============== ttm_bo_validate (22 subtests) ===============
[15:36:59] ============== ttm_bo_init_reserved_sys_man  ===============
[15:36:59] [PASSED] Buffer object for userspace
[15:36:59] [PASSED] Kernel buffer object
[15:36:59] [PASSED] Shared buffer object
[15:36:59] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[15:36:59] ============== ttm_bo_init_reserved_mock_man  ==============
[15:36:59] [PASSED] Buffer object for userspace
[15:36:59] [PASSED] Kernel buffer object
[15:36:59] [PASSED] Shared buffer object
[15:36:59] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[15:36:59] [PASSED] ttm_bo_init_reserved_resv
[15:36:59] ================== ttm_bo_validate_basic  ==================
[15:36:59] [PASSED] Buffer object for userspace
[15:36:59] [PASSED] Kernel buffer object
[15:36:59] [PASSED] Shared buffer object
[15:36:59] ============== [PASSED] ttm_bo_validate_basic ==============
[15:36:59] [PASSED] ttm_bo_validate_invalid_placement
[15:36:59] ============= ttm_bo_validate_same_placement  ==============
[15:36:59] [PASSED] System manager
[15:36:59] [PASSED] VRAM manager
[15:36:59] ========= [PASSED] ttm_bo_validate_same_placement ==========
[15:36:59] [PASSED] ttm_bo_validate_failed_alloc
[15:36:59] [PASSED] ttm_bo_validate_pinned
[15:36:59] [PASSED] ttm_bo_validate_busy_placement
[15:36:59] ================ ttm_bo_validate_multihop  =================
[15:36:59] [PASSED] Buffer object for userspace
[15:36:59] [PASSED] Kernel buffer object
[15:36:59] [PASSED] Shared buffer object
[15:36:59] ============ [PASSED] ttm_bo_validate_multihop =============
[15:36:59] ========== ttm_bo_validate_no_placement_signaled  ==========
[15:36:59] [PASSED] Buffer object in system domain, no page vector
[15:36:59] [PASSED] Buffer object in system domain with an existing page vector
[15:36:59] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[15:36:59] ======== ttm_bo_validate_no_placement_not_signaled  ========
[15:36:59] [PASSED] Buffer object for userspace
[15:36:59] [PASSED] Kernel buffer object
[15:36:59] [PASSED] Shared buffer object
[15:36:59] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[15:36:59] [PASSED] ttm_bo_validate_move_fence_signaled
[15:36:59] ========= ttm_bo_validate_move_fence_not_signaled  =========
[15:36:59] [PASSED] Waits for GPU
[15:36:59] [PASSED] Tries to lock straight away
[15:37:00] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[15:37:00] [PASSED] ttm_bo_validate_swapout
[15:37:00] [PASSED] ttm_bo_validate_happy_evict
[15:37:00] [PASSED] ttm_bo_validate_all_pinned_evict
[15:37:00] [PASSED] ttm_bo_validate_allowed_only_evict
[15:37:00] [PASSED] ttm_bo_validate_deleted_evict
[15:37:00] [PASSED] ttm_bo_validate_busy_domain_evict
[15:37:00] [PASSED] ttm_bo_validate_evict_gutting
[15:37:00] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[15:37:00] ================= [PASSED] ttm_bo_validate =================
[15:37:00] ============================================================
[15:37:00] Testing complete. Ran 102 tests: passed: 102
[15:37:00] Elapsed time: 10.111s total, 1.688s configuring, 7.756s building, 0.568s running

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



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

* ✓ CI.Build: success for Add support for EU stall sampling
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (9 preceding siblings ...)
  2024-12-17 15:37 ` ✓ CI.KUnit: success " Patchwork
@ 2024-12-17 15:55 ` Patchwork
  2024-12-17 15:57 ` ✗ CI.Hooks: failure " Patchwork
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-12-17 15:55 UTC (permalink / raw)
  To: Harish Chegondi; +Cc: intel-xe

== Series Details ==

Series: Add support for EU stall sampling
URL   : https://patchwork.freedesktop.org/series/142707/
State : success

== Summary ==

lib/modules/6.13.0-rc3-xe+/kernel/arch/x86/events/rapl.ko
lib/modules/6.13.0-rc3-xe+/kernel/arch/x86/kvm/
lib/modules/6.13.0-rc3-xe+/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.13.0-rc3-xe+/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.13.0-rc3-xe+/kernel/arch/x86/kvm/kvm-amd.ko
lib/modules/6.13.0-rc3-xe+/kernel/kernel/
lib/modules/6.13.0-rc3-xe+/kernel/kernel/kheaders.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/
lib/modules/6.13.0-rc3-xe+/kernel/crypto/ecrdsa_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/xcbc.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/serpent_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/aria_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/crypto_simd.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/adiantum.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/tcrypt.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/crypto_engine.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/zstd.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/asymmetric_keys/
lib/modules/6.13.0-rc3-xe+/kernel/crypto/asymmetric_keys/pkcs7_test_key.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/asymmetric_keys/pkcs8_key_parser.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/des_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/xctr.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/authenc.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/sm4_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/keywrap.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/camellia_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/sm3.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/pcrypt.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/aegis128.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/af_alg.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/algif_aead.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/cmac.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/sm3_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/aes_ti.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/chacha_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/poly1305_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/nhpoly1305.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/crc32_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/essiv.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/ccm.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/wp512.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/streebog_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/authencesn.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/echainiv.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/lrw.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/cryptd.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/crypto_user.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/algif_hash.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/vmac.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/polyval-generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/hctr2.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/842.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/pcbc.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/ansi_cprng.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/cast6_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/twofish_common.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/twofish_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/lz4hc.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/blowfish_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/md4.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/chacha20poly1305.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/curve25519-generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/lz4.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/rmd160.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/algif_skcipher.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/cast5_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/fcrypt.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/ecdsa_generic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/sm4.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/cast_common.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/blowfish_common.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/michael_mic.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/async_tx/
lib/modules/6.13.0-rc3-xe+/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.13.0-rc3-xe+/kernel/crypto/algif_rng.ko
lib/modules/6.13.0-rc3-xe+/kernel/block/
lib/modules/6.13.0-rc3-xe+/kernel/block/bfq.ko
lib/modules/6.13.0-rc3-xe+/kernel/block/kyber-iosched.ko
lib/modules/6.13.0-rc3-xe+/build
lib/modules/6.13.0-rc3-xe+/modules.alias.bin
lib/modules/6.13.0-rc3-xe+/modules.builtin
lib/modules/6.13.0-rc3-xe+/modules.softdep
lib/modules/6.13.0-rc3-xe+/modules.alias
lib/modules/6.13.0-rc3-xe+/modules.order
lib/modules/6.13.0-rc3-xe+/modules.symbols
lib/modules/6.13.0-rc3-xe+/modules.dep.bin
+ mv kernel-nodebug.tar.gz ..
+ cd ..
+ rm -rf archive
++ date +%s
+ echo -e '\e[0Ksection_end:1734450898:package_x86_64_nodebug\r\e[0K'
+ sync
^[[0Ksection_end:1734450898:package_x86_64_nodebug
^[[0K
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✗ CI.Hooks: failure for Add support for EU stall sampling
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (10 preceding siblings ...)
  2024-12-17 15:55 ` ✓ CI.Build: " Patchwork
@ 2024-12-17 15:57 ` Patchwork
  2024-12-17 15:58 ` ✓ CI.checksparse: success " Patchwork
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-12-17 15:57 UTC (permalink / raw)
  To: Harish Chegondi; +Cc: intel-xe

== Series Details ==

Series: Add support for EU stall sampling
URL   : https://patchwork.freedesktop.org/series/142707/
State : failure

== 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
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool 
  CALL    ../scripts/checksyscalls.sh
  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/arch/x86/special.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/arch/x86/decode.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.o
  CC      /workspace/kernel/build64-default/tools/objtool/librbtree.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 W=1 drivers/gpu/drm/xe
make[1]: Entering directory '/workspace/kernel/build64-default'
make[2]: Nothing to be done for 'drivers/gpu/drm/xe'.
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
  YACC    scripts/kconfig/parser.tab.[ch]
  LEX     scripts/kconfig/lexer.lex.c
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/preprocess.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/fragments/10-xe.fragment
Using .config as base
Merging /workspace/ci/kernel/fragments/10-xe.fragment
Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/fragments/10-xe.fragment:
Previous value: # CONFIG_DRM_XE is not set
New value: CONFIG_DRM_XE=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 [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
#
# 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_VMSPLIT_3G not in final .config
Requested value:  CONFIG_VMSPLIT_3G=y
Actual value:     

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

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

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

Value requested for CONFIG_VMSPLIT_1G not in final .config
Requested value:  # CONFIG_VMSPLIT_1G 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_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_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 [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
#
# 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 [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]

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 [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]

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



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

* ✓ CI.checksparse: success for Add support for EU stall sampling
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (11 preceding siblings ...)
  2024-12-17 15:57 ` ✗ CI.Hooks: failure " Patchwork
@ 2024-12-17 15:58 ` Patchwork
  2024-12-17 16:32 ` ✓ Xe.CI.BAT: " Patchwork
  2024-12-18  0:47 ` ✗ Xe.CI.Full: failure " Patchwork
  14 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-12-17 15:58 UTC (permalink / raw)
  To: Harish Chegondi; +Cc: intel-xe

== Series Details ==

Series: Add support for EU stall sampling
URL   : https://patchwork.freedesktop.org/series/142707/
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 a26c76ecbab35133f08c0eac7b6b2261ffcd75c7
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
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] 28+ messages in thread

* ✓ Xe.CI.BAT: success for Add support for EU stall sampling
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (12 preceding siblings ...)
  2024-12-17 15:58 ` ✓ CI.checksparse: success " Patchwork
@ 2024-12-17 16:32 ` Patchwork
  2024-12-18  0:47 ` ✗ Xe.CI.Full: failure " Patchwork
  14 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-12-17 16:32 UTC (permalink / raw)
  To: Harish Chegondi; +Cc: intel-xe

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

== Series Details ==

Series: Add support for EU stall sampling
URL   : https://patchwork.freedesktop.org/series/142707/
State : success

== Summary ==

CI Bug Log - changes from xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8_BAT -> xe-pw-142707v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (10 -> 9)
------------------------------

  Missing    (1): bat-adlp-vm 

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@kms_psr@psr-cursor-plane-move:
    - bat-adlp-7:         [SKIP][1] ([Intel XE#455]) -> [PASS][2] +1 other test pass
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/bat-adlp-7/igt@kms_psr@psr-cursor-plane-move.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/bat-adlp-7/igt@kms_psr@psr-cursor-plane-move.html

  * igt@kms_psr@psr-primary-page-flip@edp-1:
    - bat-adlp-7:         [DMESG-WARN][3] ([Intel XE#3517]) -> [PASS][4] +1 other test pass
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/bat-adlp-7/igt@kms_psr@psr-primary-page-flip@edp-1.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/bat-adlp-7/igt@kms_psr@psr-primary-page-flip@edp-1.html

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


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

  * Linux: xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8 -> xe-pw-142707v1

  IGT_8160: 4f10d98c56498ab29445ae0b06aab6f5a8ec2eca @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8: ff2d4c1b285a836d28341cdf04adbc811757d4c8
  xe-pw-142707v1: 142707v1

== Logs ==

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

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

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

* Re: [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information
  2024-12-17  9:46 ` [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information Harish Chegondi
@ 2024-12-17 20:07   ` Dixit, Ashutosh
  2024-12-18 23:24     ` Harish Chegondi
  0 siblings, 1 reply; 28+ messages in thread
From: Dixit, Ashutosh @ 2024-12-17 20:07 UTC (permalink / raw)
  To: Harish Chegondi
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Tue, 17 Dec 2024 01:46:56 -0800, Harish Chegondi wrote:
>

Hi Harish,

Only reviewing the uapi, not the implementation.

> User space can get the EU stall data record size, EU stall capabilities,
> EU stall sampling rates, and per XeCore buffer size with query IOCTL
> DRM_IOCTL_XE_DEVICE_QUERY with .query set to DRM_XE_DEVICE_QUERY_EU_STALL.
> A struct drm_xe_query_eu_stall will be returned to the user space along
> with an array of supported sampling rates sorted in the fastest sampling
> rate first order. sampling_rates in struct drm_xe_query_eu_stall will
> point to the array of sampling rates.
>
> Any capabilities in EU stall sampling as of this patch are considered
> as base capabilities. Any new capabilities added later will need
> a new capabilities flag.

s/a new capabilities flag/new capability bits/. Or, better to say something
like "New capability bits will be added for any new functionality added
later".

See OA capability bits in the latest drm-tip.

>
> v6: Include EU stall sampling rates information and
>     per XeCore buffer size in the query information.

/snip/

> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 4ee3b04a1bb5..40c2d274473e 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -700,6 +700,7 @@ struct drm_xe_device_query {
>  #define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES	6
>  #define DRM_XE_DEVICE_QUERY_UC_FW_VERSION	7
>  #define DRM_XE_DEVICE_QUERY_OA_UNITS		8
> +#define DRM_XE_DEVICE_QUERY_EU_STALL		9
>	/** @query: The type of data to query */
>	__u32 query;
>
> @@ -1770,6 +1771,40 @@ enum drm_xe_eu_stall_property_id {
>	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
>  };
>
> +/**
> + * struct drm_xe_query_eu_stall - Information about EU stall sampling.
> + *
> + * If a query is made with a struct @drm_xe_device_query where .query
> + * is equal to @DRM_XE_DEVICE_QUERY_EU_STALL, then the reply uses
> + * struct @drm_xe_query_eu_stall in .data.
> + */
> +struct drm_xe_query_eu_stall {
> +	/** @extensions: Pointer to the first extension struct, if any */
> +	__u64 extensions;
> +
> +	/** @capabilities: EU stall capabilities bit-mask */
> +	__u64 capabilities;
> +#define DRM_XE_EU_STALL_CAPS_BASE		(1 << 0)
> +
> +	/** @record_size: size of each EU stall data record */
> +	__u64 record_size;
> +
> +	/** @per_xecore_buf_size: Per XeCore buffer size */
> +	__u64 per_xecore_buf_size;

This new member has appeared. What is its purpose and how will userspace
use it? Basically how is it relevant?

> +
> +	/** @num_sampling_rates: Number of sampling rates supported */
> +	__u64 num_sampling_rates;
> +
> +	/**
> +	 * @sampling_rates: Pointer to an array of sampling rates
> +	 * sorted in the fastest sampling rate first order.

sorted from fastest to slowest.

> +	 */
> +	__u64 *sampling_rates;

This should be written as a flexible array as follows:

	__u64 sampling_rates[];

So sampling rate array is just present at the end of the struct, there
should be no separate pointer here in the struct.

	https://en.wikipedia.org/wiki/Flexible_array_member

Also we need to document what units the sampling rates are in. So something
like "Sampling rates are specified in number of cycles of the reference
clock".

So we have decided not to use nanoseconds (so sampling period rather than
sampling rate)? Any particular reason for that? Though I am ok either way.

> +
> +	/** @reserved: Reserved */
> +	__u64 reserved[5];

Because flexible arrays must be the last field in a structure, this
reserved field should be moved before num_sampling_rates field.

> +};
> +
>  #if defined(__cplusplus)
>  }
>  #endif
> --
> 2.47.0
>

Ashutosh

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

* Re: [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling
  2024-12-17  9:46 ` [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling Harish Chegondi
@ 2024-12-17 20:35   ` Dixit, Ashutosh
  2024-12-18 22:51     ` Harish Chegondi
  0 siblings, 1 reply; 28+ messages in thread
From: Dixit, Ashutosh @ 2024-12-17 20:35 UTC (permalink / raw)
  To: Harish Chegondi
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Tue, 17 Dec 2024 01:46:52 -0800, Harish Chegondi wrote:
>

Hi Harish,

Only reviewing the uapi once again.

> A user space consumer for this feature is Mesa.
>
> Mesa PR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30142

Mesa PR should be in the cover letter, not in the patch itself. And we'll
need to eventually show that the Mesa PR is consuming all aspects of the
uapi being introduced.

>
> v6: Change the input sampling rate to GPU cycles instead of
>     GPU cycles multiplier.

Note that if your series is v6 each patch in the series is not necessarily
v6. A patch can be v2 e.g. So you should capture the version and changelog
of each patch separately.

> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index f62689ca861a..4ee3b04a1bb5 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence {
>  enum drm_xe_observation_type {
>	/** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */
>	DRM_XE_OBSERVATION_TYPE_OA,
> +	/** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */
> +	DRM_XE_OBSERVATION_TYPE_EU_STALL,
>  };
>
>  /**
> @@ -1729,6 +1731,45 @@ struct drm_xe_oa_stream_info {
>	__u64 reserved[3];
>  };
>
> +/**
> + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids.
> + *
> + * These properties are passed to the driver at open as a chain of
> + * @drm_xe_ext_set_property structures with @property set to these
> + * properties' enums and @value set to the corresponding values of these
> + * properties. @drm_xe_user_extension base.name should be set to
> + * @DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY.
> + *
> + * With the file descriptor obtained from open, user space must enable
> + * the EU stall stream fd with @DRM_XE_OBSERVATION_IOCTL_ENABLE before
> + * calling read(). read() returns number of bytes of EU stall data read
> + * from the EU stall data buffer or an error. One of the errors returned

No need to explain what read() returns, read() is a system call, user can
read the read man page.

> + * from read is -EIO which indicates HW dropped data due to full buffer.

Just say "EIO errno from read() indicates data loss due to buffer
overflow".

Also, -EIO is not returned to userspace, errno is set for userspace.

> + *
> + */
> +enum drm_xe_eu_stall_property_id {
> +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY		0
> +	/**
> +	 * @DRM_XE_EU_STALL_PROP_GT_ID: GT ID of the GT on which

@gt_id

> +	 * EU stall data will be captured.
> +	 */
> +	DRM_XE_EU_STALL_PROP_GT_ID = 1,
> +
> +	/**
> +	 * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate
> +	 * in GPU cycles. Valid values are:
> +	 * 251, 251x2, 251x3, 251x4, 251x5, 251x6 and 251x7.

This 251 stuff needs to go, as was already mentioned the last
time. Something like:

"@DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate in GPU cycles, from
@sampling_rates in struct @drm_xe_query_eu_stall".

> +	 */
> +	DRM_XE_EU_STALL_PROP_SAMPLE_RATE,
> +
> +	/**
> +	 * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of
> +	 * EU stall data rows to be present in the kernel buffer for
> +	 * poll() to set POLLIN (data present).
> +	 */
> +	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,

We called this DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS for OA. So maybe
DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS? Or WAIT_REPORT_COUNT? Not sure what
EVENT is referring to?

> +};
> +
>  #if defined(__cplusplus)
>  }
>  #endif
> --
> 2.47.0
>

Ashutosh

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

* ✗ Xe.CI.Full: failure for Add support for EU stall sampling
  2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
                   ` (13 preceding siblings ...)
  2024-12-17 16:32 ` ✓ Xe.CI.BAT: " Patchwork
@ 2024-12-18  0:47 ` Patchwork
  14 siblings, 0 replies; 28+ messages in thread
From: Patchwork @ 2024-12-18  0:47 UTC (permalink / raw)
  To: Harish Chegondi; +Cc: intel-xe

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

== Series Details ==

Series: Add support for EU stall sampling
URL   : https://patchwork.freedesktop.org/series/142707/
State : failure

== Summary ==

CI Bug Log - changes from xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8_full -> xe-pw-142707v1_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-142707v1_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-142707v1_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

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

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-142707v1_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_color@deep-color@pipe-b-hdmi-a-6-ctm:
    - shard-dg2-set2:     [PASS][1] -> [INCOMPLETE][2] +1 other test incomplete
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-434/igt@kms_color@deep-color@pipe-b-hdmi-a-6-ctm.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-434/igt@kms_color@deep-color@pipe-b-hdmi-a-6-ctm.html

  * igt@kms_cursor_crc@cursor-suspend:
    - shard-bmg:          [PASS][3] -> [FAIL][4] +1 other test fail
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-7/igt@kms_cursor_crc@cursor-suspend.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@kms_cursor_crc@cursor-suspend.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a:
    - shard-bmg:          [PASS][5] -> [INCOMPLETE][6] +2 other tests incomplete
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html

  * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][7] +1 other test incomplete
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-3.html

  * igt@xe_pm@s3-mocs:
    - shard-bmg:          [PASS][8] -> [DMESG-FAIL][9]
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-6/igt@xe_pm@s3-mocs.html
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@xe_pm@s3-mocs.html

  * igt@xe_pm_residency@cpg-basic:
    - shard-bmg:          NOTRUN -> [FAIL][10] +1 other test fail
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@xe_pm_residency@cpg-basic.html

  
#### Warnings ####

  * igt@xe_live_ktest@xe_bo:
    - shard-dg2-set2:     [TIMEOUT][11] ([Intel XE#2998]) -> [INCOMPLETE][12] +1 other test incomplete
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-434/igt@xe_live_ktest@xe_bo.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-463/igt@xe_live_ktest@xe_bo.html

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

  Here are the changes found in xe-pw-142707v1_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - shard-bmg:          NOTRUN -> [SKIP][13] ([Intel XE#2233])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
    - shard-lnl:          NOTRUN -> [SKIP][14] ([Intel XE#1466])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_async_flips@async-flip-with-page-flip-events:
    - shard-adlp:         [PASS][15] -> [DMESG-WARN][16] ([Intel XE#324]) +3 other tests dmesg-warn
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-3/igt@kms_async_flips@async-flip-with-page-flip-events.html
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_async_flips@async-flip-with-page-flip-events.html

  * igt@kms_async_flips@crc:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][17] ([Intel XE#3781]) +1 other test incomplete
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_async_flips@crc.html

  * igt@kms_async_flips@crc@pipe-a-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][18] ([Intel XE#3781])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@kms_async_flips@crc@pipe-a-hdmi-a-3.html

  * igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
    - shard-adlp:         NOTRUN -> [SKIP][19] ([Intel XE#607])
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_big_fb@4-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#2327]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-270:
    - shard-dg2-set2:     NOTRUN -> [SKIP][21] ([Intel XE#316]) +1 other test skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-436/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-90:
    - shard-adlp:         NOTRUN -> [SKIP][22] ([Intel XE#316]) +2 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#1124]) +8 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][24] ([Intel XE#1124]) +5 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
    - shard-adlp:         NOTRUN -> [SKIP][25] ([Intel XE#1124]) +3 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-adlp:         NOTRUN -> [SKIP][26] ([Intel XE#610])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p:
    - shard-lnl:          NOTRUN -> [SKIP][27] ([Intel XE#2191])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html

  * igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
    - shard-adlp:         NOTRUN -> [SKIP][28] ([Intel XE#2191])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html

  * igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][29] ([Intel XE#2314] / [Intel XE#2894])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@kms_bw@connected-linear-tiling-3-displays-3840x2160p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][30] ([Intel XE#2191])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-1-displays-2160x1440p:
    - shard-adlp:         NOTRUN -> [SKIP][31] ([Intel XE#367])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_bw@linear-tiling-1-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-2-displays-2160x1440p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][32] ([Intel XE#367]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_bw@linear-tiling-2-displays-2160x1440p.html

  * igt@kms_bw@linear-tiling-3-displays-1920x1080p:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#367])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_bw@linear-tiling-3-displays-1920x1080p.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][34] ([Intel XE#455] / [Intel XE#787]) +13 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][35] ([Intel XE#2907])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-433/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][36] ([Intel XE#2887]) +2 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][37] ([Intel XE#2907])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][38] ([Intel XE#787]) +20 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][39] ([Intel XE#3442])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#2652] / [Intel XE#787]) +17 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#3432])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#2887]) +9 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs-cc@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][43] ([Intel XE#787]) +41 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-436/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs-cc@pipe-a-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [PASS][44] -> [INCOMPLETE][45] ([Intel XE#1727]) +1 other test incomplete
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][46] ([Intel XE#455] / [Intel XE#787]) +11 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-adlp:         NOTRUN -> [SKIP][47] ([Intel XE#314])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_chamelium_color@ctm-max:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#2325])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@kms_chamelium_color@ctm-max.html

  * igt@kms_chamelium_color@ctm-red-to-blue:
    - shard-adlp:         NOTRUN -> [SKIP][49] ([Intel XE#306])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_chamelium_color@ctm-red-to-blue.html

  * igt@kms_chamelium_edid@hdmi-mode-timings:
    - shard-dg2-set2:     NOTRUN -> [SKIP][50] ([Intel XE#373]) +2 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_chamelium_edid@hdmi-mode-timings.html

  * igt@kms_chamelium_frames@dp-crc-fast:
    - shard-bmg:          NOTRUN -> [SKIP][51] ([Intel XE#2252]) +4 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_chamelium_frames@dp-crc-fast.html

  * igt@kms_chamelium_frames@hdmi-frame-dump:
    - shard-adlp:         NOTRUN -> [SKIP][52] ([Intel XE#373]) +3 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_chamelium_frames@hdmi-frame-dump.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-lnl:          NOTRUN -> [SKIP][53] ([Intel XE#373])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_content_protection@atomic:
    - shard-dg2-set2:     NOTRUN -> [FAIL][54] ([Intel XE#1178]) +1 other test fail
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@content-type-change:
    - shard-bmg:          NOTRUN -> [SKIP][55] ([Intel XE#2341])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_content_protection@content-type-change.html
    - shard-lnl:          NOTRUN -> [SKIP][56] ([Intel XE#3278])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_content_protection@content-type-change.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-bmg:          NOTRUN -> [SKIP][57] ([Intel XE#2390])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_content_protection@dp-mst-lic-type-1.html
    - shard-lnl:          NOTRUN -> [SKIP][58] ([Intel XE#307])
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-adlp:         NOTRUN -> [SKIP][59] ([Intel XE#307])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@legacy:
    - shard-bmg:          NOTRUN -> [FAIL][60] ([Intel XE#1178]) +3 other tests fail
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_content_protection@legacy.html

  * igt@kms_cursor_crc@cursor-offscreen-32x32:
    - shard-dg2-set2:     NOTRUN -> [SKIP][61] ([Intel XE#455]) +6 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_cursor_crc@cursor-offscreen-32x32.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-dg2-set2:     NOTRUN -> [SKIP][62] ([Intel XE#308])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-bmg:          NOTRUN -> [SKIP][63] ([Intel XE#2321])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_cursor_crc@cursor-random-512x170.html
    - shard-lnl:          NOTRUN -> [SKIP][64] ([Intel XE#2321])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-bmg:          NOTRUN -> [SKIP][65] ([Intel XE#2320])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
    - shard-lnl:          NOTRUN -> [SKIP][66] ([Intel XE#1424])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-lnl:          NOTRUN -> [SKIP][67] ([Intel XE#309]) +1 other test skip
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-adlp:         NOTRUN -> [SKIP][68] ([Intel XE#309])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
    - shard-bmg:          [PASS][69] -> [DMESG-WARN][70] ([Intel XE#877])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-7/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
    - shard-bmg:          [PASS][71] -> [SKIP][72] ([Intel XE#2291]) +2 other tests skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-1/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-bmg:          NOTRUN -> [SKIP][73] ([Intel XE#2286])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-dg2-set2:     NOTRUN -> [SKIP][74] ([Intel XE#323])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-bmg:          NOTRUN -> [SKIP][75] ([Intel XE#2244])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#776])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_feature_discovery@display-4x:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#1138])
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@kms_feature_discovery@display-4x.html

  * igt@kms_feature_discovery@psr2:
    - shard-adlp:         NOTRUN -> [SKIP][78] ([Intel XE#1135])
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
    - shard-lnl:          NOTRUN -> [SKIP][79] ([Intel XE#1421])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html

  * igt@kms_flip@2x-flip-vs-dpms:
    - shard-adlp:         NOTRUN -> [SKIP][80] ([Intel XE#310]) +4 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_flip@2x-flip-vs-dpms.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a6-dp4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][81] ([Intel XE#3321]) +1 other test fail
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a6-dp4.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][82] ([Intel XE#301]) +2 other tests fail
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@cd-hdmi-a6-dp4.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-dp2-hdmi-a3:
    - shard-bmg:          NOTRUN -> [FAIL][83] ([Intel XE#3664])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-dp2-hdmi-a3.html

  * igt@kms_flip@2x-flip-vs-suspend@ab-dp2-hdmi-a3:
    - shard-bmg:          [PASS][84] -> [INCOMPLETE][85] ([Intel XE#2597])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-3/igt@kms_flip@2x-flip-vs-suspend@ab-dp2-hdmi-a3.html
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-8/igt@kms_flip@2x-flip-vs-suspend@ab-dp2-hdmi-a3.html

  * igt@kms_flip@2x-wf_vblank-ts-check:
    - shard-bmg:          [PASS][86] -> [FAIL][87] ([Intel XE#2882]) +1 other test fail
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-7/igt@kms_flip@2x-wf_vblank-ts-check.html
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@kms_flip@2x-wf_vblank-ts-check.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp4:
    - shard-dg2-set2:     [PASS][88] -> [FAIL][89] ([Intel XE#301])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-433/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp4.html
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-464/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp4.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][90] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][91] ([Intel XE#2293]) +1 other test skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x:
    - shard-adlp:         [PASS][92] -> [FAIL][93] ([Intel XE#1874])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x.html

  * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][94] ([Intel XE#651]) +1 other test skip
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][95] ([Intel XE#2311]) +18 other tests skip
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html
    - shard-lnl:          NOTRUN -> [SKIP][96] ([Intel XE#656]) +2 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-slowdraw:
    - shard-dg2-set2:     NOTRUN -> [SKIP][97] ([Intel XE#651]) +8 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_frontbuffer_tracking@drrs-slowdraw.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [FAIL][98] ([Intel XE#2333]) +9 other tests fail
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt:
    - shard-adlp:         NOTRUN -> [FAIL][99] ([Intel XE#1861])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-onoff:
    - shard-adlp:         NOTRUN -> [SKIP][100] ([Intel XE#651]) +4 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-4:
    - shard-adlp:         NOTRUN -> [SKIP][101] ([Intel XE#1151])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-4.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][102] ([Intel XE#653]) +11 other tests skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][103] ([Intel XE#2313]) +17 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-adlp:         NOTRUN -> [SKIP][104] ([Intel XE#656]) +15 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-modesetfrombusy:
    - shard-adlp:         NOTRUN -> [SKIP][105] ([Intel XE#653]) +6 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_frontbuffer_tracking@psr-modesetfrombusy.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          NOTRUN -> [SKIP][106] ([Intel XE#3544])
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_joiner@basic-force-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][107] ([Intel XE#2934])
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_joiner@basic-force-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-force-big-joiner:
    - shard-adlp:         NOTRUN -> [SKIP][108] ([Intel XE#3012])
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_joiner@invalid-modeset-force-big-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-bmg:          NOTRUN -> [SKIP][109] ([Intel XE#2927])
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_plane@plane-panning-bottom-right-suspend:
    - shard-adlp:         [PASS][110] -> [DMESG-WARN][111] ([Intel XE#3086]) +4 other tests dmesg-warn
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-6/igt@kms_plane@plane-panning-bottom-right-suspend.html
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-9/igt@kms_plane@plane-panning-bottom-right-suspend.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-a:
    - shard-bmg:          NOTRUN -> [SKIP][112] ([Intel XE#2763]) +4 other tests skip
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75@pipe-a.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-dg2-set2:     NOTRUN -> [SKIP][113] ([Intel XE#2938])
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-bmg:          NOTRUN -> [SKIP][114] ([Intel XE#870])
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-bmg:          NOTRUN -> [FAIL][115] ([Intel XE#1430])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-adlp:         NOTRUN -> [SKIP][116] ([Intel XE#734])
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][117] ([Intel XE#1489]) +4 other tests skip
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
    - shard-adlp:         NOTRUN -> [SKIP][118] ([Intel XE#1489]) +2 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb:
    - shard-bmg:          NOTRUN -> [SKIP][119] ([Intel XE#1489]) +4 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr@fbc-pr-cursor-plane-move:
    - shard-dg2-set2:     NOTRUN -> [SKIP][120] ([Intel XE#2850] / [Intel XE#929]) +7 other tests skip
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_psr@fbc-pr-cursor-plane-move.html

  * igt@kms_psr@fbc-psr2-sprite-render:
    - shard-adlp:         NOTRUN -> [SKIP][121] ([Intel XE#2850] / [Intel XE#929]) +5 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_psr@fbc-psr2-sprite-render.html

  * igt@kms_psr@pr-no-drrs:
    - shard-lnl:          NOTRUN -> [SKIP][122] ([Intel XE#1406])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_psr@pr-no-drrs.html

  * igt@kms_psr@pr-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][123] ([Intel XE#2234] / [Intel XE#2850]) +6 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@kms_psr@pr-suspend.html

  * igt@kms_rotation_crc@multiplane-rotation-cropping-top:
    - shard-adlp:         NOTRUN -> [FAIL][124] ([Intel XE#1874])
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][125] ([Intel XE#3414]) +2 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-lnl:          NOTRUN -> [SKIP][126] ([Intel XE#1435])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-adlp:         NOTRUN -> [SKIP][127] ([Intel XE#330])
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_vblank@ts-continuation-dpms-suspend:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][128] ([Intel XE#3864])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@kms_vblank@ts-continuation-dpms-suspend.html

  * igt@kms_vrr@max-min:
    - shard-adlp:         NOTRUN -> [SKIP][129] ([Intel XE#455]) +10 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_vrr@max-min.html

  * igt@kms_vrr@seamless-rr-switch-vrr:
    - shard-bmg:          NOTRUN -> [SKIP][130] ([Intel XE#1499]) +1 other test skip
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@kms_vrr@seamless-rr-switch-vrr.html

  * igt@kms_writeback@writeback-check-output:
    - shard-dg2-set2:     NOTRUN -> [SKIP][131] ([Intel XE#756])
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-433/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-adlp:         NOTRUN -> [SKIP][132] ([Intel XE#756])
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@xe_compute@ccs-mode-basic:
    - shard-adlp:         NOTRUN -> [SKIP][133] ([Intel XE#1447])
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@xe_compute@ccs-mode-basic.html

  * igt@xe_copy_basic@mem-set-linear-0x3fff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][134] ([Intel XE#1126])
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@xe_copy_basic@mem-set-linear-0x3fff.html

  * igt@xe_eudebug@basic-vm-bind-extended-discovery:
    - shard-dg2-set2:     NOTRUN -> [SKIP][135] ([Intel XE#2905]) +5 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-436/igt@xe_eudebug@basic-vm-bind-extended-discovery.html

  * igt@xe_eudebug@connect-user:
    - shard-lnl:          NOTRUN -> [SKIP][136] ([Intel XE#2905])
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@xe_eudebug@connect-user.html

  * igt@xe_eudebug_online@interrupt-other:
    - shard-bmg:          NOTRUN -> [SKIP][137] ([Intel XE#2905]) +5 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@xe_eudebug_online@interrupt-other.html

  * igt@xe_eudebug_online@writes-caching-vram-bb-sram-target-vram:
    - shard-adlp:         NOTRUN -> [SKIP][138] ([Intel XE#2905]) +3 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@xe_eudebug_online@writes-caching-vram-bb-sram-target-vram.html

  * igt@xe_evict@evict-beng-large-multi-vm-cm:
    - shard-bmg:          NOTRUN -> [FAIL][139] ([Intel XE#2364]) +1 other test fail
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@xe_evict@evict-beng-large-multi-vm-cm.html

  * igt@xe_evict@evict-beng-threads-large:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][140] ([Intel XE#1473])
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@xe_evict@evict-beng-threads-large.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-adlp:         NOTRUN -> [SKIP][141] ([Intel XE#261] / [Intel XE#688]) +1 other test skip
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_evict@evict-threads-small:
    - shard-lnl:          NOTRUN -> [SKIP][142] ([Intel XE#688]) +1 other test skip
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@xe_evict@evict-threads-small.html

  * igt@xe_evict_ccs@evict-overcommit-simple:
    - shard-adlp:         NOTRUN -> [SKIP][143] ([Intel XE#688]) +1 other test skip
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@xe_evict_ccs@evict-overcommit-simple.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-mmap:
    - shard-adlp:         NOTRUN -> [SKIP][144] ([Intel XE#1392]) +3 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-mmap.html

  * igt@xe_exec_basic@multigpu-no-exec-userptr:
    - shard-lnl:          NOTRUN -> [SKIP][145] ([Intel XE#1392]) +1 other test skip
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@xe_exec_basic@multigpu-no-exec-userptr.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
    - shard-bmg:          NOTRUN -> [SKIP][146] ([Intel XE#2322]) +6 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html

  * igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-race-imm:
    - shard-adlp:         NOTRUN -> [SKIP][147] ([Intel XE#288]) +8 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-race-imm.html

  * igt@xe_exec_fault_mode@twice-userptr-prefetch:
    - shard-dg2-set2:     NOTRUN -> [SKIP][148] ([Intel XE#288]) +11 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-433/igt@xe_exec_fault_mode@twice-userptr-prefetch.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_guc_relay_init:
    - shard-adlp:         [PASS][149] -> [DMESG-WARN][150] ([Intel XE#3086] / [Intel XE#3343])
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-4/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_relay_init.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-8/igt@xe_fault_injection@inject-fault-probe-function-xe_guc_relay_init.html

  * igt@xe_fault_injection@inject-fault-probe-function-xe_sriov_init:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][151] ([Intel XE#3086])
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@xe_fault_injection@inject-fault-probe-function-xe_sriov_init.html

  * igt@xe_live_ktest@xe_dma_buf:
    - shard-bmg:          [PASS][152] -> [SKIP][153] ([Intel XE#1192]) +1 other test skip
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-2/igt@xe_live_ktest@xe_dma_buf.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@xe_live_ktest@xe_dma_buf.html

  * igt@xe_live_ktest@xe_mocs@xe_live_mocs_kernel_kunit:
    - shard-adlp:         NOTRUN -> [FAIL][154] ([Intel XE#1999]) +2 other tests fail
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@xe_live_ktest@xe_mocs@xe_live_mocs_kernel_kunit.html

  * igt@xe_oa@oa-formats:
    - shard-dg2-set2:     NOTRUN -> [SKIP][155] ([Intel XE#2541] / [Intel XE#3573]) +2 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@xe_oa@oa-formats.html

  * igt@xe_oa@syncs-syncobj-cfg:
    - shard-adlp:         NOTRUN -> [SKIP][156] ([Intel XE#2541] / [Intel XE#3573]) +2 other tests skip
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@xe_oa@syncs-syncobj-cfg.html

  * igt@xe_pat@pat-index-xehpc:
    - shard-bmg:          NOTRUN -> [SKIP][157] ([Intel XE#1420])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@xe_pat@pat-index-xehpc.html
    - shard-lnl:          NOTRUN -> [SKIP][158] ([Intel XE#1420] / [Intel XE#2838])
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pm@s4-basic:
    - shard-adlp:         [PASS][159] -> [DMESG-WARN][160] ([Intel XE#2953] / [Intel XE#3086])
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-3/igt@xe_pm@s4-basic.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-6/igt@xe_pm@s4-basic.html

  * igt@xe_pm@s4-mocs:
    - shard-adlp:         [PASS][161] -> [ABORT][162] ([Intel XE#1794])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-1/igt@xe_pm@s4-mocs.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-9/igt@xe_pm@s4-mocs.html

  * igt@xe_pm@s4-vm-bind-unbind-all:
    - shard-lnl:          [PASS][163] -> [ABORT][164] ([Intel XE#1794])
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-lnl-3/igt@xe_pm@s4-vm-bind-unbind-all.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-2/igt@xe_pm@s4-vm-bind-unbind-all.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-adlp:         NOTRUN -> [SKIP][165] ([Intel XE#579])
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_query@multigpu-query-engines:
    - shard-bmg:          NOTRUN -> [SKIP][166] ([Intel XE#944])
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@xe_query@multigpu-query-engines.html

  * igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz:
    - shard-dg2-set2:     NOTRUN -> [SKIP][167] ([Intel XE#944]) +1 other test skip
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-435/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html

  * igt@xe_wedged@wedged-mode-toggle:
    - shard-adlp:         [PASS][168] -> [ABORT][169] ([Intel XE#3084])
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-9/igt@xe_wedged@wedged-mode-toggle.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@xe_wedged@wedged-mode-toggle.html

  
#### Possible fixes ####

  * igt@kms_atomic_transition@plane-toggle-modeset-transition:
    - shard-adlp:         [FAIL][170] ([Intel XE#1426]) -> [PASS][171] +1 other test pass
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-3/igt@kms_atomic_transition@plane-toggle-modeset-transition.html
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_atomic_transition@plane-toggle-modeset-transition.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
    - shard-dg2-set2:     [INCOMPLETE][172] ([Intel XE#1727]) -> [PASS][173]
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4:
    - shard-dg2-set2:     [INCOMPLETE][174] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124]) -> [PASS][175]
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85:
    - shard-adlp:         [TIMEOUT][176] ([Intel XE#1033] / [Intel XE#1727]) -> [PASS][177] +2 other tests pass
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-8/igt@kms_cursor_crc@cursor-onscreen-256x85.html
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_cursor_crc@cursor-onscreen-256x85.html

  * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
    - shard-dg2-set2:     [DMESG-WARN][178] -> [PASS][179]
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-464/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-463/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@cursora-vs-flipa-toggle:
    - shard-adlp:         [INCOMPLETE][180] ([Intel XE#1033] / [Intel XE#1727]) -> [PASS][181]
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-8/igt@kms_cursor_legacy@cursora-vs-flipa-toggle.html
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_cursor_legacy@cursora-vs-flipa-toggle.html

  * igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a6-dp4:
    - shard-dg2-set2:     [FAIL][182] ([Intel XE#301]) -> [PASS][183] +2 other tests pass
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-436/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a6-dp4.html
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-433/igt@kms_flip@2x-flip-vs-expired-vblank@ab-hdmi-a6-dp4.html

  * igt@kms_flip@2x-flip-vs-expired-vblank@ad-dp2-hdmi-a3:
    - shard-bmg:          [FAIL][184] ([Intel XE#3321]) -> [PASS][185] +1 other test pass
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-8/igt@kms_flip@2x-flip-vs-expired-vblank@ad-dp2-hdmi-a3.html
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@ad-dp2-hdmi-a3.html

  * igt@kms_flip@absolute-wf_vblank:
    - shard-dg2-set2:     [INCOMPLETE][186] ([Intel XE#2049]) -> [PASS][187] +2 other tests pass
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-464/igt@kms_flip@absolute-wf_vblank.html
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-433/igt@kms_flip@absolute-wf_vblank.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [FAIL][188] ([Intel XE#2882]) -> [PASS][189]
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-5/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-dg2-set2:     [INCOMPLETE][190] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][191]
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-463/igt@kms_flip@flip-vs-suspend.html
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-436/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-adlp:         [DMESG-WARN][192] ([Intel XE#2953] / [Intel XE#3086]) -> [PASS][193] +1 other test pass
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-1/igt@kms_flip@flip-vs-suspend-interruptible.html
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible:
    - shard-dg2-set2:     [FAIL][194] ([Intel XE#2882]) -> [PASS][195]
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-463/igt@kms_flip@plain-flip-fb-recreate-interruptible.html
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-434/igt@kms_flip@plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@a-hdmi-a6:
    - shard-dg2-set2:     [FAIL][196] -> [PASS][197]
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-463/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-hdmi-a6.html
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-434/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-hdmi-a6.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1:
    - shard-lnl:          [FAIL][198] ([Intel XE#886]) -> [PASS][199]
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-lnl-1/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-8/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html

  * igt@kms_flip@plain-flip-ts-check:
    - shard-adlp:         [FAIL][200] ([Intel XE#886]) -> [PASS][201] +1 other test pass
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-6/igt@kms_flip@plain-flip-ts-check.html
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-8/igt@kms_flip@plain-flip-ts-check.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x:
    - shard-adlp:         [FAIL][202] ([Intel XE#1874]) -> [PASS][203] +1 other test pass
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x.html
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x.html

  * igt@kms_plane@pixel-format-source-clamping:
    - shard-bmg:          [DMESG-WARN][204] ([Intel XE#2566] / [Intel XE#877]) -> [PASS][205]
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-7/igt@kms_plane@pixel-format-source-clamping.html
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@kms_plane@pixel-format-source-clamping.html

  * igt@kms_plane@pixel-format-source-clamping@pipe-b-plane-5:
    - shard-bmg:          [DMESG-WARN][206] ([Intel XE#877]) -> [PASS][207]
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-7/igt@kms_plane@pixel-format-source-clamping@pipe-b-plane-5.html
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@kms_plane@pixel-format-source-clamping@pipe-b-plane-5.html

  * igt@kms_pm_rpm@system-suspend-modeset:
    - shard-bmg:          [DMESG-FAIL][208] -> [PASS][209]
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-8/igt@kms_pm_rpm@system-suspend-modeset.html
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@kms_pm_rpm@system-suspend-modeset.html

  * igt@kms_setmode@invalid-clone-single-crtc-stealing:
    - shard-bmg:          [SKIP][210] ([Intel XE#1435]) -> [PASS][211]
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-6/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@kms_setmode@invalid-clone-single-crtc-stealing.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1:
    - shard-lnl:          [FAIL][212] ([Intel XE#899]) -> [PASS][213]
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-lnl-1/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-8/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-dg2-set2:     [TIMEOUT][214] ([Intel XE#1473]) -> [PASS][215] +1 other test pass
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-464/igt@xe_evict@evict-mixed-many-threads-small.html
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-436/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_live_ktest@xe_migrate:
    - shard-bmg:          [SKIP][216] ([Intel XE#1192]) -> [PASS][217]
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-3/igt@xe_live_ktest@xe_migrate.html
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-8/igt@xe_live_ktest@xe_migrate.html

  * igt@xe_pm@s4-d3hot-basic-exec:
    - shard-adlp:         [ABORT][218] ([Intel XE#1358] / [Intel XE#1607]) -> [PASS][219]
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-9/igt@xe_pm@s4-d3hot-basic-exec.html
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@xe_pm@s4-d3hot-basic-exec.html

  * igt@xe_pm@s4-mocs:
    - shard-bmg:          [INCOMPLETE][220] -> [PASS][221]
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-1/igt@xe_pm@s4-mocs.html
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-3/igt@xe_pm@s4-mocs.html
    - shard-lnl:          [ABORT][222] ([Intel XE#1794]) -> [PASS][223]
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-lnl-2/igt@xe_pm@s4-mocs.html
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-lnl-6/igt@xe_pm@s4-mocs.html

  * igt@xe_vm@munmap-style-unbind-end:
    - shard-bmg:          [DMESG-WARN][224] -> [PASS][225] +1 other test pass
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-5/igt@xe_vm@munmap-style-unbind-end.html
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@xe_vm@munmap-style-unbind-end.html

  * igt@xe_wedged@wedged-at-any-timeout:
    - shard-adlp:         [DMESG-WARN][226] ([Intel XE#3086]) -> [PASS][227] +3 other tests pass
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-4/igt@xe_wedged@wedged-at-any-timeout.html
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-1/igt@xe_wedged@wedged-at-any-timeout.html

  
#### Warnings ####

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-b-hdmi-a-1:
    - shard-adlp:         [DMESG-FAIL][228] ([Intel XE#1033] / [Intel XE#1727] / [Intel XE#3818]) -> [DMESG-FAIL][229] ([Intel XE#1033] / [Intel XE#1727])
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-9/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-hdmi-a-1.html
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@kms_async_flips@alternate-sync-async-flip@pipe-b-hdmi-a-1.html

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1:
    - shard-adlp:         [DMESG-FAIL][230] ([Intel XE#1033] / [Intel XE#1727] / [Intel XE#324]) -> [DMESG-WARN][231] ([Intel XE#1033] / [Intel XE#1727] / [Intel XE#324])
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-9/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1.html
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-hdmi-a-1.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-adlp:         [DMESG-FAIL][232] ([Intel XE#324]) -> [FAIL][233] ([Intel XE#1231])
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_content_protection@atomic:
    - shard-bmg:          [FAIL][234] ([Intel XE#1178]) -> [SKIP][235] ([Intel XE#2341])
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-1/igt@kms_content_protection@atomic.html
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@kms_content_protection@atomic.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-bmg:          [FAIL][236] ([Intel XE#2882]) -> [SKIP][237] ([Intel XE#2316])
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-bmg:          [SKIP][238] ([Intel XE#2316]) -> [INCOMPLETE][239] ([Intel XE#2597])
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-6/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-render:
    - shard-bmg:          [SKIP][240] ([Intel XE#2311]) -> [SKIP][241] ([Intel XE#2312]) +3 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-render.html
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render:
    - shard-adlp:         [TIMEOUT][242] ([Intel XE#1033] / [Intel XE#1727]) -> [FAIL][243] ([Intel XE#1861])
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt:
    - shard-bmg:          [FAIL][244] ([Intel XE#2333]) -> [SKIP][245] ([Intel XE#2312])
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          [INCOMPLETE][246] ([Intel XE#2050]) -> [FAIL][247] ([Intel XE#2333])
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-adlp:         [TIMEOUT][248] ([Intel XE#1033] / [Intel XE#1727]) -> [SKIP][249] ([Intel XE#651])
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-8/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-mmap-wc.html
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-bmg:          [SKIP][250] ([Intel XE#2312]) -> [SKIP][251] ([Intel XE#2313]) +1 other test skip
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render:
    - shard-adlp:         [TIMEOUT][252] ([Intel XE#1033] / [Intel XE#1727]) -> [SKIP][253] ([Intel XE#653])
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-8/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render.html
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][254] ([Intel XE#2313]) -> [SKIP][255] ([Intel XE#2312]) +3 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-dg2-set2:     [SKIP][256] ([Intel XE#1500]) -> [SKIP][257] ([Intel XE#362])
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@xe_evict@evict-beng-mixed-many-threads-large:
    - shard-bmg:          [TIMEOUT][258] ([Intel XE#1473]) -> [INCOMPLETE][259] ([Intel XE#1473])
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-5/igt@xe_evict@evict-beng-mixed-many-threads-large.html
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-7/igt@xe_evict@evict-beng-mixed-many-threads-large.html

  * igt@xe_evict@evict-mixed-many-threads-large:
    - shard-bmg:          [INCOMPLETE][260] ([Intel XE#1473]) -> [TIMEOUT][261] ([Intel XE#1473]) +1 other test timeout
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-2/igt@xe_evict@evict-mixed-many-threads-large.html
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-1/igt@xe_evict@evict-mixed-many-threads-large.html

  * igt@xe_live_ktest@xe_eudebug:
    - shard-bmg:          [SKIP][262] ([Intel XE#2833]) -> [SKIP][263] ([Intel XE#1192])
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-bmg-1/igt@xe_live_ktest@xe_eudebug.html
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-bmg-6/igt@xe_live_ktest@xe_eudebug.html

  * igt@xe_module_load@load:
    - shard-adlp:         ([PASS][264], [PASS][265], [PASS][266], [PASS][267], [PASS][268], [PASS][269], [PASS][270], [PASS][271], [PASS][272], [PASS][273], [PASS][274], [PASS][275], [PASS][276], [PASS][277], [PASS][278], [PASS][279], [PASS][280], [PASS][281], [DMESG-WARN][282], [PASS][283], [SKIP][284], [PASS][285], [PASS][286], [PASS][287], [PASS][288], [PASS][289]) ([Intel XE#3086] / [Intel XE#378]) -> ([PASS][290], [PASS][291], [PASS][292], [PASS][293], [PASS][294], [PASS][295], [PASS][296], [PASS][297], [SKIP][298], [PASS][299], [PASS][300], [PASS][301], [PASS][302], [PASS][303], [PASS][304], [PASS][305], [PASS][306], [PASS][307], [PASS][308], [PASS][309], [PASS][310], [PASS][311], [PASS][312], [PASS][313], [PASS][314], [PASS][315]) ([Intel XE#378])
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-2/igt@xe_module_load@load.html
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-1/igt@xe_module_load@load.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-3/igt@xe_module_load@load.html
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-8/igt@xe_module_load@load.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-8/igt@xe_module_load@load.html
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-4/igt@xe_module_load@load.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-6/igt@xe_module_load@load.html
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-2/igt@xe_module_load@load.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-4/igt@xe_module_load@load.html
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-4/igt@xe_module_load@load.html
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-2/igt@xe_module_load@load.html
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-6/igt@xe_module_load@load.html
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-6/igt@xe_module_load@load.html
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-4/igt@xe_module_load@load.html
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-8/igt@xe_module_load@load.html
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-3/igt@xe_module_load@load.html
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-1/igt@xe_module_load@load.html
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-1/igt@xe_module_load@load.html
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-6/igt@xe_module_load@load.html
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-3/igt@xe_module_load@load.html
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-4/igt@xe_module_load@load.html
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-8/igt@xe_module_load@load.html
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-9/igt@xe_module_load@load.html
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-9/igt@xe_module_load@load.html
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-3/igt@xe_module_load@load.html
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8/shard-adlp-2/igt@xe_module_load@load.html
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@xe_module_load@load.html
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@xe_module_load@load.html
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-2/igt@xe_module_load@load.html
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-6/igt@xe_module_load@load.html
   [294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-1/igt@xe_module_load@load.html
   [295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@xe_module_load@load.html
   [296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@xe_module_load@load.html
   [297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@xe_module_load@load.html
   [298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-1/igt@xe_module_load@load.html
   [299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-1/igt@xe_module_load@load.html
   [300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-3/igt@xe_module_load@load.html
   [301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-1/igt@xe_module_load@load.html
   [302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-1/igt@xe_module_load@load.html
   [303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-6/igt@xe_module_load@load.html
   [304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-6/igt@xe_module_load@load.html
   [305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-6/igt@xe_module_load@load.html
   [306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-8/igt@xe_module_load@load.html
   [307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-9/igt@xe_module_load@load.html
   [308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@xe_module_load@load.html
   [309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@xe_module_load@load.html
   [310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@xe_module_load@load.html
   [311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-4/igt@xe_module_load@load.html
   [312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-9/igt@xe_module_load@load.html
   [313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-8/igt@xe_module_load@load.html
   [314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-8/igt@xe_module_load@load.html
   [315]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-142707v1/shard-adlp-8/igt@xe_module_load@load.html

  
  [Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
  [Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
  [Intel XE#1151]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1151
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
  [Intel XE#1231]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1231
  [Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1426
  [Intel XE#1430]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1430
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1447
  [Intel XE#1466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1466
  [Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
  [Intel XE#1607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1607
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
  [Intel XE#1861]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1861
  [Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
  [Intel XE#1999]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1999
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2050]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2050
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2233]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2233
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2333
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2364
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
  [Intel XE#2566]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2566
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
  [Intel XE#2838]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2838
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
  [Intel XE#2934]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2934
  [Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
  [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
  [Intel XE#2998]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2998
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#3084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3084
  [Intel XE#3086]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3086
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
  [Intel XE#314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/314
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324
  [Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
  [Intel XE#330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/330
  [Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321
  [Intel XE#3343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3343
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
  [Intel XE#3664]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3664
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
  [Intel XE#3781]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3781
  [Intel XE#3818]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3818
  [Intel XE#3864]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3864
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
  [Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#734]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/734
  [Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
  [Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
  [Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
  [Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * Linux: xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8 -> xe-pw-142707v1

  IGT_8160: 4f10d98c56498ab29445ae0b06aab6f5a8ec2eca @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-2390-ff2d4c1b285a836d28341cdf04adbc811757d4c8: ff2d4c1b285a836d28341cdf04adbc811757d4c8
  xe-pw-142707v1: 142707v1

== Logs ==

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

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

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

* Re: [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling
  2024-12-17 20:35   ` Dixit, Ashutosh
@ 2024-12-18 22:51     ` Harish Chegondi
  2024-12-19 16:27       ` Dixit, Ashutosh
  0 siblings, 1 reply; 28+ messages in thread
From: Harish Chegondi @ 2024-12-18 22:51 UTC (permalink / raw)
  To: Dixit, Ashutosh
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Tue, Dec 17, 2024 at 12:35:15PM -0800, Dixit, Ashutosh wrote:
> On Tue, 17 Dec 2024 01:46:52 -0800, Harish Chegondi wrote:
> >
> 
> Hi Harish,
> 
> Only reviewing the uapi once again.
> 
> > A user space consumer for this feature is Mesa.
> >
> > Mesa PR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30142
> 
> Mesa PR should be in the cover letter, not in the patch itself. And we'll
> need to eventually show that the Mesa PR is consuming all aspects of the
> uapi being introduced.
Okay, will fix in the next patch series. Mesa PR still need some uAPI
changes I made in this patch series.
> 
> >
> > v6: Change the input sampling rate to GPU cycles instead of
> >     GPU cycles multiplier.
> 
> Note that if your series is v6 each patch in the series is not necessarily
> v6. A patch can be v2 e.g. So you should capture the version and changelog
> of each patch separately.
Makes sense. But how would the reviewers know if a patch v2 in a series
v6 has been updated?
> 
> > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > index f62689ca861a..4ee3b04a1bb5 100644
> > --- a/include/uapi/drm/xe_drm.h
> > +++ b/include/uapi/drm/xe_drm.h
> > @@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence {
> >  enum drm_xe_observation_type {
> >	/** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */
> >	DRM_XE_OBSERVATION_TYPE_OA,
> > +	/** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */
> > +	DRM_XE_OBSERVATION_TYPE_EU_STALL,
> >  };
> >
> >  /**
> > @@ -1729,6 +1731,45 @@ struct drm_xe_oa_stream_info {
> >	__u64 reserved[3];
> >  };
> >
> > +/**
> > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids.
> > + *
> > + * These properties are passed to the driver at open as a chain of
> > + * @drm_xe_ext_set_property structures with @property set to these
> > + * properties' enums and @value set to the corresponding values of these
> > + * properties. @drm_xe_user_extension base.name should be set to
> > + * @DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY.
> > + *
> > + * With the file descriptor obtained from open, user space must enable
> > + * the EU stall stream fd with @DRM_XE_OBSERVATION_IOCTL_ENABLE before
> > + * calling read(). read() returns number of bytes of EU stall data read
> > + * from the EU stall data buffer or an error. One of the errors returned
> 
> No need to explain what read() returns, read() is a system call, user can
> read the read man page.
> 
> > + * from read is -EIO which indicates HW dropped data due to full buffer.
> 
> Just say "EIO errno from read() indicates data loss due to buffer
> overflow".
> 
> Also, -EIO is not returned to userspace, errno is set for userspace.
> 
> > + *
> > + */
> > +enum drm_xe_eu_stall_property_id {
> > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY		0
> > +	/**
> > +	 * @DRM_XE_EU_STALL_PROP_GT_ID: GT ID of the GT on which
> 
> @gt_id
> 
> > +	 * EU stall data will be captured.
> > +	 */
> > +	DRM_XE_EU_STALL_PROP_GT_ID = 1,
> > +
> > +	/**
> > +	 * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate
> > +	 * in GPU cycles. Valid values are:
> > +	 * 251, 251x2, 251x3, 251x4, 251x5, 251x6 and 251x7.
> 
> This 251 stuff needs to go, as was already mentioned the last
> time. Something like:
> 
> "@DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate in GPU cycles, from
> @sampling_rates in struct @drm_xe_query_eu_stall".
Will change.
> 
> > +	 */
> > +	DRM_XE_EU_STALL_PROP_SAMPLE_RATE,
> > +
> > +	/**
> > +	 * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of
> > +	 * EU stall data rows to be present in the kernel buffer for
> > +	 * poll() to set POLLIN (data present).
> > +	 */
> > +	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
> 
> We called this DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS for OA. So maybe
> DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS? Or WAIT_REPORT_COUNT? Not sure what
> EVENT is referring to?
Here is EVENT is referring to POLLIN (new EU stall data in the buffer)
from poll(). This property would specify the minimum EU stall data
records to be present in the buffer for poll() to set POLLIN.
> 
> > +};systemctl start gdm3

> > +
> >  #if defined(__cplusplus)
> >  }
> >  #endif
> > --
> > 2.47.0
> >
> 
> Ashutosh
Thank you
Harish.


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

* Re: [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information
  2024-12-17 20:07   ` Dixit, Ashutosh
@ 2024-12-18 23:24     ` Harish Chegondi
  2024-12-19 16:36       ` Dixit, Ashutosh
  0 siblings, 1 reply; 28+ messages in thread
From: Harish Chegondi @ 2024-12-18 23:24 UTC (permalink / raw)
  To: Dixit, Ashutosh
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Tue, Dec 17, 2024 at 12:07:49PM -0800, Dixit, Ashutosh wrote:
> On Tue, 17 Dec 2024 01:46:56 -0800, Harish Chegondi wrote:
> >
> 
Hi Ashutosh,

> Hi Harish,
> 
> Only reviewing the uapi, not the implementation.
> 
> > User space can get the EU stall data record size, EU stall capabilities,
> > EU stall sampling rates, and per XeCore buffer size with query IOCTL
> > DRM_IOCTL_XE_DEVICE_QUERY with .query set to DRM_XE_DEVICE_QUERY_EU_STALL.
> > A struct drm_xe_query_eu_stall will be returned to the user space along
> > with an array of supported sampling rates sorted in the fastest sampling
> > rate first order. sampling_rates in struct drm_xe_query_eu_stall will
> > point to the array of sampling rates.
> >
> > Any capabilities in EU stall sampling as of this patch are considered
> > as base capabilities. Any new capabilities added later will need
> > a new capabilities flag.
> 
> s/a new capabilities flag/new capability bits/. Or, better to say something
> like "New capability bits will be added for any new functionality added
> later".
> 
> See OA capability bits in the latest drm-tip.
Will check and change.
> 
> >
> > v6: Include EU stall sampling rates information and
> >     per XeCore buffer size in the query information.
> 
> /snip/
> 
> > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > index 4ee3b04a1bb5..40c2d274473e 100644
> > --- a/include/uapi/drm/xe_drm.h
> > +++ b/include/uapi/drm/xe_drm.h
> > @@ -700,6 +700,7 @@ struct drm_xe_device_query {
> >  #define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES	6
> >  #define DRM_XE_DEVICE_QUERY_UC_FW_VERSION	7
> >  #define DRM_XE_DEVICE_QUERY_OA_UNITS		8
> > +#define DRM_XE_DEVICE_QUERY_EU_STALL		9
> >	/** @query: The type of data to query */
> >	__u32 query;
> >
> > @@ -1770,6 +1771,40 @@ enum drm_xe_eu_stall_property_id {
> >	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
> >  };
> >
> > +/**
> > + * struct drm_xe_query_eu_stall - Information about EU stall sampling.
> > + *
> > + * If a query is made with a struct @drm_xe_device_query where .query
> > + * is equal to @DRM_XE_DEVICE_QUERY_EU_STALL, then the reply uses
> > + * struct @drm_xe_query_eu_stall in .data.
> > + */
> > +struct drm_xe_query_eu_stall {
> > +	/** @extensions: Pointer to the first extension struct, if any */
> > +	__u64 extensions;
> > +
> > +	/** @capabilities: EU stall capabilities bit-mask */
> > +	__u64 capabilities;
> > +#define DRM_XE_EU_STALL_CAPS_BASE		(1 << 0)
> > +
> > +	/** @record_size: size of each EU stall data record */
> > +	__u64 record_size;
> > +
> > +	/** @per_xecore_buf_size: Per XeCore buffer size */
> > +	__u64 per_xecore_buf_size;
> 
> This new member has appeared. What is its purpose and how will userspace
> use it? Basically how is it relevant?
This is the per XeCore buffer size which will be used to create the per
GT EU stall data buffer. In the earlier patch, user space configured the
per Xecore size with one of the valid values - 128K, 256K or 512K. But
it was removed from the uAPI and instead the driver uses the biggest
size - 512K and creates the EU stall data buffer with size:
512K x number of XeCores. User space requested the per XeCore buffer
sized be exposed through the query IOCTL. In the future, I need to add
support for this buffer size to be able to change it via the debugfs
> 
> > +
> > +	/** @num_sampling_rates: Number of sampling rates supported */
> > +	__u64 num_sampling_rates;
> > +
> > +	/**
> > +	 * @sampling_rates: Pointer to an array of sampling rates
> > +	 * sorted in the fastest sampling rate first order.
> 
> sorted from fastest to slowest.
> 
> > +	 */
> > +	__u64 *sampling_rates;
> 
> This should be written as a flexible array as follows:
I used a pointer instead of a flexible array as I didn't want any field
after reserved fields. But since flexible array fields don't have any
storage space allocated unlike pointer, I will go ahead and change it to
a flexible array and move it to the end of the struct in the next patch
series.
> 
> 	__u64 sampling_rates[];
> 
> So sampling rate array is just present at the end of the struct, there
> should be no separate pointer here in the struct.
> 
> 	https://en.wikipedia.org/wiki/Flexible_array_member
> 
> Also we need to document what units the sampling rates are in. So something
> like "Sampling rates are specified in number of cycles of the reference
> clock".
> 
> So we have decided not to use nanoseconds (so sampling period rather than
> sampling rate)? Any particular reason for that? Though I am ok either way.

I decided to use GPU cycles instead of nanoseconds as using GPU cycles
will be more future proof to the uAPI. I also received feedback that
there are other interfaces in the driver that use GPU cycles instead of
nanoseconds, and therefore to be consistent, using GPU cycles may
better.
> 
> > +
> > +	/** @reserved: Reserved */
> > +	__u64 reserved[5];
> 
> Because flexible arrays must be the last field in a structure, this
> reserved field should be moved before num_sampling_rates field.
Will move to the end of the structure in the next patch series.
> 
> > +};
> > +
> >  #if defined(__cplusplus)
> >  }
> >  #endif
> > --
> > 2.47.0
> >
> 
> Ashutosh
Thanks for the review.
Harish.


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

* Re: [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling
  2024-12-18 22:51     ` Harish Chegondi
@ 2024-12-19 16:27       ` Dixit, Ashutosh
  2024-12-19 20:29         ` Harish Chegondi
  0 siblings, 1 reply; 28+ messages in thread
From: Dixit, Ashutosh @ 2024-12-19 16:27 UTC (permalink / raw)
  To: Harish Chegondi
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Wed, 18 Dec 2024 14:51:34 -0800, Harish Chegondi wrote:
>
> On Tue, Dec 17, 2024 at 12:35:15PM -0800, Dixit, Ashutosh wrote:
> > On Tue, 17 Dec 2024 01:46:52 -0800, Harish Chegondi wrote:
> > >
> >
> > Hi Harish,
> >
> > Only reviewing the uapi once again.
> >
> > > A user space consumer for this feature is Mesa.
> > >
> > > Mesa PR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30142
> >
> > Mesa PR should be in the cover letter, not in the patch itself. And we'll
> > need to eventually show that the Mesa PR is consuming all aspects of the
> > uapi being introduced.
> Okay, will fix in the next patch series. Mesa PR still need some uAPI
> changes I made in this patch series.
> >
> > >
> > > v6: Change the input sampling rate to GPU cycles instead of
> > >     GPU cycles multiplier.
> >
> > Note that if your series is v6 each patch in the series is not necessarily
> > v6. A patch can be v2 e.g. So you should capture the version and changelog
> > of each patch separately.
> Makes sense. But how would the reviewers know if a patch v2 in a series
> v6 has been updated?

They can check, say in v7 if the patch has gone from v2 to v3. And anyway
reviewers need to be aware of what is going on. There should be no
significant changes to the patch after a R-b, otherwise typically the patch
will change and it versions increment.

With what you are doing, the patch will go from v6 to v7 even if there are
no changes to the patch.

> >
> > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > index f62689ca861a..4ee3b04a1bb5 100644
> > > --- a/include/uapi/drm/xe_drm.h
> > > +++ b/include/uapi/drm/xe_drm.h
> > > @@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence {
> > >  enum drm_xe_observation_type {
> > >	/** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */
> > >	DRM_XE_OBSERVATION_TYPE_OA,
> > > +	/** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */
> > > +	DRM_XE_OBSERVATION_TYPE_EU_STALL,
> > >  };
> > >
> > >  /**
> > > @@ -1729,6 +1731,45 @@ struct drm_xe_oa_stream_info {
> > >	__u64 reserved[3];
> > >  };
> > >
> > > +/**
> > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids.
> > > + *
> > > + * These properties are passed to the driver at open as a chain of
> > > + * @drm_xe_ext_set_property structures with @property set to these
> > > + * properties' enums and @value set to the corresponding values of these
> > > + * properties. @drm_xe_user_extension base.name should be set to
> > > + * @DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY.
> > > + *
> > > + * With the file descriptor obtained from open, user space must enable
> > > + * the EU stall stream fd with @DRM_XE_OBSERVATION_IOCTL_ENABLE before
> > > + * calling read(). read() returns number of bytes of EU stall data read
> > > + * from the EU stall data buffer or an error. One of the errors returned
> >
> > No need to explain what read() returns, read() is a system call, user can
> > read the read man page.
> >
> > > + * from read is -EIO which indicates HW dropped data due to full buffer.
> >
> > Just say "EIO errno from read() indicates data loss due to buffer
> > overflow".
> >
> > Also, -EIO is not returned to userspace, errno is set for userspace.
> >
> > > + *
> > > + */
> > > +enum drm_xe_eu_stall_property_id {
> > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY		0
> > > +	/**
> > > +	 * @DRM_XE_EU_STALL_PROP_GT_ID: GT ID of the GT on which
> >
> > @gt_id
> >
> > > +	 * EU stall data will be captured.
> > > +	 */
> > > +	DRM_XE_EU_STALL_PROP_GT_ID = 1,
> > > +
> > > +	/**
> > > +	 * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate
> > > +	 * in GPU cycles. Valid values are:
> > > +	 * 251, 251x2, 251x3, 251x4, 251x5, 251x6 and 251x7.
> >
> > This 251 stuff needs to go, as was already mentioned the last
> > time. Something like:
> >
> > "@DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate in GPU cycles, from
> > @sampling_rates in struct @drm_xe_query_eu_stall".
> Will change.
> >
> > > +	 */
> > > +	DRM_XE_EU_STALL_PROP_SAMPLE_RATE,
> > > +
> > > +	/**
> > > +	 * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of
> > > +	 * EU stall data rows to be present in the kernel buffer for
> > > +	 * poll() to set POLLIN (data present).
> > > +	 */
> > > +	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
> >
> > We called this DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS for OA. So maybe
> > DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS? Or WAIT_REPORT_COUNT? Not sure what
> > EVENT is referring to?
> Here is EVENT is referring to POLLIN (new EU stall data in the buffer)
> from poll(). This property would specify the minimum EU stall data
> records to be present in the buffer for poll() to set POLLIN.

Note that above I said use EIO errno, not -EIO return code? The reason for
that is that this is userspace facing file, to be consumed by
userspace. Userspace doesn't know what POLLIN/EVENT mean, those things are
internal to the kernel implemenation and kernel API's. So these need to be
changed too. Here is the example from OA for this property:

	/**
	 * @DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS: Number of reports to wait
	 * for before unblocking poll or read
	 */
	DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS,

So here there is no mention of kernel implementation/API's, only about user
threads getting unblocked. And anyway there are no events to userspace
kernel is sending.

> >
> > > +};systemctl start gdm3
>
> > > +
> > >  #if defined(__cplusplus)
> > >  }
> > >  #endif
> > > --
> > > 2.47.0
> > >
> >
> > Ashutosh
> Thank you
> Harish.
>

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

* Re: [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information
  2024-12-18 23:24     ` Harish Chegondi
@ 2024-12-19 16:36       ` Dixit, Ashutosh
  2024-12-19 20:04         ` Harish Chegondi
  0 siblings, 1 reply; 28+ messages in thread
From: Dixit, Ashutosh @ 2024-12-19 16:36 UTC (permalink / raw)
  To: Harish Chegondi
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Wed, 18 Dec 2024 15:24:18 -0800, Harish Chegondi wrote:
>
> On Tue, Dec 17, 2024 at 12:07:49PM -0800, Dixit, Ashutosh wrote:
> > On Tue, 17 Dec 2024 01:46:56 -0800, Harish Chegondi wrote:
> > >
> >
> Hi Ashutosh,
>
> > Hi Harish,
> >
> > Only reviewing the uapi, not the implementation.
> >
> > > User space can get the EU stall data record size, EU stall capabilities,
> > > EU stall sampling rates, and per XeCore buffer size with query IOCTL
> > > DRM_IOCTL_XE_DEVICE_QUERY with .query set to DRM_XE_DEVICE_QUERY_EU_STALL.
> > > A struct drm_xe_query_eu_stall will be returned to the user space along
> > > with an array of supported sampling rates sorted in the fastest sampling
> > > rate first order. sampling_rates in struct drm_xe_query_eu_stall will
> > > point to the array of sampling rates.
> > >
> > > Any capabilities in EU stall sampling as of this patch are considered
> > > as base capabilities. Any new capabilities added later will need
> > > a new capabilities flag.
> >
> > s/a new capabilities flag/new capability bits/. Or, better to say something
> > like "New capability bits will be added for any new functionality added
> > later".
> >
> > See OA capability bits in the latest drm-tip.
> Will check and change.
> >
> > >
> > > v6: Include EU stall sampling rates information and
> > >     per XeCore buffer size in the query information.
> >
> > /snip/
> >
> > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > index 4ee3b04a1bb5..40c2d274473e 100644
> > > --- a/include/uapi/drm/xe_drm.h
> > > +++ b/include/uapi/drm/xe_drm.h
> > > @@ -700,6 +700,7 @@ struct drm_xe_device_query {
> > >  #define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES	6
> > >  #define DRM_XE_DEVICE_QUERY_UC_FW_VERSION	7
> > >  #define DRM_XE_DEVICE_QUERY_OA_UNITS		8
> > > +#define DRM_XE_DEVICE_QUERY_EU_STALL		9
> > >	/** @query: The type of data to query */
> > >	__u32 query;
> > >
> > > @@ -1770,6 +1771,40 @@ enum drm_xe_eu_stall_property_id {
> > >	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
> > >  };
> > >
> > > +/**
> > > + * struct drm_xe_query_eu_stall - Information about EU stall sampling.
> > > + *
> > > + * If a query is made with a struct @drm_xe_device_query where .query
> > > + * is equal to @DRM_XE_DEVICE_QUERY_EU_STALL, then the reply uses
> > > + * struct @drm_xe_query_eu_stall in .data.
> > > + */
> > > +struct drm_xe_query_eu_stall {
> > > +	/** @extensions: Pointer to the first extension struct, if any */
> > > +	__u64 extensions;
> > > +
> > > +	/** @capabilities: EU stall capabilities bit-mask */
> > > +	__u64 capabilities;
> > > +#define DRM_XE_EU_STALL_CAPS_BASE		(1 << 0)
> > > +
> > > +	/** @record_size: size of each EU stall data record */
> > > +	__u64 record_size;
> > > +
> > > +	/** @per_xecore_buf_size: Per XeCore buffer size */
> > > +	__u64 per_xecore_buf_size;
> >
> > This new member has appeared. What is its purpose and how will userspace
> > use it? Basically how is it relevant?
> This is the per XeCore buffer size which will be used to create the per
> GT EU stall data buffer. In the earlier patch, user space configured the
> per Xecore size with one of the valid values - 128K, 256K or 512K. But
> it was removed from the uAPI and instead the driver uses the biggest
> size - 512K and creates the EU stall data buffer with size:
> 512K x number of XeCores. User space requested the per XeCore buffer
> sized be exposed through the query IOCTL. In the future, I need to add
> support for this buffer size to be able to change it via the debugfs

In my view, Xe is only a temporary branding name whereas our uapi is
eternal :) Kidding, but you get the idea. So I would call this by a more
general name such as per_core_buf_size if it indeed needs to exposed (so I
prefer removing Xe from the name).

Because I don't see what userspace will do with this. I don't even know if
we can expose it if we cannot demonstrate that UMD's are consuming it. Also
we can reintroduce the removed property in case it is useful (which also
seems questionable).

Anyway, for now I would keep the field but just the name to
per_core_buf_size. But let's see if anyone else has an opinion on this.


> >
> > > +
> > > +	/** @num_sampling_rates: Number of sampling rates supported */
> > > +	__u64 num_sampling_rates;
> > > +
> > > +	/**
> > > +	 * @sampling_rates: Pointer to an array of sampling rates
> > > +	 * sorted in the fastest sampling rate first order.
> >
> > sorted from fastest to slowest.
> >
> > > +	 */
> > > +	__u64 *sampling_rates;
> >
> > This should be written as a flexible array as follows:
> I used a pointer instead of a flexible array as I didn't want any field
> after reserved fields. But since flexible array fields don't have any
> storage space allocated unlike pointer, I will go ahead and change it to
> a flexible array and move it to the end of the struct in the next patch
> series.
> >
> >	__u64 sampling_rates[];
> >
> > So sampling rate array is just present at the end of the struct, there
> > should be no separate pointer here in the struct.
> >
> >	https://en.wikipedia.org/wiki/Flexible_array_member
> >
> > Also we need to document what units the sampling rates are in. So something
> > like "Sampling rates are specified in number of cycles of the reference
> > clock".
> >
> > So we have decided not to use nanoseconds (so sampling period rather than
> > sampling rate)? Any particular reason for that? Though I am ok either way.
>
> I decided to use GPU cycles instead of nanoseconds as using GPU cycles
> will be more future proof to the uAPI. I also received feedback that
> there are other interfaces in the driver that use GPU cycles instead of
> nanoseconds, and therefore to be consistent, using GPU cycles may
> better.
> >
> > > +
> > > +	/** @reserved: Reserved */
> > > +	__u64 reserved[5];
> >
> > Because flexible arrays must be the last field in a structure, this
> > reserved field should be moved before num_sampling_rates field.
> Will move to the end of the structure in the next patch series.
> >
> > > +};
> > > +
> > >  #if defined(__cplusplus)
> > >  }
> > >  #endif
> > > --
> > > 2.47.0
> > >
> >
> > Ashutosh
> Thanks for the review.
> Harish.
>

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

* Re: [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information
  2024-12-19 16:36       ` Dixit, Ashutosh
@ 2024-12-19 20:04         ` Harish Chegondi
  2024-12-19 20:15           ` Dixit, Ashutosh
  0 siblings, 1 reply; 28+ messages in thread
From: Harish Chegondi @ 2024-12-19 20:04 UTC (permalink / raw)
  To: Dixit, Ashutosh
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Thu, Dec 19, 2024 at 08:36:16AM -0800, Dixit, Ashutosh wrote:
> On Wed, 18 Dec 2024 15:24:18 -0800, Harish Chegondi wrote:
> >
> > On Tue, Dec 17, 2024 at 12:07:49PM -0800, Dixit, Ashutosh wrote:
> > > On Tue, 17 Dec 2024 01:46:56 -0800, Harish Chegondi wrote:
> > > >
> > >
> > Hi Ashutosh,
> >
> > > Hi Harish,
> > >
> > > Only reviewing the uapi, not the implementation.
> > >
> > > > User space can get the EU stall data record size, EU stall capabilities,
> > > > EU stall sampling rates, and per XeCore buffer size with query IOCTL
> > > > DRM_IOCTL_XE_DEVICE_QUERY with .query set to DRM_XE_DEVICE_QUERY_EU_STALL.
> > > > A struct drm_xe_query_eu_stall will be returned to the user space along
> > > > with an array of supported sampling rates sorted in the fastest sampling
> > > > rate first order. sampling_rates in struct drm_xe_query_eu_stall will
> > > > point to the array of sampling rates.
> > > >
> > > > Any capabilities in EU stall sampling as of this patch are considered
> > > > as base capabilities. Any new capabilities added later will need
> > > > a new capabilities flag.
> > >
> > > s/a new capabilities flag/new capability bits/. Or, better to say something
> > > like "New capability bits will be added for any new functionality added
> > > later".
> > >
> > > See OA capability bits in the latest drm-tip.
> > Will check and change.
> > >
> > > >
> > > > v6: Include EU stall sampling rates information and
> > > >     per XeCore buffer size in the query information.
> > >
> > > /snip/
> > >
> > > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > > index 4ee3b04a1bb5..40c2d274473e 100644
> > > > --- a/include/uapi/drm/xe_drm.h
> > > > +++ b/include/uapi/drm/xe_drm.h
> > > > @@ -700,6 +700,7 @@ struct drm_xe_device_query {
> > > >  #define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES	6
> > > >  #define DRM_XE_DEVICE_QUERY_UC_FW_VERSION	7
> > > >  #define DRM_XE_DEVICE_QUERY_OA_UNITS		8
> > > > +#define DRM_XE_DEVICE_QUERY_EU_STALL		9
> > > >	/** @query: The type of data to query */
> > > >	__u32 query;
> > > >
> > > > @@ -1770,6 +1771,40 @@ enum drm_xe_eu_stall_property_id {
> > > >	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
> > > >  };
> > > >
> > > > +/**
> > > > + * struct drm_xe_query_eu_stall - Information about EU stall sampling.
> > > > + *
> > > > + * If a query is made with a struct @drm_xe_device_query where .query
> > > > + * is equal to @DRM_XE_DEVICE_QUERY_EU_STALL, then the reply uses
> > > > + * struct @drm_xe_query_eu_stall in .data.
> > > > + */
> > > > +struct drm_xe_query_eu_stall {
> > > > +	/** @extensions: Pointer to the first extension struct, if any */
> > > > +	__u64 extensions;
> > > > +
> > > > +	/** @capabilities: EU stall capabilities bit-mask */
> > > > +	__u64 capabilities;
> > > > +#define DRM_XE_EU_STALL_CAPS_BASE		(1 << 0)
> > > > +
> > > > +	/** @record_size: size of each EU stall data record */
> > > > +	__u64 record_size;
> > > > +
> > > > +	/** @per_xecore_buf_size: Per XeCore buffer size */
> > > > +	__u64 per_xecore_buf_size;
> > >
> > > This new member has appeared. What is its purpose and how will userspace
> > > use it? Basically how is it relevant?
> > This is the per XeCore buffer size which will be used to create the per
> > GT EU stall data buffer. In the earlier patch, user space configured the
> > per Xecore size with one of the valid values - 128K, 256K or 512K. But
> > it was removed from the uAPI and instead the driver uses the biggest
> > size - 512K and creates the EU stall data buffer with size:
> > 512K x number of XeCores. User space requested the per XeCore buffer
> > sized be exposed through the query IOCTL. In the future, I need to add
> > support for this buffer size to be able to change it via the debugfs
> 
> In my view, Xe is only a temporary branding name whereas our uapi is
> eternal :) Kidding, but you get the idea. So I would call this by a more
> general name such as per_core_buf_size if it indeed needs to exposed (so I
> prefer removing Xe from the name).
From an earlier review feedback, I changed all DSS (Dual Sub Slice) to
xecore as xecore is the new term for DSS or sub slice as we used to call
it. So, there are "xecore" strings in several parts of the code in
xe_eu_stall.c. So, I am not sure if I should change xecore to just core
in just this variable as it may lead to confusion about core vs xecore.
> 
> Because I don't see what userspace will do with this. I don't even know if
> we can expose it if we cannot demonstrate that UMD's are consuming it. Also
> we can reintroduce the removed property in case it is useful (which also
> seems questionable).
L0 folks have asked for the buffer size to be exposed. Only then I added
this field to the uAPI.
I have plan to allow the user to change the per subslice buffer size
through debugfs entry in the future. Although the driver uses the
biggest buffer size, in debugging and pre-silicon environments, it helps
to have smaller buffer sizes. So, in the future I will add support for
the user to change the buffer size.
> 
> Anyway, for now I would keep the field but just the name to
> per_core_buf_size. But let's see if anyone else has an opinion on this.
> 
> 
> > >
> > > > +
> > > > +	/** @num_sampling_rates: Number of sampling rates supported */
> > > > +	__u64 num_sampling_rates;
> > > > +
> > > > +	/**
> > > > +	 * @sampling_rates: Pointer to an array of sampling rates
> > > > +	 * sorted in the fastest sampling rate first order.
> > >
> > > sorted from fastest to slowest.
> > >
> > > > +	 */
> > > > +	__u64 *sampling_rates;
> > >
> > > This should be written as a flexible array as follows:
> > I used a pointer instead of a flexible array as I didn't want any field
> > after reserved fields. But since flexible array fields don't have any
> > storage space allocated unlike pointer, I will go ahead and change it to
> > a flexible array and move it to the end of the struct in the next patch
> > series.
> > >
> > >	__u64 sampling_rates[];
> > >
> > > So sampling rate array is just present at the end of the struct, there
> > > should be no separate pointer here in the struct.
> > >
> > >	https://en.wikipedia.org/wiki/Flexible_array_member
> > >
> > > Also we need to document what units the sampling rates are in. So something
> > > like "Sampling rates are specified in number of cycles of the reference
> > > clock".
> > >
> > > So we have decided not to use nanoseconds (so sampling period rather than
> > > sampling rate)? Any particular reason for that? Though I am ok either way.
> >
> > I decided to use GPU cycles instead of nanoseconds as using GPU cycles
> > will be more future proof to the uAPI. I also received feedback that
> > there are other interfaces in the driver that use GPU cycles instead of
> > nanoseconds, and therefore to be consistent, using GPU cycles may
> > better.
> > >
> > > > +
> > > > +	/** @reserved: Reserved */
> > > > +	__u64 reserved[5];
> > >
> > > Because flexible arrays must be the last field in a structure, this
> > > reserved field should be moved before num_sampling_rates field.
> > Will move to the end of the structure in the next patch series.
> > >
> > > > +};
> > > > +
> > > >  #if defined(__cplusplus)
> > > >  }
> > > >  #endif
> > > > --
> > > > 2.47.0
> > > >
> > >
> > > Ashutosh
> > Thanks for the review.
> > Harish.
> >

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

* Re: [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information
  2024-12-19 20:04         ` Harish Chegondi
@ 2024-12-19 20:15           ` Dixit, Ashutosh
  2024-12-19 20:19             ` Dixit, Ashutosh
  0 siblings, 1 reply; 28+ messages in thread
From: Dixit, Ashutosh @ 2024-12-19 20:15 UTC (permalink / raw)
  To: Harish Chegondi
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Thu, 19 Dec 2024 12:04:40 -0800, Harish Chegondi wrote:
>
> On Thu, Dec 19, 2024 at 08:36:16AM -0800, Dixit, Ashutosh wrote:
> > On Wed, 18 Dec 2024 15:24:18 -0800, Harish Chegondi wrote:
> > >
> > > On Tue, Dec 17, 2024 at 12:07:49PM -0800, Dixit, Ashutosh wrote:
> > > > On Tue, 17 Dec 2024 01:46:56 -0800, Harish Chegondi wrote:
> > > > >
> > > >
> > > Hi Ashutosh,
> > >
> > > > Hi Harish,
> > > >
> > > > Only reviewing the uapi, not the implementation.
> > > >
> > > > > User space can get the EU stall data record size, EU stall capabilities,
> > > > > EU stall sampling rates, and per XeCore buffer size with query IOCTL
> > > > > DRM_IOCTL_XE_DEVICE_QUERY with .query set to DRM_XE_DEVICE_QUERY_EU_STALL.
> > > > > A struct drm_xe_query_eu_stall will be returned to the user space along
> > > > > with an array of supported sampling rates sorted in the fastest sampling
> > > > > rate first order. sampling_rates in struct drm_xe_query_eu_stall will
> > > > > point to the array of sampling rates.
> > > > >
> > > > > Any capabilities in EU stall sampling as of this patch are considered
> > > > > as base capabilities. Any new capabilities added later will need
> > > > > a new capabilities flag.
> > > >
> > > > s/a new capabilities flag/new capability bits/. Or, better to say something
> > > > like "New capability bits will be added for any new functionality added
> > > > later".
> > > >
> > > > See OA capability bits in the latest drm-tip.
> > > Will check and change.
> > > >
> > > > >
> > > > > v6: Include EU stall sampling rates information and
> > > > >     per XeCore buffer size in the query information.
> > > >
> > > > /snip/
> > > >
> > > > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > > > index 4ee3b04a1bb5..40c2d274473e 100644
> > > > > --- a/include/uapi/drm/xe_drm.h
> > > > > +++ b/include/uapi/drm/xe_drm.h
> > > > > @@ -700,6 +700,7 @@ struct drm_xe_device_query {
> > > > >  #define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES	6
> > > > >  #define DRM_XE_DEVICE_QUERY_UC_FW_VERSION	7
> > > > >  #define DRM_XE_DEVICE_QUERY_OA_UNITS		8
> > > > > +#define DRM_XE_DEVICE_QUERY_EU_STALL		9
> > > > >	/** @query: The type of data to query */
> > > > >	__u32 query;
> > > > >
> > > > > @@ -1770,6 +1771,40 @@ enum drm_xe_eu_stall_property_id {
> > > > >	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
> > > > >  };
> > > > >
> > > > > +/**
> > > > > + * struct drm_xe_query_eu_stall - Information about EU stall sampling.
> > > > > + *
> > > > > + * If a query is made with a struct @drm_xe_device_query where .query
> > > > > + * is equal to @DRM_XE_DEVICE_QUERY_EU_STALL, then the reply uses
> > > > > + * struct @drm_xe_query_eu_stall in .data.
> > > > > + */
> > > > > +struct drm_xe_query_eu_stall {
> > > > > +	/** @extensions: Pointer to the first extension struct, if any */
> > > > > +	__u64 extensions;
> > > > > +
> > > > > +	/** @capabilities: EU stall capabilities bit-mask */
> > > > > +	__u64 capabilities;
> > > > > +#define DRM_XE_EU_STALL_CAPS_BASE		(1 << 0)
> > > > > +
> > > > > +	/** @record_size: size of each EU stall data record */
> > > > > +	__u64 record_size;
> > > > > +
> > > > > +	/** @per_xecore_buf_size: Per XeCore buffer size */
> > > > > +	__u64 per_xecore_buf_size;
> > > >
> > > > This new member has appeared. What is its purpose and how will userspace
> > > > use it? Basically how is it relevant?
> > > This is the per XeCore buffer size which will be used to create the per
> > > GT EU stall data buffer. In the earlier patch, user space configured the
> > > per Xecore size with one of the valid values - 128K, 256K or 512K. But
> > > it was removed from the uAPI and instead the driver uses the biggest
> > > size - 512K and creates the EU stall data buffer with size:
> > > 512K x number of XeCores. User space requested the per XeCore buffer
> > > sized be exposed through the query IOCTL. In the future, I need to add
> > > support for this buffer size to be able to change it via the debugfs
> >
> > In my view, Xe is only a temporary branding name whereas our uapi is
> > eternal :) Kidding, but you get the idea. So I would call this by a more
> > general name such as per_core_buf_size if it indeed needs to exposed (so I
> > prefer removing Xe from the name).
> From an earlier review feedback, I changed all DSS (Dual Sub Slice) to
> xecore as xecore is the new term for DSS or sub slice as we used to call
> it. So, there are "xecore" strings in several parts of the code in
> xe_eu_stall.c. So, I am not sure if I should change xecore to just core
> in just this variable as it may lead to confusion about core vs xecore.

Let's have @Roper, Matthew D take this on. Internally we can do whatever we
want but in the uapi header we should be careful.

> >
> > Because I don't see what userspace will do with this. I don't even know if
> > we can expose it if we cannot demonstrate that UMD's are consuming it. Also
> > we can reintroduce the removed property in case it is useful (which also
> > seems questionable).
> L0 folks have asked for the buffer size to be exposed. Only then I added
> this field to the uAPI.
> I have plan to allow the user to change the per subslice buffer size
> through debugfs entry in the future. Although the driver uses the
> biggest buffer size, in debugging and pre-silicon environments, it helps
> to have smaller buffer sizes. So, in the future I will add support for
> the user to change the buffer size.

So if there's a real use case for it, I would just introduce a property
later on (with a capability bit), rather than side-channel ways like
debugfs. So if we are going to introduce a property anyway, we probably
don't need per_xecore_buf_size in the query.

> >
> > Anyway, for now I would keep the field but just the name to
> > per_core_buf_size. But let's see if anyone else has an opinion on this.
> >
> >
> > > >
> > > > > +
> > > > > +	/** @num_sampling_rates: Number of sampling rates supported */
> > > > > +	__u64 num_sampling_rates;
> > > > > +
> > > > > +	/**
> > > > > +	 * @sampling_rates: Pointer to an array of sampling rates
> > > > > +	 * sorted in the fastest sampling rate first order.
> > > >
> > > > sorted from fastest to slowest.
> > > >
> > > > > +	 */
> > > > > +	__u64 *sampling_rates;
> > > >
> > > > This should be written as a flexible array as follows:
> > > I used a pointer instead of a flexible array as I didn't want any field
> > > after reserved fields. But since flexible array fields don't have any
> > > storage space allocated unlike pointer, I will go ahead and change it to
> > > a flexible array and move it to the end of the struct in the next patch
> > > series.
> > > >
> > > >	__u64 sampling_rates[];
> > > >
> > > > So sampling rate array is just present at the end of the struct, there
> > > > should be no separate pointer here in the struct.
> > > >
> > > >	https://en.wikipedia.org/wiki/Flexible_array_member
> > > >
> > > > Also we need to document what units the sampling rates are in. So something
> > > > like "Sampling rates are specified in number of cycles of the reference
> > > > clock".
> > > >
> > > > So we have decided not to use nanoseconds (so sampling period rather than
> > > > sampling rate)? Any particular reason for that? Though I am ok either way.
> > >
> > > I decided to use GPU cycles instead of nanoseconds as using GPU cycles
> > > will be more future proof to the uAPI. I also received feedback that
> > > there are other interfaces in the driver that use GPU cycles instead of
> > > nanoseconds, and therefore to be consistent, using GPU cycles may
> > > better.
> > > >
> > > > > +
> > > > > +	/** @reserved: Reserved */
> > > > > +	__u64 reserved[5];
> > > >
> > > > Because flexible arrays must be the last field in a structure, this
> > > > reserved field should be moved before num_sampling_rates field.
> > > Will move to the end of the structure in the next patch series.
> > > >
> > > > > +};
> > > > > +
> > > > >  #if defined(__cplusplus)
> > > > >  }
> > > > >  #endif
> > > > > --
> > > > > 2.47.0
> > > > >
> > > >
> > > > Ashutosh
> > > Thanks for the review.
> > > Harish.
> > >

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

* Re: [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information
  2024-12-19 20:15           ` Dixit, Ashutosh
@ 2024-12-19 20:19             ` Dixit, Ashutosh
  0 siblings, 0 replies; 28+ messages in thread
From: Dixit, Ashutosh @ 2024-12-19 20:19 UTC (permalink / raw)
  To: Harish Chegondi
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Thu, 19 Dec 2024 12:15:42 -0800, Dixit, Ashutosh wrote:
>
> On Thu, 19 Dec 2024 12:04:40 -0800, Harish Chegondi wrote:
> >
> > On Thu, Dec 19, 2024 at 08:36:16AM -0800, Dixit, Ashutosh wrote:
> > > On Wed, 18 Dec 2024 15:24:18 -0800, Harish Chegondi wrote:
> > > >
> > > > On Tue, Dec 17, 2024 at 12:07:49PM -0800, Dixit, Ashutosh wrote:
> > > > > On Tue, 17 Dec 2024 01:46:56 -0800, Harish Chegondi wrote:
> > > > > >
> > > > >
> > > > Hi Ashutosh,
> > > >
> > > > > Hi Harish,
> > > > >
> > > > > Only reviewing the uapi, not the implementation.
> > > > >
> > > > > > User space can get the EU stall data record size, EU stall capabilities,
> > > > > > EU stall sampling rates, and per XeCore buffer size with query IOCTL
> > > > > > DRM_IOCTL_XE_DEVICE_QUERY with .query set to DRM_XE_DEVICE_QUERY_EU_STALL.
> > > > > > A struct drm_xe_query_eu_stall will be returned to the user space along
> > > > > > with an array of supported sampling rates sorted in the fastest sampling
> > > > > > rate first order. sampling_rates in struct drm_xe_query_eu_stall will
> > > > > > point to the array of sampling rates.
> > > > > >
> > > > > > Any capabilities in EU stall sampling as of this patch are considered
> > > > > > as base capabilities. Any new capabilities added later will need
> > > > > > a new capabilities flag.
> > > > >
> > > > > s/a new capabilities flag/new capability bits/. Or, better to say something
> > > > > like "New capability bits will be added for any new functionality added
> > > > > later".
> > > > >
> > > > > See OA capability bits in the latest drm-tip.
> > > > Will check and change.
> > > > >
> > > > > >
> > > > > > v6: Include EU stall sampling rates information and
> > > > > >     per XeCore buffer size in the query information.
> > > > >
> > > > > /snip/
> > > > >
> > > > > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > > > > index 4ee3b04a1bb5..40c2d274473e 100644
> > > > > > --- a/include/uapi/drm/xe_drm.h
> > > > > > +++ b/include/uapi/drm/xe_drm.h
> > > > > > @@ -700,6 +700,7 @@ struct drm_xe_device_query {
> > > > > >  #define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES	6
> > > > > >  #define DRM_XE_DEVICE_QUERY_UC_FW_VERSION	7
> > > > > >  #define DRM_XE_DEVICE_QUERY_OA_UNITS		8
> > > > > > +#define DRM_XE_DEVICE_QUERY_EU_STALL		9
> > > > > >	/** @query: The type of data to query */
> > > > > >	__u32 query;
> > > > > >
> > > > > > @@ -1770,6 +1771,40 @@ enum drm_xe_eu_stall_property_id {
> > > > > >	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
> > > > > >  };
> > > > > >
> > > > > > +/**
> > > > > > + * struct drm_xe_query_eu_stall - Information about EU stall sampling.
> > > > > > + *
> > > > > > + * If a query is made with a struct @drm_xe_device_query where .query
> > > > > > + * is equal to @DRM_XE_DEVICE_QUERY_EU_STALL, then the reply uses
> > > > > > + * struct @drm_xe_query_eu_stall in .data.
> > > > > > + */
> > > > > > +struct drm_xe_query_eu_stall {
> > > > > > +	/** @extensions: Pointer to the first extension struct, if any */
> > > > > > +	__u64 extensions;
> > > > > > +
> > > > > > +	/** @capabilities: EU stall capabilities bit-mask */
> > > > > > +	__u64 capabilities;
> > > > > > +#define DRM_XE_EU_STALL_CAPS_BASE		(1 << 0)
> > > > > > +
> > > > > > +	/** @record_size: size of each EU stall data record */
> > > > > > +	__u64 record_size;
> > > > > > +
> > > > > > +	/** @per_xecore_buf_size: Per XeCore buffer size */
> > > > > > +	__u64 per_xecore_buf_size;
> > > > >
> > > > > This new member has appeared. What is its purpose and how will userspace
> > > > > use it? Basically how is it relevant?
> > > > This is the per XeCore buffer size which will be used to create the per
> > > > GT EU stall data buffer. In the earlier patch, user space configured the
> > > > per Xecore size with one of the valid values - 128K, 256K or 512K. But
> > > > it was removed from the uAPI and instead the driver uses the biggest
> > > > size - 512K and creates the EU stall data buffer with size:
> > > > 512K x number of XeCores. User space requested the per XeCore buffer
> > > > sized be exposed through the query IOCTL. In the future, I need to add
> > > > support for this buffer size to be able to change it via the debugfs
> > >
> > > In my view, Xe is only a temporary branding name whereas our uapi is
> > > eternal :) Kidding, but you get the idea. So I would call this by a more
> > > general name such as per_core_buf_size if it indeed needs to exposed (so I
> > > prefer removing Xe from the name).
> > From an earlier review feedback, I changed all DSS (Dual Sub Slice) to
> > xecore as xecore is the new term for DSS or sub slice as we used to call
> > it. So, there are "xecore" strings in several parts of the code in
> > xe_eu_stall.c. So, I am not sure if I should change xecore to just core
> > in just this variable as it may lead to confusion about core vs xecore.
>
> Let's have @Roper, Matthew D take this on. Internally we can do whatever we
> want but in the uapi header we should be careful.
>
> > >
> > > Because I don't see what userspace will do with this. I don't even know if
> > > we can expose it if we cannot demonstrate that UMD's are consuming it. Also
> > > we can reintroduce the removed property in case it is useful (which also
> > > seems questionable).
> > L0 folks have asked for the buffer size to be exposed. Only then I added
> > this field to the uAPI.
> > I have plan to allow the user to change the per subslice buffer size
> > through debugfs entry in the future. Although the driver uses the
> > biggest buffer size, in debugging and pre-silicon environments, it helps
> > to have smaller buffer sizes. So, in the future I will add support for
> > the user to change the buffer size.
>
> So if there's a real use case for it, I would just introduce a property
> later on (with a capability bit), rather than side-channel ways like
> debugfs. So if we are going to introduce a property anyway, we probably
> don't need per_xecore_buf_size in the query.

Sorry, we might still need it since you will likely have a default size if
the property is not specified. So better to sort this out.

>
> > >
> > > Anyway, for now I would keep the field but just the name to
> > > per_core_buf_size. But let's see if anyone else has an opinion on this.
> > >
> > >
> > > > >
> > > > > > +
> > > > > > +	/** @num_sampling_rates: Number of sampling rates supported */
> > > > > > +	__u64 num_sampling_rates;
> > > > > > +
> > > > > > +	/**
> > > > > > +	 * @sampling_rates: Pointer to an array of sampling rates
> > > > > > +	 * sorted in the fastest sampling rate first order.
> > > > >
> > > > > sorted from fastest to slowest.
> > > > >
> > > > > > +	 */
> > > > > > +	__u64 *sampling_rates;
> > > > >
> > > > > This should be written as a flexible array as follows:
> > > > I used a pointer instead of a flexible array as I didn't want any field
> > > > after reserved fields. But since flexible array fields don't have any
> > > > storage space allocated unlike pointer, I will go ahead and change it to
> > > > a flexible array and move it to the end of the struct in the next patch
> > > > series.
> > > > >
> > > > >	__u64 sampling_rates[];
> > > > >
> > > > > So sampling rate array is just present at the end of the struct, there
> > > > > should be no separate pointer here in the struct.
> > > > >
> > > > >	https://en.wikipedia.org/wiki/Flexible_array_member
> > > > >
> > > > > Also we need to document what units the sampling rates are in. So something
> > > > > like "Sampling rates are specified in number of cycles of the reference
> > > > > clock".
> > > > >
> > > > > So we have decided not to use nanoseconds (so sampling period rather than
> > > > > sampling rate)? Any particular reason for that? Though I am ok either way.
> > > >
> > > > I decided to use GPU cycles instead of nanoseconds as using GPU cycles
> > > > will be more future proof to the uAPI. I also received feedback that
> > > > there are other interfaces in the driver that use GPU cycles instead of
> > > > nanoseconds, and therefore to be consistent, using GPU cycles may
> > > > better.
> > > > >
> > > > > > +
> > > > > > +	/** @reserved: Reserved */
> > > > > > +	__u64 reserved[5];
> > > > >
> > > > > Because flexible arrays must be the last field in a structure, this
> > > > > reserved field should be moved before num_sampling_rates field.
> > > > Will move to the end of the structure in the next patch series.
> > > > >
> > > > > > +};
> > > > > > +
> > > > > >  #if defined(__cplusplus)
> > > > > >  }
> > > > > >  #endif
> > > > > > --
> > > > > > 2.47.0

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

* Re: [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling
  2024-12-19 16:27       ` Dixit, Ashutosh
@ 2024-12-19 20:29         ` Harish Chegondi
  2024-12-19 20:53           ` Raag Jadav
  2024-12-19 20:54           ` Dixit, Ashutosh
  0 siblings, 2 replies; 28+ messages in thread
From: Harish Chegondi @ 2024-12-19 20:29 UTC (permalink / raw)
  To: Dixit, Ashutosh
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Thu, Dec 19, 2024 at 08:27:56AM -0800, Dixit, Ashutosh wrote:
> On Wed, 18 Dec 2024 14:51:34 -0800, Harish Chegondi wrote:
> >
> > On Tue, Dec 17, 2024 at 12:35:15PM -0800, Dixit, Ashutosh wrote:
> > > On Tue, 17 Dec 2024 01:46:52 -0800, Harish Chegondi wrote:
> > > >
> > >
> > > Hi Harish,
> > >
> > > Only reviewing the uapi once again.
> > >
> > > > A user space consumer for this feature is Mesa.
> > > >
> > > > Mesa PR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30142
> > >
> > > Mesa PR should be in the cover letter, not in the patch itself. And we'll
> > > need to eventually show that the Mesa PR is consuming all aspects of the
> > > uapi being introduced.
> > Okay, will fix in the next patch series. Mesa PR still need some uAPI
> > changes I made in this patch series.
> > >
> > > >
> > > > v6: Change the input sampling rate to GPU cycles instead of
> > > >     GPU cycles multiplier.
> > >
> > > Note that if your series is v6 each patch in the series is not necessarily
> > > v6. A patch can be v2 e.g. So you should capture the version and changelog
> > > of each patch separately.
> > Makes sense. But how would the reviewers know if a patch v2 in a series
> > v6 has been updated?
> 
> They can check, say in v7 if the patch has gone from v2 to v3. And anyway
> reviewers need to be aware of what is going on. There should be no
> significant changes to the patch after a R-b, otherwise typically the patch
> will change and it versions increment.
> 
> With what you are doing, the patch will go from v6 to v7 even if there are
> no changes to the patch.
When I do a git format-patch, I specify the --subject-prefix="PATCH version".
Since this is a patch series, all the patches in the series will be
assigned the new version even though I don't change some of the patches
in the series. Is there a way I can specify the version for individual patches?
> 
> > >
> > > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > > index f62689ca861a..4ee3b04a1bb5 100644
> > > > --- a/include/uapi/drm/xe_drm.h
> > > > +++ b/include/uapi/drm/xe_drm.h
> > > > @@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence {
> > > >  enum drm_xe_observation_type {
> > > >	/** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */
> > > >	DRM_XE_OBSERVATION_TYPE_OA,
> > > > +	/** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */
> > > > +	DRM_XE_OBSERVATION_TYPE_EU_STALL,
> > > >  };
> > > >
> > > >  /**
> > > > @@ -1729,6 +1731,45 @@ struct drm_xe_oa_stream_info {
> > > >	__u64 reserved[3];
> > > >  };
> > > >
> > > > +/**
> > > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids.
> > > > + *
> > > > + * These properties are passed to the driver at open as a chain of
> > > > + * @drm_xe_ext_set_property structures with @property set to these
> > > > + * properties' enums and @value set to the corresponding values of these
> > > > + * properties. @drm_xe_user_extension base.name should be set to
> > > > + * @DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY.
> > > > + *
> > > > + * With the file descriptor obtained from open, user space must enable
> > > > + * the EU stall stream fd with @DRM_XE_OBSERVATION_IOCTL_ENABLE before
> > > > + * calling read(). read() returns number of bytes of EU stall data read
> > > > + * from the EU stall data buffer or an error. One of the errors returned
> > >
> > > No need to explain what read() returns, read() is a system call, user can
> > > read the read man page.
> > >
> > > > + * from read is -EIO which indicates HW dropped data due to full buffer.
> > >
> > > Just say "EIO errno from read() indicates data loss due to buffer
> > > overflow".
> > >
> > > Also, -EIO is not returned to userspace, errno is set for userspace.
> > >
> > > > + *
> > > > + */
> > > > +enum drm_xe_eu_stall_property_id {
> > > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY		0
> > > > +	/**
> > > > +	 * @DRM_XE_EU_STALL_PROP_GT_ID: GT ID of the GT on which
> > >
> > > @gt_id
> > >
> > > > +	 * EU stall data will be captured.
> > > > +	 */
> > > > +	DRM_XE_EU_STALL_PROP_GT_ID = 1,
> > > > +
> > > > +	/**
> > > > +	 * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate
> > > > +	 * in GPU cycles. Valid values are:
> > > > +	 * 251, 251x2, 251x3, 251x4, 251x5, 251x6 and 251x7.
> > >
> > > This 251 stuff needs to go, as was already mentioned the last
> > > time. Something like:
> > >
> > > "@DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate in GPU cycles, from
> > > @sampling_rates in struct @drm_xe_query_eu_stall".
> > Will change.
> > >
> > > > +	 */
> > > > +	DRM_XE_EU_STALL_PROP_SAMPLE_RATE,
> > > > +
> > > > +	/**
> > > > +	 * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of
> > > > +	 * EU stall data rows to be present in the kernel buffer for
> > > > +	 * poll() to set POLLIN (data present).
> > > > +	 */
> > > > +	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
> > >
> > > We called this DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS for OA. So maybe
> > > DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS? Or WAIT_REPORT_COUNT? Not sure what
> > > EVENT is referring to?
> > Here is EVENT is referring to POLLIN (new EU stall data in the buffer)
> > from poll(). This property would specify the minimum EU stall data
> > records to be present in the buffer for poll() to set POLLIN.
> 
> Note that above I said use EIO errno, not -EIO return code? The reason for
> that is that this is userspace facing file, to be consumed by
> userspace. Userspace doesn't know what POLLIN/EVENT mean, those things are

Userspace knows POLLIN - https://man7.org/linux/man-pages/man2/poll.2.html

> internal to the kernel implemenation and kernel API's. So these need to be
> changed too. Here is the example from OA for this property:
> 
> 	/**
> 	 * @DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS: Number of reports to wait
> 	 * for before unblocking poll or read
> 	 */
> 	DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS,
> 
> So here there is no mention of kernel implementation/API's, only about user
> threads getting unblocked. And anyway there are no events to userspace
> kernel is sending.
If I remember correctly, the name event report count was suggested by
the user space folks. I can change it so it is consistent with the term
used in OA to DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS.
> 
> > >
> > > > +};systemctl start gdm3
> >
> > > > +
> > > >  #if defined(__cplusplus)
> > > >  }
> > > >  #endif
> > > > --
> > > > 2.47.0
> > > >
> > >
> > > Ashutosh
> > Thank you
> > Harish.
> >

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

* Re: [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling
  2024-12-19 20:29         ` Harish Chegondi
@ 2024-12-19 20:53           ` Raag Jadav
  2024-12-19 20:54           ` Dixit, Ashutosh
  1 sibling, 0 replies; 28+ messages in thread
From: Raag Jadav @ 2024-12-19 20:53 UTC (permalink / raw)
  To: Harish Chegondi
  Cc: Dixit, Ashutosh, intel-xe, james.ausmus, felix.j.degrood,
	matias.a.cabral, joshua.santosh.ranjan, shubham.kumar,
	matthew.d.roper, matthew.olson

On Thu, Dec 19, 2024 at 12:29:30PM -0800, Harish Chegondi wrote:
> On Thu, Dec 19, 2024 at 08:27:56AM -0800, Dixit, Ashutosh wrote:
> > On Wed, 18 Dec 2024 14:51:34 -0800, Harish Chegondi wrote:
> > >
> > > On Tue, Dec 17, 2024 at 12:35:15PM -0800, Dixit, Ashutosh wrote:
> > > > On Tue, 17 Dec 2024 01:46:52 -0800, Harish Chegondi wrote:
> > > > >
> > > >
> > > > Hi Harish,
> > > >
> > > > Only reviewing the uapi once again.
> > > >
> > > > > A user space consumer for this feature is Mesa.
> > > > >
> > > > > Mesa PR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30142
> > > >
> > > > Mesa PR should be in the cover letter, not in the patch itself. And we'll
> > > > need to eventually show that the Mesa PR is consuming all aspects of the
> > > > uapi being introduced.
> > > Okay, will fix in the next patch series. Mesa PR still need some uAPI
> > > changes I made in this patch series.
> > > >
> > > > >
> > > > > v6: Change the input sampling rate to GPU cycles instead of
> > > > >     GPU cycles multiplier.
> > > >
> > > > Note that if your series is v6 each patch in the series is not necessarily
> > > > v6. A patch can be v2 e.g. So you should capture the version and changelog
> > > > of each patch separately.
> > > Makes sense. But how would the reviewers know if a patch v2 in a series
> > > v6 has been updated?
> > 
> > They can check, say in v7 if the patch has gone from v2 to v3. And anyway
> > reviewers need to be aware of what is going on. There should be no
> > significant changes to the patch after a R-b, otherwise typically the patch
> > will change and it versions increment.
> > 
> > With what you are doing, the patch will go from v6 to v7 even if there are
> > no changes to the patch.
> When I do a git format-patch, I specify the --subject-prefix="PATCH version".
> Since this is a patch series, all the patches in the series will be
> assigned the new version even though I don't change some of the patches
> in the series. Is there a way I can specify the version for individual patches?

https://kernelnewbies.org/FirstKernelPatch -> "Versioning patchsets"

Raag

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

* Re: [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling
  2024-12-19 20:29         ` Harish Chegondi
  2024-12-19 20:53           ` Raag Jadav
@ 2024-12-19 20:54           ` Dixit, Ashutosh
  1 sibling, 0 replies; 28+ messages in thread
From: Dixit, Ashutosh @ 2024-12-19 20:54 UTC (permalink / raw)
  To: Harish Chegondi
  Cc: intel-xe, james.ausmus, felix.j.degrood, matias.a.cabral,
	joshua.santosh.ranjan, shubham.kumar, matthew.d.roper,
	matthew.olson

On Thu, 19 Dec 2024 12:29:30 -0800, Harish Chegondi wrote:
>
> On Thu, Dec 19, 2024 at 08:27:56AM -0800, Dixit, Ashutosh wrote:
> > On Wed, 18 Dec 2024 14:51:34 -0800, Harish Chegondi wrote:
> > >
> > > On Tue, Dec 17, 2024 at 12:35:15PM -0800, Dixit, Ashutosh wrote:
> > > > On Tue, 17 Dec 2024 01:46:52 -0800, Harish Chegondi wrote:
> > > > >
> > > >
> > > > Hi Harish,
> > > >
> > > > Only reviewing the uapi once again.
> > > >
> > > > > A user space consumer for this feature is Mesa.
> > > > >
> > > > > Mesa PR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30142
> > > >
> > > > Mesa PR should be in the cover letter, not in the patch itself. And we'll
> > > > need to eventually show that the Mesa PR is consuming all aspects of the
> > > > uapi being introduced.
> > > Okay, will fix in the next patch series. Mesa PR still need some uAPI
> > > changes I made in this patch series.
> > > >
> > > > >
> > > > > v6: Change the input sampling rate to GPU cycles instead of
> > > > >     GPU cycles multiplier.
> > > >
> > > > Note that if your series is v6 each patch in the series is not necessarily
> > > > v6. A patch can be v2 e.g. So you should capture the version and changelog
> > > > of each patch separately.
> > > Makes sense. But how would the reviewers know if a patch v2 in a series
> > > v6 has been updated?
> >
> > They can check, say in v7 if the patch has gone from v2 to v3. And anyway
> > reviewers need to be aware of what is going on. There should be no
> > significant changes to the patch after a R-b, otherwise typically the patch
> > will change and it versions increment.
> >
> > With what you are doing, the patch will go from v6 to v7 even if there are
> > no changes to the patch.
> When I do a git format-patch, I specify the --subject-prefix="PATCH version".
> Since this is a patch series, all the patches in the series will be
> assigned the new version even though I don't change some of the patches
> in the series. Is there a way I can specify the version for individual patches?

I do everything manually. However, looking at the patches in:

https://patchwork.freedesktop.org/series/137870/

Matt Brost seems to be doing what you are doing, so that should be ok too.

> >
> > > >
> > > > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> > > > > index f62689ca861a..4ee3b04a1bb5 100644
> > > > > --- a/include/uapi/drm/xe_drm.h
> > > > > +++ b/include/uapi/drm/xe_drm.h
> > > > > @@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence {
> > > > >  enum drm_xe_observation_type {
> > > > >	/** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */
> > > > >	DRM_XE_OBSERVATION_TYPE_OA,
> > > > > +	/** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */
> > > > > +	DRM_XE_OBSERVATION_TYPE_EU_STALL,
> > > > >  };
> > > > >
> > > > >  /**
> > > > > @@ -1729,6 +1731,45 @@ struct drm_xe_oa_stream_info {
> > > > >	__u64 reserved[3];
> > > > >  };
> > > > >
> > > > > +/**
> > > > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids.
> > > > > + *
> > > > > + * These properties are passed to the driver at open as a chain of
> > > > > + * @drm_xe_ext_set_property structures with @property set to these
> > > > > + * properties' enums and @value set to the corresponding values of these
> > > > > + * properties. @drm_xe_user_extension base.name should be set to
> > > > > + * @DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY.
> > > > > + *
> > > > > + * With the file descriptor obtained from open, user space must enable
> > > > > + * the EU stall stream fd with @DRM_XE_OBSERVATION_IOCTL_ENABLE before
> > > > > + * calling read(). read() returns number of bytes of EU stall data read
> > > > > + * from the EU stall data buffer or an error. One of the errors returned
> > > >
> > > > No need to explain what read() returns, read() is a system call, user can
> > > > read the read man page.
> > > >
> > > > > + * from read is -EIO which indicates HW dropped data due to full buffer.
> > > >
> > > > Just say "EIO errno from read() indicates data loss due to buffer
> > > > overflow".
> > > >
> > > > Also, -EIO is not returned to userspace, errno is set for userspace.
> > > >
> > > > > + *
> > > > > + */
> > > > > +enum drm_xe_eu_stall_property_id {
> > > > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY		0
> > > > > +	/**
> > > > > +	 * @DRM_XE_EU_STALL_PROP_GT_ID: GT ID of the GT on which
> > > >
> > > > @gt_id
> > > >
> > > > > +	 * EU stall data will be captured.
> > > > > +	 */
> > > > > +	DRM_XE_EU_STALL_PROP_GT_ID = 1,
> > > > > +
> > > > > +	/**
> > > > > +	 * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate
> > > > > +	 * in GPU cycles. Valid values are:
> > > > > +	 * 251, 251x2, 251x3, 251x4, 251x5, 251x6 and 251x7.
> > > >
> > > > This 251 stuff needs to go, as was already mentioned the last
> > > > time. Something like:
> > > >
> > > > "@DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate in GPU cycles, from
> > > > @sampling_rates in struct @drm_xe_query_eu_stall".
> > > Will change.
> > > >
> > > > > +	 */
> > > > > +	DRM_XE_EU_STALL_PROP_SAMPLE_RATE,
> > > > > +
> > > > > +	/**
> > > > > +	 * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of
> > > > > +	 * EU stall data rows to be present in the kernel buffer for
> > > > > +	 * poll() to set POLLIN (data present).
> > > > > +	 */
> > > > > +	DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT,
> > > >
> > > > We called this DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS for OA. So maybe
> > > > DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS? Or WAIT_REPORT_COUNT? Not sure what
> > > > EVENT is referring to?
> > > Here is EVENT is referring to POLLIN (new EU stall data in the buffer)
> > > from poll(). This property would specify the minimum EU stall data
> > > records to be present in the buffer for poll() to set POLLIN.
> >
> > Note that above I said use EIO errno, not -EIO return code? The reason for
> > that is that this is userspace facing file, to be consumed by
> > userspace. Userspace doesn't know what POLLIN/EVENT mean, those things are
>
> Userspace knows POLLIN - https://man7.org/linux/man-pages/man2/poll.2.html

Ah ok. And poll has events too. Though we need to cover both the
non-blocking as well as blocking read cases. Blocking read does not set
POLLIN.

>
> > internal to the kernel implemenation and kernel API's. So these need to be
> > changed too. Here is the example from OA for this property:
> >
> >	/**
> >	 * @DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS: Number of reports to wait
> >	 * for before unblocking poll or read
> >	 */
> >	DRM_XE_OA_PROPERTY_WAIT_NUM_REPORTS,
> >
> > So here there is no mention of kernel implementation/API's, only about user
> > threads getting unblocked. And anyway there are no events to userspace
> > kernel is sending.
>
> If I remember correctly, the name event report count was suggested by
> the user space folks. I can change it so it is consistent with the term
> used in OA to DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS.
>
> >
> > > >
> > > > > +};systemctl start gdm3
> > >
> > > > > +
> > > > >  #if defined(__cplusplus)
> > > > >  }
> > > > >  #endif
> > > > > --
> > > > > 2.47.0
> > > > >
> > > >
> > > > Ashutosh
> > > Thank you
> > > Harish.
> > >

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

end of thread, other threads:[~2024-12-19 20:54 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-17  9:46 [PATCH v6 0/7] Add support for EU stall sampling Harish Chegondi
2024-12-17  9:46 ` [PATCH v6 1/7] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask Harish Chegondi
2024-12-17  9:46 ` [PATCH v6 2/7] drm/xe/uapi: Introduce API for EU stall sampling Harish Chegondi
2024-12-17 20:35   ` Dixit, Ashutosh
2024-12-18 22:51     ` Harish Chegondi
2024-12-19 16:27       ` Dixit, Ashutosh
2024-12-19 20:29         ` Harish Chegondi
2024-12-19 20:53           ` Raag Jadav
2024-12-19 20:54           ` Dixit, Ashutosh
2024-12-17  9:46 ` [PATCH v6 3/7] drm/xe/eustall: Implement EU stall sampling APIs for Xe_HPC Harish Chegondi
2024-12-17  9:46 ` [PATCH v6 4/7] drm/xe/eustall: Return -EIO error from read() if HW drops data Harish Chegondi
2024-12-17  9:46 ` [PATCH v6 5/7] drm/xe/eustall: Add EU stall sampling support for Xe2 Harish Chegondi
2024-12-17  9:46 ` [PATCH v6 6/7] drm/xe/uapi: Add a device query to get EU stall sampling information Harish Chegondi
2024-12-17 20:07   ` Dixit, Ashutosh
2024-12-18 23:24     ` Harish Chegondi
2024-12-19 16:36       ` Dixit, Ashutosh
2024-12-19 20:04         ` Harish Chegondi
2024-12-19 20:15           ` Dixit, Ashutosh
2024-12-19 20:19             ` Dixit, Ashutosh
2024-12-17  9:46 ` [PATCH v6 7/7] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi
2024-12-17 15:35 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork
2024-12-17 15:35 ` ✗ CI.checkpatch: warning " Patchwork
2024-12-17 15:37 ` ✓ CI.KUnit: success " Patchwork
2024-12-17 15:55 ` ✓ CI.Build: " Patchwork
2024-12-17 15:57 ` ✗ CI.Hooks: failure " Patchwork
2024-12-17 15:58 ` ✓ CI.checksparse: success " Patchwork
2024-12-17 16:32 ` ✓ Xe.CI.BAT: " Patchwork
2024-12-18  0:47 ` ✗ Xe.CI.Full: failure " 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).