* [PATCH v12 0/8] Add support for EU stall sampling
@ 2025-02-26 1:47 Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 1/8] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask Harish Chegondi
` (16 more replies)
0 siblings, 17 replies; 23+ messages in thread
From: Harish Chegondi @ 2025-02-26 1:47 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi,
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
New IGT tests for EU stall sampling are being added:
https://patchwork.freedesktop.org/series/143030/
This patch series has undergone basic testing with the new IGT tests.
Issues that need investigation:
1. Blocked reads with small user buffers may be blocked even with EU
stall data in the kernel buffer as a previous read has set pollin to
false even when kernel buffer has data that could be read but the user
buffer is too small to read all the data.
Thank You.
v12 a. Move check for EU stall support to a header file
b. Move 'goto exit_drop;' to the next if statement
v11 a. Lock optimization
b. Moved around code as per review feedback
v10 a. Fixed error rewinding code
b. Used cancel_delayed_work_sync() instead of flush_delayed_work()
c. Replaced per xecore lock with a lock for all the xecore buffers
d. Remove function description for static functions.
e. Use extension number while parsing chain of extensions.
f. Moved code around as per review feedback
v9: a. Split the big patch in v8 into two patches
b. Moved all drop data handling code into one patch
c. Several other code improvements as mentioned in the patches
v8: a. Used div_u64() instead of / to fix 32-bit build issue.
b. Changed copyright year in new files to 2025.
c. Renamed struct drm_xe_eu_stall_data_pvc to struct xe_eu_stall_data_pvc
d. Renamed struct drm_xe_eu_stall_data_xe2 to struct xe_eu_stall_data_xe2
v7: a. Renamed input property DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT
to DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS to be consistent with
OA. Renamed the corresponding internal variables.
b. Fixed some commit messages based on review feedback.
c. Changed sampling_rates from a pointer to flexible array.
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)
Test-with: cover.1739901972.git.harish.chegondi@intel.com
Reviewed-by: Ben Olson <matthew.olson@intel.com>
Acked-by: Felix Degrood <felix.j.degrood@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Harish Chegondi (8):
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: Add support to init, enable and disable EU stall
sampling
drm/xe/eustall: Add support to read() and poll() EU stall data
drm/xe/eustall: Add support to handle dropped EU stall 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 | 960 +++++++++++++++++++++
drivers/gpu/drm/xe/xe_eu_stall.h | 24 +
drivers/gpu/drm/xe/xe_gt.c | 5 +
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 | 30 +
drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
include/uapi/drm/xe_drm.h | 74 ++
12 files changed, 1197 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.48.1
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v12 1/8] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
@ 2025-02-26 1:47 ` Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 2/8] drm/xe/uapi: Introduce API for EU stall sampling Harish Chegondi
` (15 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Harish Chegondi @ 2025-02-26 1:47 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi,
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.
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
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.48.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v12 2/8] drm/xe/uapi: Introduce API for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 1/8] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask Harish Chegondi
@ 2025-02-26 1:47 ` Harish Chegondi
2025-04-04 17:55 ` Kees Cook
2025-02-26 1:47 ` [PATCH v12 3/8] drm/xe/eustall: Add support to init, enable and disable " Harish Chegondi
` (14 subsequent siblings)
16 siblings, 1 reply; 23+ messages in thread
From: Harish Chegondi @ 2025-02-26 1:47 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi,
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().
v11: Changed a couple of variables in struct eu_stall_open_properties
from unsigned int to int.
v10: Use extension number while parsing chain of extensions.
Remove function description for static functions.
Move code around as per review feedback.
v9: Changed some u32 to unsigned int.
Moved some code around as per review feedback from v8.
v8: Used div_u64 instead of / to fix 32-bit build issue.
Changed copyright year in xe_eu_stall.c/h to 2025.
v7: Renamed input property DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT
to DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS to be consistent with
OA. Renamed the corresponding internal variables.
Fixed some commit messages based on review feedback.
v6: Change the input sampling rate to GPU cycles instead of
GPU cycles multiplier.
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@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 | 218 ++++++++++++++++++++++++++++
drivers/gpu/drm/xe/xe_eu_stall.h | 14 ++
drivers/gpu/drm/xe/xe_observation.c | 14 ++
include/uapi/drm/xe_drm.h | 38 +++++
5 files changed, 285 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 ffc836fa8e60..4fb3a4a336fd 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_exec_queue.o \
xe_execlist.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..62a92aa161e8
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -0,0 +1,218 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include <linux/anon_inodes.h>
+#include <linux/fs.h>
+#include <linux/poll.h>
+#include <linux/types.h>
+
+#include <uapi/drm/xe_drm.h>
+
+#include "xe_device.h"
+#include "xe_eu_stall.h"
+#include "xe_gt_printk.h"
+#include "xe_gt_topology.h"
+#include "xe_macros.h"
+#include "xe_observation.h"
+
+/**
+ * struct eu_stall_open_properties - EU stall sampling properties received
+ * from user space at open.
+ * @sampling_rate_mult: EU stall sampling rate multiplier.
+ * HW will sample every (sampling_rate_mult x 251) cycles.
+ * @wait_num_reports: Minimum number of EU stall data reports to unblock poll().
+ * @gt: GT on which EU stall data will be captured.
+ */
+struct eu_stall_open_properties {
+ int sampling_rate_mult;
+ int wait_num_reports;
+ struct xe_gt *gt;
+};
+
+static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value,
+ struct eu_stall_open_properties *props)
+{
+ value = div_u64(value, 251);
+ if (value == 0 || value > 7) {
+ drm_dbg(&xe->drm, "Invalid EU stall sampling rate %llu\n", value);
+ return -EINVAL;
+ }
+ props->sampling_rate_mult = value;
+ return 0;
+}
+
+static int set_prop_eu_stall_wait_num_reports(struct xe_device *xe, u64 value,
+ struct eu_stall_open_properties *props)
+{
+ props->wait_num_reports = 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_WAIT_NUM_REPORTS] = set_prop_eu_stall_wait_num_reports,
+ [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,
+};
+
+#define MAX_USER_EXTENSIONS 5
+static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension,
+ int ext_number, struct eu_stall_open_properties *props)
+{
+ u64 __user *address = u64_to_user_ptr(extension);
+ struct drm_xe_user_extension ext;
+ int err;
+ u32 idx;
+
+ if (XE_IOCTL_DBG(xe, ext_number >= MAX_USER_EXTENSIONS))
+ return -E2BIG;
+
+ err = __copy_from_user(&ext, address, sizeof(ext));
+ if (XE_IOCTL_DBG(xe, err))
+ return -EFAULT;
+
+ if (XE_IOCTL_DBG(xe, ext.pad) ||
+ XE_IOCTL_DBG(xe, ext.name >= ARRAY_SIZE(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, ++ext_number, props);
+
+ return 0;
+}
+
+/*
+ * Userspace must enable the EU stall stream with DRM_XE_OBSERVATION_IOCTL_ENABLE
+ * before calling read().
+ */
+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;
+}
+
+static __poll_t xe_eu_stall_stream_poll(struct file *file, poll_table *wait)
+{
+ __poll_t ret = 0;
+
+ return ret;
+}
+
+static long xe_eu_stall_stream_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+{
+ return 0;
+}
+
+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;
+
+ if (!has_eu_stall_sampling_support(xe)) {
+ drm_dbg(&xe->drm, "EU stall monitoring is not supported on this platform\n");
+ return -ENODEV;
+ }
+
+ if (xe_observation_paranoid && !perfmon_capable()) {
+ drm_dbg(&xe->drm, "Insufficient privileges for EU stall monitoring\n");
+ return -EACCES;
+ }
+
+ ret = xe_eu_stall_user_extensions(xe, data, 0, &props);
+ if (ret)
+ return ret;
+
+ if (!props.gt) {
+ drm_dbg(&xe->drm, "GT ID not provided for EU stall sampling\n");
+ return -EINVAL;
+ }
+
+ 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..c1aef8adac6e
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_eu_stall.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef __XE_EU_STALL_H__
+#define __XE_EU_STALL_H__
+
+#include "xe_gt_types.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..5011d0736644 100644
--- a/drivers/gpu/drm/xe/xe_observation.c
+++ b/drivers/gpu/drm/xe/xe_observation.c
@@ -8,6 +8,7 @@
#include <uapi/drm/xe_drm.h>
+#include "xe_eu_stall.h"
#include "xe_oa.h"
#include "xe_observation.h"
@@ -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 892f54d3aa09..95cb9e65540b 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -1496,6 +1496,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,
};
/**
@@ -1848,6 +1850,42 @@ enum drm_xe_pxp_session_type {
/* ID of the protected content session managed by Xe when PXP is active */
#define DRM_XE_PXP_HWDRM_DEFAULT_SESSION 0xf
+/**
+ * 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(). EIO errno from read() 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.
+ */
+ DRM_XE_EU_STALL_PROP_SAMPLE_RATE,
+
+ /**
+ * @DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS: Minimum number of
+ * EU stall data reports to be present in the kernel buffer
+ * before unblocking a blocked poll or read.
+ */
+ DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS,
+};
+
#if defined(__cplusplus)
}
#endif
--
2.48.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v12 3/8] drm/xe/eustall: Add support to init, enable and disable EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 1/8] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 2/8] drm/xe/uapi: Introduce API for EU stall sampling Harish Chegondi
@ 2025-02-26 1:47 ` Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 4/8] drm/xe/eustall: Add support to read() and poll() EU stall data Harish Chegondi
` (13 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Harish Chegondi @ 2025-02-26 1:47 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi,
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.
v11: Move stream->xecore_buf alloc to xe_eu_stall_data_buf_alloc().
Register xe_eu_stall_fini() with devm_add_action_or_reset()
instead of calling it from xe_gt_fini().
Changed a couple of variables in struct xe_eu_stall_data_stream
from unsigned int to int.
v10: Fixed error rewinding code
Moved code around as per review feedback
v9: Moved structure definitions from xe_eu_stall.h to xe_eu_stall.c
Moved read and poll implementations to the next patch
Used xe_bo_create_pin_map_at_aligned instead of xe_bo_create_pin_map
Changed lock names as per review feedback
Moved drop data handling into a subsequent patch
Moved code around as per review feedback
v8: Updated copyright year in xe_eu_stall_regs.h to 2025.
Renamed struct drm_xe_eu_stall_data_pvc to struct xe_eu_stall_data_pvc
since it is a local structure.
v6: Fix buffer wrap around over write bug (Matt Olson)
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
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 | 378 ++++++++++++++++++++-
drivers/gpu/drm/xe/xe_eu_stall.h | 1 +
drivers/gpu/drm/xe/xe_gt.c | 5 +
drivers/gpu/drm/xe/xe_gt_types.h | 3 +
5 files changed, 409 insertions(+), 7 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..c53f57fdde65
--- /dev/null
+++ b/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 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 62a92aa161e8..2e7d00f8ff40 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -8,14 +8,52 @@
#include <linux/poll.h>
#include <linux/types.h>
+#include <drm/drm_drv.h>
#include <uapi/drm/xe_drm.h>
+#include "xe_bo.h"
#include "xe_device.h"
#include "xe_eu_stall.h"
+#include "xe_force_wake.h"
+#include "xe_gt_mcr.h"
#include "xe_gt_printk.h"
#include "xe_gt_topology.h"
#include "xe_macros.h"
#include "xe_observation.h"
+#include "xe_pm.h"
+
+#include "regs/xe_eu_stall_regs.h"
+#include "regs/xe_gt_regs.h"
+
+static size_t per_xecore_buf_size = SZ_512K;
+
+struct per_xecore_buf {
+ /* Buffer vaddr */
+ u8 *vaddr;
+ /* Write pointer */
+ u32 write;
+ /* Read pointer */
+ u32 read;
+};
+
+struct xe_eu_stall_data_stream {
+ bool enabled;
+ int wait_num_reports;
+ int sampling_rate_mult;
+ size_t data_record_size;
+ size_t per_xecore_buf_size;
+
+ struct xe_gt *gt;
+ struct xe_bo *bo;
+ struct per_xecore_buf *xecore_buf;
+};
+
+struct xe_eu_stall_gt {
+ /* Lock to protect stream */
+ struct mutex stream_lock;
+ /* EU stall data stream */
+ struct xe_eu_stall_data_stream *stream;
+};
/**
* struct eu_stall_open_properties - EU stall sampling properties received
@@ -31,6 +69,88 @@ struct eu_stall_open_properties {
struct xe_gt *gt;
};
+/*
+ * EU stall data format for PVC
+ */
+struct xe_eu_stall_data_pvc {
+ __u64 ip_addr:29; /* Bits 0 to 28 */
+ __u64 active_count:8; /* Bits 29 to 36 */
+ __u64 other_count:8; /* Bits 37 to 44 */
+ __u64 control_count:8; /* Bits 45 to 52 */
+ __u64 pipestall_count:8; /* Bits 53 to 60 */
+ __u64 send_count:8; /* Bits 61 to 68 */
+ __u64 dist_acc_count:8; /* Bits 69 to 76 */
+ __u64 sbid_count:8; /* Bits 77 to 84 */
+ __u64 sync_count:8; /* Bits 85 to 92 */
+ __u64 inst_fetch_count:8; /* Bits 93 to 100 */
+ __u64 unused_bits:27;
+ __u64 unused[6];
+} __packed;
+
+static size_t xe_eu_stall_data_record_size(struct xe_device *xe)
+{
+ size_t record_size = 0;
+
+ if (xe->info.platform == XE_PVC)
+ record_size = sizeof(struct xe_eu_stall_data_pvc);
+
+ xe_assert(xe, is_power_of_2(record_size));
+
+ return record_size;
+}
+
+/**
+ * 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 u32 num_data_rows(u32 data_size)
+{
+ return data_size >> 6;
+}
+
+static void xe_eu_stall_fini(void *arg)
+{
+ struct xe_gt *gt = arg;
+
+ mutex_destroy(>->eu_stall->stream_lock);
+ kfree(gt->eu_stall);
+}
+
+/**
+ * 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)
+{
+ struct xe_device *xe = gt_to_xe(gt);
+ int ret;
+
+ gt->eu_stall = kzalloc(sizeof(*gt->eu_stall), GFP_KERNEL);
+ if (!gt->eu_stall) {
+ ret = -ENOMEM;
+ goto exit;
+ }
+
+ mutex_init(>->eu_stall->stream_lock);
+
+ ret = devm_add_action_or_reset(xe->drm.dev, xe_eu_stall_fini, gt);
+ if (ret)
+ goto exit_free;
+
+ return 0;
+exit_free:
+ mutex_destroy(>->eu_stall->stream_lock);
+ kfree(gt->eu_stall);
+exit:
+ return ret;
+}
+
static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value,
struct eu_stall_open_properties *props)
{
@@ -140,6 +260,135 @@ static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf,
return ret;
}
+static void xe_eu_stall_stream_free(struct xe_eu_stall_data_stream *stream)
+{
+ struct xe_gt *gt = stream->gt;
+
+ gt->eu_stall->stream = NULL;
+ kfree(stream);
+}
+
+static void xe_eu_stall_data_buf_destroy(struct xe_eu_stall_data_stream *stream)
+{
+ xe_bo_unpin_map_no_vm(stream->bo);
+ kfree(stream->xecore_buf);
+}
+
+static int xe_eu_stall_data_buf_alloc(struct xe_eu_stall_data_stream *stream,
+ u16 last_xecore)
+{
+ struct xe_tile *tile = stream->gt->tile;
+ struct xe_bo *bo;
+ u32 size;
+
+ stream->xecore_buf = kcalloc(last_xecore, sizeof(*stream->xecore_buf), GFP_KERNEL);
+ if (!stream->xecore_buf)
+ return -ENOMEM;
+
+ size = stream->per_xecore_buf_size * last_xecore;
+
+ bo = xe_bo_create_pin_map_at_aligned(tile->xe, tile, NULL,
+ size, ~0ull, ttm_bo_type_kernel,
+ XE_BO_FLAG_SYSTEM | XE_BO_FLAG_GGTT, SZ_64);
+ if (IS_ERR(bo)) {
+ kfree(stream->xecore_buf);
+ return PTR_ERR(bo);
+ }
+
+ XE_WARN_ON(!IS_ALIGNED(xe_bo_ggtt_addr(bo), SZ_64));
+ stream->bo = bo;
+
+ return 0;
+}
+
+static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
+{
+ u32 write_ptr_reg, write_ptr, read_ptr_reg, reg_value;
+ struct per_xecore_buf *xecore_buf;
+ struct xe_gt *gt = stream->gt;
+ u16 group, instance;
+ unsigned int fw_ref;
+ int xecore;
+
+ /* 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");
+ xe_pm_runtime_put(gt_to_xe(gt));
+ return -ETIMEDOUT;
+ }
+
+ 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);
+ read_ptr_reg = REG_FIELD_PREP(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, write_ptr);
+ read_ptr_reg = _MASKED_FIELD(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, read_ptr_reg);
+ /* Initialize the read pointer to the write pointer */
+ xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT1, read_ptr_reg, group, instance);
+ write_ptr <<= 6;
+ write_ptr &= (stream->per_xecore_buf_size << 1) - 1;
+ xecore_buf = &stream->xecore_buf[xecore];
+ xecore_buf->write = write_ptr;
+ xecore_buf->read = write_ptr;
+ }
+ 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,
+ stream->sampling_rate_mult));
+ xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_CTRL, reg_value);
+ /* GGTT addresses can never be > 32 bits */
+ xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE_UPPER, 0);
+ reg_value = xe_bo_ggtt_addr(stream->bo);
+ reg_value |= REG_FIELD_PREP(XEHPC_EUSTALL_BASE_XECORE_BUF_SZ,
+ stream->per_xecore_buf_size / SZ_256K);
+ reg_value |= XEHPC_EUSTALL_BASE_ENABLE_SAMPLING;
+ xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value);
+
+ return 0;
+}
+
+static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
+ struct eu_stall_open_properties *props)
+{
+ unsigned int max_wait_num_reports, xecore, last_xecore, num_xecores;
+ struct per_xecore_buf *xecore_buf;
+ struct xe_gt *gt = stream->gt;
+ xe_dss_mask_t all_xecores;
+ u16 group, instance;
+ u32 vaddr_offset;
+ int ret;
+
+ bitmap_or(all_xecores, gt->fuse_topo.g_dss_mask, gt->fuse_topo.c_dss_mask,
+ XE_MAX_DSS_FUSE_BITS);
+ num_xecores = bitmap_weight(all_xecores, XE_MAX_DSS_FUSE_BITS);
+ last_xecore = xe_gt_topology_mask_last_dss(all_xecores) + 1;
+
+ max_wait_num_reports = num_data_rows(per_xecore_buf_size * num_xecores);
+ if (props->wait_num_reports == 0 || props->wait_num_reports > max_wait_num_reports) {
+ xe_gt_dbg(gt, "Invalid EU stall event report count %u\n",
+ props->wait_num_reports);
+ xe_gt_dbg(gt, "Minimum event report count is 1, maximum is %u\n",
+ max_wait_num_reports);
+ return -EINVAL;
+ }
+ stream->per_xecore_buf_size = per_xecore_buf_size;
+ stream->sampling_rate_mult = props->sampling_rate_mult;
+ stream->wait_num_reports = props->wait_num_reports;
+ stream->data_record_size = xe_eu_stall_data_record_size(gt_to_xe(gt));
+
+ ret = xe_eu_stall_data_buf_alloc(stream, last_xecore);
+ if (ret)
+ return ret;
+
+ for_each_dss_steering(xecore, gt, 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;
+ }
+ return 0;
+}
+
static __poll_t xe_eu_stall_stream_poll(struct file *file, poll_table *wait)
{
__poll_t ret = 0;
@@ -147,13 +396,75 @@ static __poll_t xe_eu_stall_stream_poll(struct file *file, poll_table *wait)
return ret;
}
-static long xe_eu_stall_stream_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+static int xe_eu_stall_enable_locked(struct xe_eu_stall_data_stream *stream)
+{
+ int ret = 0;
+
+ if (stream->enabled)
+ return ret;
+
+ stream->enabled = true;
+
+ ret = xe_eu_stall_stream_enable(stream);
+ return ret;
+}
+
+static int xe_eu_stall_disable_locked(struct xe_eu_stall_data_stream *stream)
{
+ struct xe_gt *gt = stream->gt;
+
+ if (!stream->enabled)
+ return 0;
+
+ stream->enabled = false;
+
+ xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, 0);
+
+ xe_force_wake_put(gt_to_fw(gt), XE_FW_RENDER);
+ xe_pm_runtime_put(gt_to_xe(gt));
+
return 0;
}
+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:
+ return xe_eu_stall_enable_locked(stream);
+ case DRM_XE_OBSERVATION_IOCTL_DISABLE:
+ return xe_eu_stall_disable_locked(stream);
+ }
+
+ return -EINVAL;
+}
+
+static long xe_eu_stall_stream_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+{
+ struct xe_eu_stall_data_stream *stream = file->private_data;
+ struct xe_gt *gt = stream->gt;
+ long ret;
+
+ mutex_lock(>->eu_stall->stream_lock);
+ ret = xe_eu_stall_stream_ioctl_locked(stream, cmd, arg);
+ mutex_unlock(>->eu_stall->stream_lock);
+
+ return ret;
+}
+
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;
+
+ drm_dev_put(>->tile->xe->drm);
+
+ mutex_lock(>->eu_stall->stream_lock);
+ xe_eu_stall_disable_locked(stream);
+ xe_eu_stall_data_buf_destroy(stream);
+ xe_eu_stall_stream_free(stream);
+ mutex_unlock(>->eu_stall->stream_lock);
+
return 0;
}
@@ -169,7 +480,56 @@ 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;
+}
+
+static int xe_eu_stall_stream_open_locked(struct drm_device *dev,
+ struct eu_stall_open_properties *props,
+ struct drm_file *file)
+{
+ struct xe_eu_stall_data_stream *stream;
+ struct xe_gt *gt = props->gt;
+ unsigned long f_flags = 0;
+ int ret, stream_fd;
+
+ /* 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_free;
+ }
+
+ 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_destroy;
+ }
+
+ /* Take a reference on the driver that will be kept with stream_fd
+ * until its release.
+ */
+ drm_dev_get(>->tile->xe->drm);
+
+ return stream_fd;
+
+err_destroy:
+ xe_eu_stall_data_buf_destroy(stream);
+err_free:
+ xe_eu_stall_stream_free(stream);
+ return ret;
}
/**
@@ -189,7 +549,7 @@ int xe_eu_stall_stream_open(struct drm_device *dev, u64 data, struct drm_file *f
{
struct xe_device *xe = to_xe_device(dev);
struct eu_stall_open_properties props = {};
- int ret, stream_fd;
+ int ret;
if (!has_eu_stall_sampling_support(xe)) {
drm_dbg(&xe->drm, "EU stall monitoring is not supported on this platform\n");
@@ -201,6 +561,10 @@ int xe_eu_stall_stream_open(struct drm_device *dev, u64 data, struct drm_file *f
return -EACCES;
}
+ /* Initialize and set default values */
+ props.wait_num_reports = 1;
+ props.sampling_rate_mult = 4;
+
ret = xe_eu_stall_user_extensions(xe, data, 0, &props);
if (ret)
return ret;
@@ -210,9 +574,9 @@ int xe_eu_stall_stream_open(struct drm_device *dev, u64 data, struct drm_file *f
return -EINVAL;
}
- 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);
+ mutex_lock(&props.gt->eu_stall->stream_lock);
+ ret = xe_eu_stall_stream_open_locked(dev, &props, file);
+ mutex_unlock(&props.gt->eu_stall->stream_lock);
- 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 c1aef8adac6e..24e215b840c0 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.h
+++ b/drivers/gpu/drm/xe/xe_eu_stall.h
@@ -8,6 +8,7 @@
#include "xe_gt_types.h"
+int xe_eu_stall_init(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 650a0ee56e97..5bd8dfdce300 100644
--- a/drivers/gpu/drm/xe/xe_gt.c
+++ b/drivers/gpu/drm/xe/xe_gt.c
@@ -19,6 +19,7 @@
#include "xe_bb.h"
#include "xe_bo.h"
#include "xe_device.h"
+#include "xe_eu_stall.h"
#include "xe_exec_queue.h"
#include "xe_execlist.h"
#include "xe_force_wake.h"
@@ -613,6 +614,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
--
2.48.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v12 4/8] drm/xe/eustall: Add support to read() and poll() EU stall data
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (2 preceding siblings ...)
2025-02-26 1:47 ` [PATCH v12 3/8] drm/xe/eustall: Add support to init, enable and disable " Harish Chegondi
@ 2025-02-26 1:47 ` Harish Chegondi
2025-04-16 9:22 ` Matthew Auld
2025-02-26 1:47 ` [PATCH v12 5/8] drm/xe/eustall: Add support to handle dropped " Harish Chegondi
` (12 subsequent siblings)
16 siblings, 1 reply; 23+ messages in thread
From: Harish Chegondi @ 2025-02-26 1:47 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi,
Harish Chegondi
Implement the EU stall sampling APIs to read() and poll() EU stall data.
A work function 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.
v11: Used gt->eu_stall->stream_lock instead of stream->buf_lock.
Removed read and write offsets from trace and added read size.
Moved workqueue from struct xe_eu_stall_data_stream to
struct xe_eu_stall_gt.
v10: Used cancel_delayed_work_sync() instead of flush_delayed_work()
Replaced per xecore lock with a lock for all the xecore buffers
Code movement and optimizations as per review feedback
v9: New patch split from the previous patch.
Used *_delayed_work functions instead of hrtimer
Addressed the review feedback in read and poll functions
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
drivers/gpu/drm/xe/xe_eu_stall.c | 267 ++++++++++++++++++++++++++++++-
drivers/gpu/drm/xe/xe_trace.h | 30 ++++
2 files changed, 294 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index 2e7d00f8ff40..e82a6ebfe979 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -21,10 +21,13 @@
#include "xe_macros.h"
#include "xe_observation.h"
#include "xe_pm.h"
+#include "xe_trace.h"
#include "regs/xe_eu_stall_regs.h"
#include "regs/xe_gt_regs.h"
+#define POLL_PERIOD_MS 5
+
static size_t per_xecore_buf_size = SZ_512K;
struct per_xecore_buf {
@@ -37,15 +40,18 @@ struct per_xecore_buf {
};
struct xe_eu_stall_data_stream {
+ bool pollin;
bool enabled;
int wait_num_reports;
int sampling_rate_mult;
+ wait_queue_head_t poll_wq;
size_t data_record_size;
size_t per_xecore_buf_size;
struct xe_gt *gt;
struct xe_bo *bo;
struct per_xecore_buf *xecore_buf;
+ struct delayed_work buf_poll_work;
};
struct xe_eu_stall_gt {
@@ -53,6 +59,8 @@ struct xe_eu_stall_gt {
struct mutex stream_lock;
/* EU stall data stream */
struct xe_eu_stall_data_stream *stream;
+ /* Workqueue to schedule buffer pointers polling work */
+ struct workqueue_struct *buf_ptr_poll_wq;
};
/**
@@ -114,6 +122,7 @@ static void xe_eu_stall_fini(void *arg)
{
struct xe_gt *gt = arg;
+ destroy_workqueue(gt->eu_stall->buf_ptr_poll_wq);
mutex_destroy(>->eu_stall->stream_lock);
kfree(gt->eu_stall);
}
@@ -139,11 +148,19 @@ int xe_eu_stall_init(struct xe_gt *gt)
mutex_init(>->eu_stall->stream_lock);
+ gt->eu_stall->buf_ptr_poll_wq = alloc_ordered_workqueue("xe_eu_stall", 0);
+ if (!gt->eu_stall->buf_ptr_poll_wq) {
+ ret = -ENOMEM;
+ goto exit_free;
+ }
+
ret = devm_add_action_or_reset(xe->drm.dev, xe_eu_stall_fini, gt);
if (ret)
- goto exit_free;
+ goto exit_destroy;
return 0;
+exit_destroy:
+ destroy_workqueue(gt->eu_stall->buf_ptr_poll_wq);
exit_free:
mutex_destroy(>->eu_stall->stream_lock);
kfree(gt->eu_stall);
@@ -248,6 +265,172 @@ 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;
+
+ if (read_ptr == write_ptr)
+ goto exit;
+
+ 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;
+exit:
+ return size;
+}
+
+/**
+ * eu_stall_data_buf_poll - Poll 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_poll(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 per_xecore_buf *xecore_buf;
+ struct xe_gt *gt = stream->gt;
+ bool min_data_present = false;
+ u16 group, instance;
+ unsigned int xecore;
+
+ mutex_lock(>->eu_stall->stream_lock);
+ for_each_dss_steering(xecore, gt, group, instance) {
+ xecore_buf = &stream->xecore_buf[xecore];
+ 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 (!min_data_present) {
+ total_data += buf_data_size(buf_size, read_ptr, write_ptr);
+ if (num_data_rows(total_data) >= stream->wait_num_reports)
+ min_data_present = true;
+ }
+ xecore_buf->write = write_ptr;
+ }
+ mutex_unlock(>->eu_stall->stream_lock);
+
+ return min_data_present;
+}
+
+static int xe_eu_stall_data_buf_read(struct xe_eu_stall_data_stream *stream,
+ char __user *buf, size_t count,
+ size_t *total_data_size, struct xe_gt *gt,
+ u16 group, u16 instance, unsigned int xecore)
+{
+ size_t read_data_size, copy_size, buf_size;
+ u32 read_ptr_reg, read_ptr, write_ptr;
+ u8 *xecore_start_vaddr, *read_vaddr;
+ struct per_xecore_buf *xecore_buf;
+ u32 read_offset, write_offset;
+
+ /* 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];
+ xecore_start_vaddr = xecore_buf->vaddr;
+ read_ptr = xecore_buf->read;
+ write_ptr = xecore_buf->write;
+ buf_size = stream->per_xecore_buf_size;
+
+ read_data_size = buf_data_size(buf_size, read_ptr, write_ptr);
+ /* Read only the data that the user space buffer can accommodate */
+ read_data_size = min_t(size_t, count - *total_data_size, read_data_size);
+ if (read_data_size == 0)
+ return 0;
+
+ read_offset = read_ptr & (buf_size - 1);
+ write_offset = write_ptr & (buf_size - 1);
+ read_vaddr = xecore_start_vaddr + read_offset;
+
+ if (write_offset > read_offset) {
+ if (copy_to_user(buf + *total_data_size, read_vaddr, read_data_size))
+ return -EFAULT;
+ } else {
+ if (read_data_size >= buf_size - read_offset)
+ copy_size = buf_size - read_offset;
+ else
+ copy_size = read_data_size;
+ if (copy_to_user(buf + *total_data_size, read_vaddr, copy_size))
+ return -EFAULT;
+ if (copy_to_user(buf + *total_data_size + copy_size,
+ xecore_start_vaddr, read_data_size - copy_size))
+ return -EFAULT;
+ }
+
+ *total_data_size += read_data_size;
+ read_ptr += read_data_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 = _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->read = read_ptr;
+ trace_xe_eu_stall_data_read(group, instance, read_ptr, write_ptr,
+ read_data_size, *total_data_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
+ * @file: An xe EU stall data stream file
+ * @buf: destination buffer given by userspace
+ * @count: the number of bytes userspace wants to read
+ *
+ * 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)
+{
+ struct xe_gt *gt = stream->gt;
+ size_t total_size = 0;
+ u16 group, instance;
+ unsigned int xecore;
+ int ret = 0;
+
+ 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)
+ break;
+ }
+ return total_size ?: (ret ?: -EAGAIN);
+}
+
/*
* Userspace must enable the EU stall stream with DRM_XE_OBSERVATION_IOCTL_ENABLE
* before calling read().
@@ -255,7 +438,41 @@ 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, aligned_count;
+
+ aligned_count = ALIGN_DOWN(count, stream->data_record_size);
+ if (aligned_count == 0)
+ return -EINVAL;
+
+ 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 {
+ ret = wait_event_interruptible(stream->poll_wq, stream->pollin);
+ if (ret)
+ return -EINTR;
+
+ mutex_lock(>->eu_stall->stream_lock);
+ ret = xe_eu_stall_stream_read_locked(stream, file, buf, aligned_count);
+ mutex_unlock(>->eu_stall->stream_lock);
+ } while (ret == -EAGAIN);
+ } else {
+ mutex_lock(>->eu_stall->stream_lock);
+ ret = xe_eu_stall_stream_read_locked(stream, file, buf, aligned_count);
+ mutex_unlock(>->eu_stall->stream_lock);
+ }
+
+ /*
+ * This may not work correctly if the user buffer is very small.
+ * We don't want to block the next read() when there is data in the buffer
+ * now, but couldn't be accommodated in the small user buffer.
+ */
+ stream->pollin = false;
return ret;
}
@@ -348,6 +565,21 @@ static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
return 0;
}
+static void eu_stall_data_buf_poll_work_fn(struct work_struct *work)
+{
+ struct xe_eu_stall_data_stream *stream =
+ container_of(work, typeof(*stream), buf_poll_work.work);
+ struct xe_gt *gt = stream->gt;
+
+ if (eu_stall_data_buf_poll(stream)) {
+ stream->pollin = true;
+ wake_up(&stream->poll_wq);
+ }
+ queue_delayed_work(gt->eu_stall->buf_ptr_poll_wq,
+ &stream->buf_poll_work,
+ msecs_to_jiffies(POLL_PERIOD_MS));
+}
+
static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
struct eu_stall_open_properties *props)
{
@@ -372,6 +604,9 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
max_wait_num_reports);
return -EINVAL;
}
+
+ init_waitqueue_head(&stream->poll_wq);
+ INIT_DELAYED_WORK(&stream->buf_poll_work, eu_stall_data_buf_poll_work_fn);
stream->per_xecore_buf_size = per_xecore_buf_size;
stream->sampling_rate_mult = props->sampling_rate_mult;
stream->wait_num_reports = props->wait_num_reports;
@@ -389,15 +624,35 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
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;
+}
+
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(>->eu_stall->stream_lock);
+ ret = xe_eu_stall_stream_poll_locked(stream, file, wait);
+ mutex_unlock(>->eu_stall->stream_lock);
return ret;
}
static int xe_eu_stall_enable_locked(struct xe_eu_stall_data_stream *stream)
{
+ struct xe_gt *gt = stream->gt;
int ret = 0;
if (stream->enabled)
@@ -406,6 +661,10 @@ static int xe_eu_stall_enable_locked(struct xe_eu_stall_data_stream *stream)
stream->enabled = true;
ret = xe_eu_stall_stream_enable(stream);
+
+ queue_delayed_work(gt->eu_stall->buf_ptr_poll_wq,
+ &stream->buf_poll_work,
+ msecs_to_jiffies(POLL_PERIOD_MS));
return ret;
}
@@ -420,6 +679,8 @@ static int xe_eu_stall_disable_locked(struct xe_eu_stall_data_stream *stream)
xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, 0);
+ cancel_delayed_work_sync(&stream->buf_poll_work);
+
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_trace.h b/drivers/gpu/drm/xe/xe_trace.h
index d5281de04d54..b4a3577df70c 100644
--- a/drivers/gpu/drm/xe/xe_trace.h
+++ b/drivers/gpu/drm/xe/xe_trace.h
@@ -427,6 +427,36 @@ 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,
+ size_t read_size, size_t total_size),
+ TP_ARGS(slice, subslice,
+ read_ptr, write_ptr,
+ read_size, total_size),
+
+ TP_STRUCT__entry(__field(u8, slice)
+ __field(u8, subslice)
+ __field(u32, read_ptr)
+ __field(u32, write_ptr)
+ __field(size_t, read_size)
+ __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_size = read_size;
+ __entry->total_size = total_size;
+ ),
+
+ TP_printk("slice: %u subslice: %u read ptr: 0x%x write ptr: 0x%x read size: %zu total read size: %zu",
+ __entry->slice, __entry->subslice,
+ __entry->read_ptr, __entry->write_ptr,
+ __entry->read_size, __entry->total_size)
+);
+
#endif
/* This part must be outside protection */
--
2.48.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v12 5/8] drm/xe/eustall: Add support to handle dropped EU stall data
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (3 preceding siblings ...)
2025-02-26 1:47 ` [PATCH v12 4/8] drm/xe/eustall: Add support to read() and poll() EU stall data Harish Chegondi
@ 2025-02-26 1:47 ` Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 6/8] drm/xe/eustall: Add EU stall sampling support for Xe2 Harish Chegondi
` (11 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Harish Chegondi @ 2025-02-26 1:47 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi,
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.
v12: Move 'goto exit_drop;' to the next
'if (read_data_size == 0)' statement.
v11: Clear drop bit even for empty data buffer as the data
was read from the buffer in the previous read.
v10: Reverted the changes back to v8:
Clear the drop bits only after reading the data.
v9: Move all data drop handling code to this patch
Clear all drop data bits before returning -EIO.
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
drivers/gpu/drm/xe/xe_eu_stall.c | 46 +++++++++++++++++++++++++++++++-
1 file changed, 45 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index e82a6ebfe979..ebda54ea8871 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -51,6 +51,10 @@ struct xe_eu_stall_data_stream {
struct xe_gt *gt;
struct xe_bo *bo;
struct per_xecore_buf *xecore_buf;
+ struct {
+ bool reported_to_user;
+ xe_dss_mask_t mask;
+ } data_drop;
struct delayed_work buf_poll_work;
};
@@ -330,6 +334,8 @@ static bool eu_stall_data_buf_poll(struct xe_eu_stall_data_stream *stream)
if (num_data_rows(total_data) >= stream->wait_num_reports)
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(>->eu_stall->stream_lock);
@@ -337,6 +343,16 @@ static bool eu_stall_data_buf_poll(struct xe_eu_stall_data_stream *stream)
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_data_size, struct xe_gt *gt,
@@ -365,7 +381,7 @@ static int xe_eu_stall_data_buf_read(struct xe_eu_stall_data_stream *stream,
/* Read only the data that the user space buffer can accommodate */
read_data_size = min_t(size_t, count - *total_data_size, read_data_size);
if (read_data_size == 0)
- return 0;
+ goto exit_drop;
read_offset = read_ptr & (buf_size - 1);
write_offset = write_ptr & (buf_size - 1);
@@ -397,6 +413,15 @@ static int xe_eu_stall_data_buf_read(struct xe_eu_stall_data_stream *stream,
xecore_buf->read = read_ptr;
trace_xe_eu_stall_data_read(group, instance, read_ptr, write_ptr,
read_data_size, *total_data_size);
+exit_drop:
+ /* Clear drop bit (if set) after any data was read or if the buffer was empty.
+ * Drop bit can be set even if the buffer is empty as the buffer may have been emptied
+ * in the previous read() and the data drop bit was set during the previous read().
+ */
+ if (test_bit(xecore, stream->data_drop.mask)) {
+ clear_dropped_eviction_line_bit(gt, group, instance);
+ clear_bit(xecore, stream->data_drop.mask);
+ }
return 0;
}
@@ -422,6 +447,16 @@ static ssize_t xe_eu_stall_stream_read_locked(struct xe_eu_stall_data_stream *st
unsigned int xecore;
int ret = 0;
+ 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;
+ }
+
for_each_dss_steering(xecore, gt, group, instance) {
ret = xe_eu_stall_data_buf_read(stream, buf, count, &total_size,
gt, group, instance, xecore);
@@ -434,6 +469,9 @@ static ssize_t xe_eu_stall_stream_read_locked(struct xe_eu_stall_data_stream *st
/*
* 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.
+ * -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)
@@ -538,6 +576,9 @@ static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
for_each_dss_steering(xecore, gt, group, instance) {
write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, group, instance);
+ /* Clear any drop bits set and not cleared in the previous session. */
+ if (write_ptr_reg & XEHPC_EUSTALL_REPORT_OVERFLOW_DROP)
+ clear_dropped_eviction_line_bit(gt, group, instance);
write_ptr = REG_FIELD_GET(XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK, write_ptr_reg);
read_ptr_reg = REG_FIELD_PREP(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, write_ptr);
read_ptr_reg = _MASKED_FIELD(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, read_ptr_reg);
@@ -549,6 +590,9 @@ static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
xecore_buf->write = write_ptr;
xecore_buf->read = write_ptr;
}
+ stream->data_drop.reported_to_user = false;
+ bitmap_zero(stream->data_drop.mask, XE_MAX_DSS_FUSE_BITS);
+
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,
--
2.48.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v12 6/8] drm/xe/eustall: Add EU stall sampling support for Xe2
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (4 preceding siblings ...)
2025-02-26 1:47 ` [PATCH v12 5/8] drm/xe/eustall: Add support to handle dropped " Harish Chegondi
@ 2025-02-26 1:47 ` Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 7/8] drm/xe/uapi: Add a device query to get EU stall sampling information Harish Chegondi
` (10 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Harish Chegondi @ 2025-02-26 1:47 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi,
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.
v10: Update comments as per review feedback
v9: Use GRAPHICS_VER() check instead of platform
v8: Renamed struct drm_xe_eu_stall_data_xe2 to struct xe_eu_stall_data_xe2
since it is a local structure.
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
drivers/gpu/drm/xe/xe_eu_stall.c | 35 +++++++++++++++++++++++++++++---
1 file changed, 32 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index ebda54ea8871..87f978373bd0 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -99,12 +99,35 @@ struct xe_eu_stall_data_pvc {
__u64 unused[6];
} __packed;
+/*
+ * EU stall data format for Xe2 arch GPUs (LNL, BMG).
+ */
+struct xe_eu_stall_data_xe2 {
+ __u64 ip_addr:29; /* Bits 0 to 28 */
+ __u64 tdr_count:8; /* Bits 29 to 36 */
+ __u64 other_count:8; /* Bits 37 to 44 */
+ __u64 control_count:8; /* Bits 45 to 52 */
+ __u64 pipestall_count:8; /* Bits 53 to 60 */
+ __u64 send_count:8; /* Bits 61 to 68 */
+ __u64 dist_acc_count:8; /* Bits 69 to 76 */
+ __u64 sbid_count:8; /* Bits 77 to 84 */
+ __u64 sync_count:8; /* Bits 85 to 92 */
+ __u64 inst_fetch_count:8; /* Bits 93 to 100 */
+ __u64 active_count:8; /* Bits 101 to 108 */
+ __u64 ex_id:3; /* Bits 109 to 111 */
+ __u64 end_flag:1; /* Bit 112 */
+ __u64 unused_bits:15;
+ __u64 unused[6];
+} __packed;
+
static size_t xe_eu_stall_data_record_size(struct xe_device *xe)
{
size_t record_size = 0;
if (xe->info.platform == XE_PVC)
record_size = sizeof(struct xe_eu_stall_data_pvc);
+ else if (GRAPHICS_VER(xe) >= 20)
+ record_size = sizeof(struct xe_eu_stall_data_xe2);
xe_assert(xe, is_power_of_2(record_size));
@@ -345,10 +368,16 @@ static bool eu_stall_data_buf_poll(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 Xe2 and later 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);
}
@@ -785,7 +814,7 @@ 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;
+ return xe->info.platform == XE_PVC || GRAPHICS_VER(xe) >= 20;
}
static int xe_eu_stall_stream_open_locked(struct drm_device *dev,
--
2.48.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v12 7/8] drm/xe/uapi: Add a device query to get EU stall sampling information
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (5 preceding siblings ...)
2025-02-26 1:47 ` [PATCH v12 6/8] drm/xe/eustall: Add EU stall sampling support for Xe2 Harish Chegondi
@ 2025-02-26 1:47 ` Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 8/8] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi
` (9 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Harish Chegondi @ 2025-02-26 1:47 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi,
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. New capability bits will be added for any new
functionality added later.
v12: Rename has_eu_stall_sampling_support() to
xe_eu_stall_supported_on_platform() and move it to header file.
v11: Check if EU stall sampling is supported on the platform.
v10: Change comments and variable names as per feedback
v9: Move reserved fields above num_sampling_rates in
struct drm_xe_query_eu_stall.
v7: Change sampling_rates from a pointer to flexible array.
v6: Include EU stall sampling rates information and
per XeCore buffer size in the query information.
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
---
drivers/gpu/drm/xe/xe_eu_stall.c | 48 +++++++++++++++++++++++++++-----
drivers/gpu/drm/xe/xe_eu_stall.h | 9 ++++++
drivers/gpu/drm/xe/xe_query.c | 43 ++++++++++++++++++++++++++++
include/uapi/drm/xe_drm.h | 40 ++++++++++++++++++++++++--
4 files changed, 131 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index 87f978373bd0..54a0d1f6a491 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -120,7 +120,46 @@ struct xe_eu_stall_data_xe2 {
__u64 unused[6];
} __packed;
-static size_t xe_eu_stall_data_record_size(struct xe_device *xe)
+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: Pointer to a u32 to return the number of sampling rates.
+ * @rates: double u64 pointer to point to an array of sampling rates.
+ *
+ * Stores the number of sampling rates and pointer to the array of
+ * sampling rates in the input pointers.
+ *
+ * Returns: Size of the EU stall sampling rates array.
+ */
+size_t xe_eu_stall_get_sampling_rates(u32 *num_rates, const u64 **rates)
+{
+ *num_rates = ARRAY_SIZE(eu_stall_sampling_rates);
+ *rates = eu_stall_sampling_rates;
+
+ return sizeof(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.
+ */
+size_t 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.
+ */
+size_t xe_eu_stall_data_record_size(struct xe_device *xe)
{
size_t record_size = 0;
@@ -812,11 +851,6 @@ static const struct file_operations fops_eu_stall = {
.compat_ioctl = xe_eu_stall_stream_ioctl,
};
-static inline bool has_eu_stall_sampling_support(struct xe_device *xe)
-{
- return xe->info.platform == XE_PVC || GRAPHICS_VER(xe) >= 20;
-}
-
static int xe_eu_stall_stream_open_locked(struct drm_device *dev,
struct eu_stall_open_properties *props,
struct drm_file *file)
@@ -885,7 +919,7 @@ int xe_eu_stall_stream_open(struct drm_device *dev, u64 data, struct drm_file *f
struct eu_stall_open_properties props = {};
int ret;
- if (!has_eu_stall_sampling_support(xe)) {
+ if (!xe_eu_stall_supported_on_platform(xe)) {
drm_dbg(&xe->drm, "EU stall monitoring is not supported on this platform\n");
return -ENODEV;
}
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h
index 24e215b840c0..ed9d0f233566 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.h
+++ b/drivers/gpu/drm/xe/xe_eu_stall.h
@@ -8,8 +8,17 @@
#include "xe_gt_types.h"
+size_t xe_eu_stall_get_per_xecore_buf_size(void);
+size_t xe_eu_stall_data_record_size(struct xe_device *xe);
+size_t xe_eu_stall_get_sampling_rates(u32 *num_rates, const u64 **rates);
+
int xe_eu_stall_init(struct xe_gt *gt);
int xe_eu_stall_stream_open(struct drm_device *dev,
u64 data,
struct drm_file *file);
+
+static inline bool xe_eu_stall_supported_on_platform(struct xe_device *xe)
+{
+ return xe->info.platform == XE_PVC || GRAPHICS_VER(xe) >= 20;
+}
#endif
diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index ebfae746f861..781dd21682e5 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -16,6 +16,7 @@
#include "regs/xe_gt_regs.h"
#include "xe_bo.h"
#include "xe_device.h"
+#include "xe_eu_stall.h"
#include "xe_exec_queue.h"
#include "xe_force_wake.h"
#include "xe_ggtt.h"
@@ -729,6 +730,47 @@ static int query_pxp_status(struct xe_device *xe, struct drm_xe_device_query *qu
return 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;
+ size_t size, array_size;
+ const u64 *rates;
+ u32 num_rates;
+ int ret;
+
+ if (!xe_eu_stall_supported_on_platform(xe)) {
+ drm_dbg(&xe->drm, "EU stall monitoring is not supported on this platform\n");
+ return -ENODEV;
+ }
+
+ array_size = xe_eu_stall_get_sampling_rates(&num_rates, &rates);
+ size = sizeof(struct drm_xe_query_eu_stall) + array_size;
+
+ if (query->size == 0) {
+ query->size = size;
+ return 0;
+ } else if (XE_IOCTL_DBG(xe, query->size != size)) {
+ return -EINVAL;
+ }
+
+ info = kzalloc(size, GFP_KERNEL);
+ if (!info)
+ return -ENOMEM;
+
+ info->num_sampling_rates = num_rates;
+ info->capabilities = DRM_XE_EU_STALL_CAPS_BASE;
+ info->record_size = xe_eu_stall_data_record_size(xe);
+ info->per_xecore_buf_size = xe_eu_stall_get_per_xecore_buf_size();
+ memcpy(info->sampling_rates, rates, array_size);
+
+ ret = copy_to_user(query_ptr, info, size);
+ kfree(info);
+
+ return ret ? -EFAULT : 0;
+}
+
static int (* const xe_query_funcs[])(struct xe_device *xe,
struct drm_xe_device_query *query) = {
query_engines,
@@ -741,6 +783,7 @@ static int (* const xe_query_funcs[])(struct xe_device *xe,
query_uc_fw_version,
query_oa_units,
query_pxp_status,
+ 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 95cb9e65540b..76a462fae05f 100644
--- a/include/uapi/drm/xe_drm.h
+++ b/include/uapi/drm/xe_drm.h
@@ -735,6 +735,7 @@ struct drm_xe_device_query {
#define DRM_XE_DEVICE_QUERY_UC_FW_VERSION 7
#define DRM_XE_DEVICE_QUERY_OA_UNITS 8
#define DRM_XE_DEVICE_QUERY_PXP_STATUS 9
+#define DRM_XE_DEVICE_QUERY_EU_STALL 10
/** @query: The type of data to query */
__u32 query;
@@ -1873,8 +1874,8 @@ enum drm_xe_eu_stall_property_id {
DRM_XE_EU_STALL_PROP_GT_ID = 1,
/**
- * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate
- * in GPU cycles.
+ * @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,
@@ -1886,6 +1887,41 @@ enum drm_xe_eu_stall_property_id {
DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS,
};
+/**
+ * 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: internal per XeCore buffer size */
+ __u64 per_xecore_buf_size;
+
+ /** @reserved: Reserved */
+ __u64 reserved[5];
+
+ /** @num_sampling_rates: Number of sampling rates in @sampling_rates array */
+ __u64 num_sampling_rates;
+
+ /**
+ * @sampling_rates: Flexible array of sampling rates
+ * sorted in the fastest to slowest order.
+ * Sampling rates are specified in GPU clock cycles.
+ */
+ __u64 sampling_rates[];
+};
+
#if defined(__cplusplus)
}
#endif
--
2.48.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v12 8/8] drm/xe/eustall: Add workaround 22016596838 which applies to PVC.
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (6 preceding siblings ...)
2025-02-26 1:47 ` [PATCH v12 7/8] drm/xe/uapi: Add a device query to get EU stall sampling information Harish Chegondi
@ 2025-02-26 1:47 ` Harish Chegondi
2025-02-26 1:52 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork
` (8 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Harish Chegondi @ 2025-02-26 1:47 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi,
Harish Chegondi
Add PVC workaround 22016596838 that disables EU DOP gating
during EU stall sampling.
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
drivers/gpu/drm/xe/xe_eu_stall.c | 10 ++++++++++
drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
2 files changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
index 54a0d1f6a491..88a92baf5c95 100644
--- a/drivers/gpu/drm/xe/xe_eu_stall.c
+++ b/drivers/gpu/drm/xe/xe_eu_stall.c
@@ -9,6 +9,7 @@
#include <linux/types.h>
#include <drm/drm_drv.h>
+#include <generated/xe_wa_oob.h>
#include <uapi/drm/xe_drm.h>
#include "xe_bo.h"
@@ -22,6 +23,7 @@
#include "xe_observation.h"
#include "xe_pm.h"
#include "xe_trace.h"
+#include "xe_wa.h"
#include "regs/xe_eu_stall_regs.h"
#include "regs/xe_gt_regs.h"
@@ -642,6 +644,10 @@ static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
return -ETIMEDOUT;
}
+ if (XE_WA(gt, 22016596838))
+ xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2,
+ _MASKED_BIT_ENABLE(DISABLE_DOP_GATING));
+
for_each_dss_steering(xecore, gt, group, instance) {
write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, group, instance);
/* Clear any drop bits set and not cleared in the previous session. */
@@ -793,6 +799,10 @@ static int xe_eu_stall_disable_locked(struct xe_eu_stall_data_stream *stream)
cancel_delayed_work_sync(&stream->buf_poll_work);
+ 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 228436532282..8e2cae7f7135 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.48.1
^ permalink raw reply related [flat|nested] 23+ messages in thread
* ✓ CI.Patch_applied: success for Add support for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (7 preceding siblings ...)
2025-02-26 1:47 ` [PATCH v12 8/8] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi
@ 2025-02-26 1:52 ` Patchwork
2025-02-26 1:53 ` ✗ CI.checkpatch: warning " Patchwork
` (7 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-02-26 1:52 UTC (permalink / raw)
To: Harish Chegondi; +Cc: intel-xe
== Series Details ==
Series: Add support for EU stall sampling
URL : https://patchwork.freedesktop.org/series/145443/
State : success
== Summary ==
=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 9527883f549b drm-tip: 2025y-02m-25d-23h-23m-11s 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: Add support to init, enable and disable EU stall sampling
Applying: drm/xe/eustall: Add support to read() and poll() EU stall data
Applying: drm/xe/eustall: Add support to handle dropped EU stall 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] 23+ messages in thread
* ✗ CI.checkpatch: warning for Add support for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (8 preceding siblings ...)
2025-02-26 1:52 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork
@ 2025-02-26 1:53 ` Patchwork
2025-02-26 1:54 ` ✓ CI.KUnit: success " Patchwork
` (6 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-02-26 1:53 UTC (permalink / raw)
To: Harish Chegondi; +Cc: intel-xe
== Series Details ==
Series: Add support for EU stall sampling
URL : https://patchwork.freedesktop.org/series/145443/
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
22f9cda3436b4fe965b5c5f31d2f2c1bcb483189
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit ede14a57e92b1da8491d55148eaa0d054692344b
Author: Harish Chegondi <harish.chegondi@intel.com>
Date: Tue Feb 25 17:47:12 2025 -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>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
+ /mt/dim checkpatch 9527883f549b856628618a497d153e515752b457 drm-intel
1aa9ee4c16b8 drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask
6311d451f94b drm/xe/uapi: Introduce API for EU stall sampling
-:62: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#62:
new file mode 100644
total: 0 errors, 1 warnings, 0 checks, 321 lines checked
695de8747bb6 drm/xe/eustall: Add support to init, enable and disable EU stall sampling
-:36: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#36:
new file mode 100644
total: 0 errors, 1 warnings, 0 checks, 501 lines checked
5e2906125ca0 drm/xe/eustall: Add support to read() and poll() EU stall data
11251598815f drm/xe/eustall: Add support to handle dropped EU stall data
3db0184b1f97 drm/xe/eustall: Add EU stall sampling support for Xe2
06fabc2ab6a3 drm/xe/uapi: Add a device query to get EU stall sampling information
ede14a57e92b drm/xe/eustall: Add workaround 22016596838 which applies to PVC.
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✓ CI.KUnit: success for Add support for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (9 preceding siblings ...)
2025-02-26 1:53 ` ✗ CI.checkpatch: warning " Patchwork
@ 2025-02-26 1:54 ` Patchwork
2025-02-26 2:10 ` ✓ CI.Build: " Patchwork
` (5 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-02-26 1:54 UTC (permalink / raw)
To: Harish Chegondi; +Cc: intel-xe
== Series Details ==
Series: Add support for EU stall sampling
URL : https://patchwork.freedesktop.org/series/145443/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[01:53:00] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[01:53:05] 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)
| ^~~~~~~~~~~~~~~~~
[01:53:31] Starting KUnit Kernel (1/1)...
[01:53:31] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[01:53:31] ================== guc_buf (11 subtests) ===================
[01:53:31] [PASSED] test_smallest
[01:53:31] [PASSED] test_largest
[01:53:31] [PASSED] test_granular
[01:53:31] [PASSED] test_unique
[01:53:31] [PASSED] test_overlap
[01:53:31] [PASSED] test_reusable
[01:53:31] [PASSED] test_too_big
[01:53:31] [PASSED] test_flush
[01:53:31] [PASSED] test_lookup
[01:53:31] [PASSED] test_data
[01:53:31] [PASSED] test_class
[01:53:31] ===================== [PASSED] guc_buf =====================
[01:53:31] =================== guc_dbm (7 subtests) ===================
[01:53:31] [PASSED] test_empty
[01:53:31] [PASSED] test_default
[01:53:31] ======================== test_size ========================
[01:53:31] [PASSED] 4
[01:53:31] [PASSED] 8
[01:53:31] [PASSED] 32
[01:53:31] [PASSED] 256
[01:53:31] ==================== [PASSED] test_size ====================
[01:53:31] ======================= test_reuse ========================
[01:53:31] [PASSED] 4
[01:53:31] [PASSED] 8
[01:53:31] [PASSED] 32
[01:53:31] [PASSED] 256
[01:53:31] =================== [PASSED] test_reuse ====================
[01:53:31] =================== test_range_overlap ====================
[01:53:31] [PASSED] 4
[01:53:31] [PASSED] 8
[01:53:31] [PASSED] 32
[01:53:31] [PASSED] 256
[01:53:31] =============== [PASSED] test_range_overlap ================
[01:53:31] =================== test_range_compact ====================
[01:53:31] [PASSED] 4
[01:53:31] [PASSED] 8
[01:53:31] [PASSED] 32
[01:53:31] [PASSED] 256
[01:53:31] =============== [PASSED] test_range_compact ================
[01:53:31] ==================== test_range_spare =====================
[01:53:31] [PASSED] 4
[01:53:31] [PASSED] 8
[01:53:31] [PASSED] 32
[01:53:31] [PASSED] 256
[01:53:31] ================ [PASSED] test_range_spare =================
[01:53:31] ===================== [PASSED] guc_dbm =====================
[01:53:31] =================== guc_idm (6 subtests) ===================
[01:53:31] [PASSED] bad_init
[01:53:31] [PASSED] no_init
[01:53:31] [PASSED] init_fini
[01:53:31] [PASSED] check_used
[01:53:31] [PASSED] check_quota
[01:53:31] [PASSED] check_all
[01:53:31] ===================== [PASSED] guc_idm =====================
[01:53:31] ================== no_relay (3 subtests) ===================
[01:53:31] [PASSED] xe_drops_guc2pf_if_not_ready
[01:53:31] [PASSED] xe_drops_guc2vf_if_not_ready
[01:53:31] [PASSED] xe_rejects_send_if_not_ready
[01:53:31] ==================== [PASSED] no_relay =====================
[01:53:31] ================== pf_relay (14 subtests) ==================
[01:53:31] [PASSED] pf_rejects_guc2pf_too_short
[01:53:31] [PASSED] pf_rejects_guc2pf_too_long
[01:53:31] [PASSED] pf_rejects_guc2pf_no_payload
[01:53:31] [PASSED] pf_fails_no_payload
[01:53:31] [PASSED] pf_fails_bad_origin
[01:53:31] [PASSED] pf_fails_bad_type
[01:53:31] [PASSED] pf_txn_reports_error
[01:53:31] [PASSED] pf_txn_sends_pf2guc
[01:53:31] [PASSED] pf_sends_pf2guc
[01:53:31] [SKIPPED] pf_loopback_nop
[01:53:31] [SKIPPED] pf_loopback_echo
[01:53:31] [SKIPPED] pf_loopback_fail
[01:53:31] [SKIPPED] pf_loopback_busy
[01:53:31] [SKIPPED] pf_loopback_retry
[01:53:31] ==================== [PASSED] pf_relay =====================
[01:53:31] ================== vf_relay (3 subtests) ===================
[01:53:31] [PASSED] vf_rejects_guc2vf_too_short
[01:53:31] [PASSED] vf_rejects_guc2vf_too_long
[01:53:31] [PASSED] vf_rejects_guc2vf_no_payload
[01:53:31] ==================== [PASSED] vf_relay =====================
[01:53:31] ================= pf_service (11 subtests) =================
[01:53:31] [PASSED] pf_negotiate_any
[01:53:31] [PASSED] pf_negotiate_base_match
[01:53:31] [PASSED] pf_negotiate_base_newer
[01:53:31] [PASSED] pf_negotiate_base_next
[01:53:31] [SKIPPED] pf_negotiate_base_older
[01:53:31] [PASSED] pf_negotiate_base_prev
[01:53:31] [PASSED] pf_negotiate_latest_match
[01:53:31] [PASSED] pf_negotiate_latest_newer
[01:53:31] [PASSED] pf_negotiate_latest_next
[01:53:31] [SKIPPED] pf_negotiate_latest_older
[01:53:31] [SKIPPED] pf_negotiate_latest_prev
[01:53:31] =================== [PASSED] pf_service ====================
[01:53:31] ===================== lmtt (1 subtest) =====================
[01:53:31] ======================== test_ops =========================
[01:53:31] [PASSED] 2-level
[01:53:31] [PASSED] multi-level
[01:53:31] ==================== [PASSED] test_ops =====================
[01:53:31] ====================== [PASSED] lmtt =======================
[01:53:31] =================== xe_mocs (2 subtests) ===================
[01:53:31] ================ xe_live_mocs_kernel_kunit ================
[01:53:31] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[01:53:31] ================ xe_live_mocs_reset_kunit =================
[01:53:31] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[01:53:31] ==================== [SKIPPED] xe_mocs =====================
[01:53:31] ================= xe_migrate (2 subtests) ==================
[01:53:31] ================= xe_migrate_sanity_kunit =================
[01:53:31] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[01:53:31] ================== xe_validate_ccs_kunit ==================
[01:53:31] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[01:53:31] =================== [SKIPPED] xe_migrate ===================
[01:53:31] ================== xe_dma_buf (1 subtest) ==================
[01:53:31] ==================== xe_dma_buf_kunit =====================
[01:53:31] ================ [SKIPPED] xe_dma_buf_kunit ================
[01:53:31] =================== [SKIPPED] xe_dma_buf ===================
[01:53:31] ================= xe_bo_shrink (1 subtest) =================
[01:53:31] =================== xe_bo_shrink_kunit ====================
[01:53:31] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[01:53:31] ================== [SKIPPED] xe_bo_shrink ==================
[01:53:31] ==================== xe_bo (2 subtests) ====================
[01:53:31] ================== xe_ccs_migrate_kunit ===================
[01:53:31] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
stty: 'standard input': Inappropriate ioctl for device
[01:53:31] ==================== xe_bo_evict_kunit ====================
[01:53:31] =============== [SKIPPED] xe_bo_evict_kunit ================
[01:53:31] ===================== [SKIPPED] xe_bo ======================
[01:53:31] ==================== args (11 subtests) ====================
[01:53:31] [PASSED] count_args_test
[01:53:31] [PASSED] call_args_example
[01:53:31] [PASSED] call_args_test
[01:53:31] [PASSED] drop_first_arg_example
[01:53:31] [PASSED] drop_first_arg_test
[01:53:31] [PASSED] first_arg_example
[01:53:31] [PASSED] first_arg_test
[01:53:31] [PASSED] last_arg_example
[01:53:31] [PASSED] last_arg_test
[01:53:31] [PASSED] pick_arg_example
[01:53:31] [PASSED] sep_comma_example
[01:53:31] ====================== [PASSED] args =======================
[01:53:31] =================== xe_pci (2 subtests) ====================
[01:53:31] [PASSED] xe_gmdid_graphics_ip
[01:53:31] [PASSED] xe_gmdid_media_ip
[01:53:31] ===================== [PASSED] xe_pci ======================
[01:53:31] =================== xe_rtp (2 subtests) ====================
[01:53:31] =============== xe_rtp_process_to_sr_tests ================
[01:53:31] [PASSED] coalesce-same-reg
[01:53:31] [PASSED] no-match-no-add
[01:53:31] [PASSED] match-or
[01:53:31] [PASSED] match-or-xfail
[01:53:31] [PASSED] no-match-no-add-multiple-rules
[01:53:31] [PASSED] two-regs-two-entries
[01:53:31] [PASSED] clr-one-set-other
[01:53:31] [PASSED] set-field
[01:53:31] [PASSED] conflict-duplicate
[01:53:31] [PASSED] conflict-not-disjoint
[01:53:31] [PASSED] conflict-reg-type
[01:53:31] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[01:53:31] ================== xe_rtp_process_tests ===================
[01:53:31] [PASSED] active1
[01:53:31] [PASSED] active2
[01:53:31] [PASSED] active-inactive
[01:53:31] [PASSED] inactive-active
[01:53:31] [PASSED] inactive-1st_or_active-inactive
[01:53:31] [PASSED] inactive-2nd_or_active-inactive
[01:53:31] [PASSED] inactive-last_or_active-inactive
[01:53:31] [PASSED] inactive-no_or_active-inactive
[01:53:31] ============== [PASSED] xe_rtp_process_tests ===============
[01:53:31] ===================== [PASSED] xe_rtp ======================
[01:53:31] ==================== xe_wa (1 subtest) =====================
[01:53:31] ======================== xe_wa_gt =========================
[01:53:31] [PASSED] TIGERLAKE (B0)
[01:53:31] [PASSED] DG1 (A0)
[01:53:31] [PASSED] DG1 (B0)
[01:53:31] [PASSED] ALDERLAKE_S (A0)
[01:53:31] [PASSED] ALDERLAKE_S (B0)
[01:53:31] [PASSED] ALDERLAKE_S (C0)
[01:53:31] [PASSED] ALDERLAKE_S (D0)
[01:53:31] [PASSED] ALDERLAKE_P (A0)
[01:53:31] [PASSED] ALDERLAKE_P (B0)
[01:53:31] [PASSED] ALDERLAKE_P (C0)
[01:53:31] [PASSED] ALDERLAKE_S_RPLS (D0)
[01:53:31] [PASSED] ALDERLAKE_P_RPLU (E0)
[01:53:31] [PASSED] DG2_G10 (C0)
[01:53:31] [PASSED] DG2_G11 (B1)
[01:53:31] [PASSED] DG2_G12 (A1)
[01:53:31] [PASSED] METEORLAKE (g:A0, m:A0)
[01:53:31] [PASSED] METEORLAKE (g:A0, m:A0)
[01:53:31] [PASSED] METEORLAKE (g:A0, m:A0)
[01:53:31] [PASSED] LUNARLAKE (g:A0, m:A0)
[01:53:31] [PASSED] LUNARLAKE (g:B0, m:A0)
[01:53:31] [PASSED] BATTLEMAGE (g:A0, m:A1)
[01:53:31] ==================== [PASSED] xe_wa_gt =====================
[01:53:31] ====================== [PASSED] xe_wa ======================
[01:53:31] ============================================================
[01:53:31] Testing complete. Ran 133 tests: passed: 117, skipped: 16
[01:53:31] Elapsed time: 30.488s total, 4.196s configuring, 26.026s building, 0.247s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[01:53:31] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[01:53:33] 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)
| ^~~~~~~~~~~~~~~~~
[01:53:54] Starting KUnit Kernel (1/1)...
[01:53:54] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[01:53:54] =========== drm_validate_clone_mode (2 subtests) ===========
[01:53:54] ============== drm_test_check_in_clone_mode ===============
[01:53:54] [PASSED] in_clone_mode
[01:53:54] [PASSED] not_in_clone_mode
[01:53:54] ========== [PASSED] drm_test_check_in_clone_mode ===========
[01:53:54] =============== drm_test_check_valid_clones ===============
[01:53:54] [PASSED] not_in_clone_mode
[01:53:54] [PASSED] valid_clone
[01:53:54] [PASSED] invalid_clone
[01:53:54] =========== [PASSED] drm_test_check_valid_clones ===========
[01:53:54] ============= [PASSED] drm_validate_clone_mode =============
[01:53:54] ============= drm_validate_modeset (1 subtest) =============
[01:53:54] [PASSED] drm_test_check_connector_changed_modeset
[01:53:54] ============== [PASSED] drm_validate_modeset ===============
[01:53:54] ================== drm_buddy (7 subtests) ==================
[01:53:54] [PASSED] drm_test_buddy_alloc_limit
[01:53:54] [PASSED] drm_test_buddy_alloc_optimistic
[01:53:54] [PASSED] drm_test_buddy_alloc_pessimistic
[01:53:54] [PASSED] drm_test_buddy_alloc_pathological
[01:53:54] [PASSED] drm_test_buddy_alloc_contiguous
[01:53:54] [PASSED] drm_test_buddy_alloc_clear
[01:53:54] [PASSED] drm_test_buddy_alloc_range_bias
[01:53:54] ==================== [PASSED] drm_buddy ====================
[01:53:54] ============= drm_cmdline_parser (40 subtests) =============
[01:53:54] [PASSED] drm_test_cmdline_force_d_only
[01:53:54] [PASSED] drm_test_cmdline_force_D_only_dvi
[01:53:54] [PASSED] drm_test_cmdline_force_D_only_hdmi
[01:53:54] [PASSED] drm_test_cmdline_force_D_only_not_digital
[01:53:54] [PASSED] drm_test_cmdline_force_e_only
[01:53:54] [PASSED] drm_test_cmdline_res
[01:53:54] [PASSED] drm_test_cmdline_res_vesa
[01:53:54] [PASSED] drm_test_cmdline_res_vesa_rblank
[01:53:54] [PASSED] drm_test_cmdline_res_rblank
[01:53:54] [PASSED] drm_test_cmdline_res_bpp
[01:53:54] [PASSED] drm_test_cmdline_res_refresh
[01:53:54] [PASSED] drm_test_cmdline_res_bpp_refresh
[01:53:54] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[01:53:54] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[01:53:54] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[01:53:54] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[01:53:54] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[01:53:54] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[01:53:54] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[01:53:54] [PASSED] drm_test_cmdline_res_margins_force_on
[01:53:54] [PASSED] drm_test_cmdline_res_vesa_margins
[01:53:54] [PASSED] drm_test_cmdline_name
[01:53:54] [PASSED] drm_test_cmdline_name_bpp
[01:53:54] [PASSED] drm_test_cmdline_name_option
[01:53:54] [PASSED] drm_test_cmdline_name_bpp_option
[01:53:54] [PASSED] drm_test_cmdline_rotate_0
[01:53:54] [PASSED] drm_test_cmdline_rotate_90
[01:53:54] [PASSED] drm_test_cmdline_rotate_180
[01:53:54] [PASSED] drm_test_cmdline_rotate_270
[01:53:54] [PASSED] drm_test_cmdline_hmirror
[01:53:54] [PASSED] drm_test_cmdline_vmirror
[01:53:54] [PASSED] drm_test_cmdline_margin_options
[01:53:54] [PASSED] drm_test_cmdline_multiple_options
[01:53:54] [PASSED] drm_test_cmdline_bpp_extra_and_option
[01:53:54] [PASSED] drm_test_cmdline_extra_and_option
[01:53:54] [PASSED] drm_test_cmdline_freestanding_options
[01:53:54] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[01:53:54] [PASSED] drm_test_cmdline_panel_orientation
[01:53:54] ================ drm_test_cmdline_invalid =================
[01:53:54] [PASSED] margin_only
[01:53:54] [PASSED] interlace_only
[01:53:54] [PASSED] res_missing_x
[01:53:54] [PASSED] res_missing_y
[01:53:54] [PASSED] res_bad_y
[01:53:54] [PASSED] res_missing_y_bpp
[01:53:54] [PASSED] res_bad_bpp
[01:53:54] [PASSED] res_bad_refresh
[01:53:54] [PASSED] res_bpp_refresh_force_on_off
[01:53:54] [PASSED] res_invalid_mode
[01:53:54] [PASSED] res_bpp_wrong_place_mode
[01:53:54] [PASSED] name_bpp_refresh
[01:53:54] [PASSED] name_refresh
[01:53:54] [PASSED] name_refresh_wrong_mode
[01:53:54] [PASSED] name_refresh_invalid_mode
[01:53:54] [PASSED] rotate_multiple
[01:53:54] [PASSED] rotate_invalid_val
[01:53:54] [PASSED] rotate_truncated
[01:53:54] [PASSED] invalid_option
[01:53:54] [PASSED] invalid_tv_option
[01:53:54] [PASSED] truncated_tv_option
[01:53:54] ============ [PASSED] drm_test_cmdline_invalid =============
[01:53:54] =============== drm_test_cmdline_tv_options ===============
[01:53:54] [PASSED] NTSC
[01:53:54] [PASSED] NTSC_443
[01:53:54] [PASSED] NTSC_J
[01:53:54] [PASSED] PAL
[01:53:54] [PASSED] PAL_M
[01:53:54] [PASSED] PAL_N
[01:53:54] [PASSED] SECAM
[01:53:54] [PASSED] MONO_525
[01:53:54] [PASSED] MONO_625
[01:53:54] =========== [PASSED] drm_test_cmdline_tv_options ===========
[01:53:54] =============== [PASSED] drm_cmdline_parser ================
[01:53:54] ========== drmm_connector_hdmi_init (20 subtests) ==========
[01:53:54] [PASSED] drm_test_connector_hdmi_init_valid
[01:53:54] [PASSED] drm_test_connector_hdmi_init_bpc_8
[01:53:54] [PASSED] drm_test_connector_hdmi_init_bpc_10
[01:53:54] [PASSED] drm_test_connector_hdmi_init_bpc_12
[01:53:54] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[01:53:54] [PASSED] drm_test_connector_hdmi_init_bpc_null
[01:53:54] [PASSED] drm_test_connector_hdmi_init_formats_empty
[01:53:54] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[01:53:54] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[01:53:54] [PASSED] supported_formats=0x9 yuv420_allowed=1
[01:53:54] [PASSED] supported_formats=0x9 yuv420_allowed=0
[01:53:54] [PASSED] supported_formats=0x3 yuv420_allowed=1
[01:53:54] [PASSED] supported_formats=0x3 yuv420_allowed=0
[01:53:54] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[01:53:54] [PASSED] drm_test_connector_hdmi_init_null_ddc
[01:53:54] [PASSED] drm_test_connector_hdmi_init_null_product
[01:53:54] [PASSED] drm_test_connector_hdmi_init_null_vendor
[01:53:54] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[01:53:54] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[01:53:54] [PASSED] drm_test_connector_hdmi_init_product_valid
[01:53:54] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[01:53:54] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[01:53:54] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[01:53:54] ========= drm_test_connector_hdmi_init_type_valid =========
[01:53:54] [PASSED] HDMI-A
[01:53:54] [PASSED] HDMI-B
[01:53:54] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[01:53:54] ======== drm_test_connector_hdmi_init_type_invalid ========
[01:53:54] [PASSED] Unknown
[01:53:54] [PASSED] VGA
[01:53:54] [PASSED] DVI-I
[01:53:54] [PASSED] DVI-D
[01:53:54] [PASSED] DVI-A
[01:53:54] [PASSED] Composite
[01:53:54] [PASSED] SVIDEO
[01:53:54] [PASSED] LVDS
[01:53:54] [PASSED] Component
[01:53:54] [PASSED] DIN
[01:53:54] [PASSED] DP
[01:53:54] [PASSED] TV
[01:53:54] [PASSED] eDP
[01:53:54] [PASSED] Virtual
[01:53:54] [PASSED] DSI
[01:53:54] [PASSED] DPI
[01:53:54] [PASSED] Writeback
[01:53:54] [PASSED] SPI
[01:53:54] [PASSED] USB
[01:53:54] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[01:53:54] ============ [PASSED] drmm_connector_hdmi_init =============
[01:53:54] ============= drmm_connector_init (3 subtests) =============
[01:53:54] [PASSED] drm_test_drmm_connector_init
[01:53:54] [PASSED] drm_test_drmm_connector_init_null_ddc
[01:53:54] ========= drm_test_drmm_connector_init_type_valid =========
[01:53:54] [PASSED] Unknown
[01:53:54] [PASSED] VGA
[01:53:54] [PASSED] DVI-I
[01:53:54] [PASSED] DVI-D
[01:53:54] [PASSED] DVI-A
[01:53:54] [PASSED] Composite
[01:53:54] [PASSED] SVIDEO
[01:53:54] [PASSED] LVDS
[01:53:54] [PASSED] Component
[01:53:54] [PASSED] DIN
[01:53:54] [PASSED] DP
[01:53:54] [PASSED] HDMI-A
[01:53:54] [PASSED] HDMI-B
[01:53:54] [PASSED] TV
[01:53:54] [PASSED] eDP
[01:53:54] [PASSED] Virtual
[01:53:54] [PASSED] DSI
[01:53:54] [PASSED] DPI
[01:53:54] [PASSED] Writeback
[01:53:54] [PASSED] SPI
[01:53:54] [PASSED] USB
[01:53:54] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[01:53:54] =============== [PASSED] drmm_connector_init ===============
[01:53:54] ========= drm_connector_dynamic_init (6 subtests) ==========
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_init
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_init_properties
[01:53:54] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[01:53:54] [PASSED] Unknown
[01:53:54] [PASSED] VGA
[01:53:54] [PASSED] DVI-I
[01:53:54] [PASSED] DVI-D
[01:53:54] [PASSED] DVI-A
[01:53:54] [PASSED] Composite
[01:53:54] [PASSED] SVIDEO
[01:53:54] [PASSED] LVDS
[01:53:54] [PASSED] Component
[01:53:54] [PASSED] DIN
[01:53:54] [PASSED] DP
[01:53:54] [PASSED] HDMI-A
[01:53:54] [PASSED] HDMI-B
[01:53:54] [PASSED] TV
[01:53:54] [PASSED] eDP
[01:53:54] [PASSED] Virtual
[01:53:54] [PASSED] DSI
[01:53:54] [PASSED] DPI
[01:53:54] [PASSED] Writeback
[01:53:54] [PASSED] SPI
[01:53:54] [PASSED] USB
[01:53:54] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[01:53:54] ======== drm_test_drm_connector_dynamic_init_name =========
[01:53:54] [PASSED] Unknown
[01:53:54] [PASSED] VGA
[01:53:54] [PASSED] DVI-I
[01:53:54] [PASSED] DVI-D
[01:53:54] [PASSED] DVI-A
[01:53:54] [PASSED] Composite
[01:53:54] [PASSED] SVIDEO
[01:53:54] [PASSED] LVDS
[01:53:54] [PASSED] Component
[01:53:54] [PASSED] DIN
[01:53:54] [PASSED] DP
[01:53:54] [PASSED] HDMI-A
[01:53:54] [PASSED] HDMI-B
[01:53:54] [PASSED] TV
[01:53:54] [PASSED] eDP
[01:53:54] [PASSED] Virtual
[01:53:54] [PASSED] DSI
[01:53:54] [PASSED] DPI
[01:53:54] [PASSED] Writeback
[01:53:54] [PASSED] SPI
[01:53:54] [PASSED] USB
[01:53:54] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[01:53:54] =========== [PASSED] drm_connector_dynamic_init ============
[01:53:54] ==== drm_connector_dynamic_register_early (4 subtests) =====
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[01:53:54] ====== [PASSED] drm_connector_dynamic_register_early =======
[01:53:54] ======= drm_connector_dynamic_register (7 subtests) ========
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[01:53:54] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[01:53:54] ========= [PASSED] drm_connector_dynamic_register ==========
[01:53:54] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[01:53:54] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[01:53:54] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[01:53:54] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[01:53:54] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[01:53:54] ========== drm_test_get_tv_mode_from_name_valid ===========
[01:53:54] [PASSED] NTSC
[01:53:54] [PASSED] NTSC-443
[01:53:54] [PASSED] NTSC-J
[01:53:54] [PASSED] PAL
[01:53:54] [PASSED] PAL-M
[01:53:54] [PASSED] PAL-N
[01:53:54] [PASSED] SECAM
[01:53:54] [PASSED] Mono
[01:53:54] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[01:53:54] [PASSED] drm_test_get_tv_mode_from_name_truncated
[01:53:54] ============ [PASSED] drm_get_tv_mode_from_name ============
[01:53:54] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[01:53:54] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[01:53:54] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[01:53:54] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[01:53:54] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[01:53:54] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[01:53:54] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[01:53:54] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[01:53:54] [PASSED] VIC 96
[01:53:54] [PASSED] VIC 97
[01:53:54] [PASSED] VIC 101
[01:53:54] [PASSED] VIC 102
[01:53:54] [PASSED] VIC 106
[01:53:54] [PASSED] VIC 107
[01:53:54] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[01:53:54] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[01:53:54] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[01:53:54] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[01:53:54] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[01:53:54] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[01:53:54] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[01:53:54] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[01:53:54] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[01:53:54] [PASSED] Automatic
[01:53:54] [PASSED] Full
[01:53:54] [PASSED] Limited 16:235
[01:53:54] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[01:53:54] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[01:53:54] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[01:53:54] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[01:53:54] === drm_test_drm_hdmi_connector_get_output_format_name ====
[01:53:54] [PASSED] RGB
[01:53:54] [PASSED] YUV 4:2:0
[01:53:54] [PASSED] YUV 4:2:2
[01:53:54] [PASSED] YUV 4:4:4
[01:53:54] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[01:53:54] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[01:53:54] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[01:53:54] ============= drm_damage_helper (21 subtests) ==============
[01:53:54] [PASSED] drm_test_damage_iter_no_damage
[01:53:54] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[01:53:54] [PASSED] drm_test_damage_iter_no_damage_src_moved
[01:53:54] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[01:53:54] [PASSED] drm_test_damage_iter_no_damage_not_visible
[01:53:54] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[01:53:54] [PASSED] drm_test_damage_iter_no_damage_no_fb
[01:53:54] [PASSED] drm_test_damage_iter_simple_damage
[01:53:54] [PASSED] drm_test_damage_iter_single_damage
[01:53:54] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[01:53:54] [PASSED] drm_test_damage_iter_single_damage_outside_src
[01:53:54] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[01:53:54] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[01:53:54] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[01:53:54] [PASSED] drm_test_damage_iter_single_damage_src_moved
[01:53:54] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[01:53:54] [PASSED] drm_test_damage_iter_damage
[01:53:54] [PASSED] drm_test_damage_iter_damage_one_intersect
[01:53:54] [PASSED] drm_test_damage_iter_damage_one_outside
[01:53:54] [PASSED] drm_test_damage_iter_damage_src_moved
[01:53:54] [PASSED] drm_test_damage_iter_damage_not_visible
[01:53:54] ================ [PASSED] drm_damage_helper ================
[01:53:54] ============== drm_dp_mst_helper (3 subtests) ==============
[01:53:54] ============== drm_test_dp_mst_calc_pbn_mode ==============
[01:53:54] [PASSED] Clock 154000 BPP 30 DSC disabled
[01:53:54] [PASSED] Clock 234000 BPP 30 DSC disabled
[01:53:54] [PASSED] Clock 297000 BPP 24 DSC disabled
[01:53:54] [PASSED] Clock 332880 BPP 24 DSC enabled
[01:53:54] [PASSED] Clock 324540 BPP 24 DSC enabled
[01:53:54] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[01:53:54] ============== drm_test_dp_mst_calc_pbn_div ===============
[01:53:54] [PASSED] Link rate 2000000 lane count 4
[01:53:54] [PASSED] Link rate 2000000 lane count 2
[01:53:54] [PASSED] Link rate 2000000 lane count 1
[01:53:54] [PASSED] Link rate 1350000 lane count 4
[01:53:54] [PASSED] Link rate 1350000 lane count 2
[01:53:54] [PASSED] Link rate 1350000 lane count 1
[01:53:54] [PASSED] Link rate 1000000 lane count 4
[01:53:54] [PASSED] Link rate 1000000 lane count 2
[01:53:54] [PASSED] Link rate 1000000 lane count 1
[01:53:54] [PASSED] Link rate 810000 lane count 4
[01:53:54] [PASSED] Link rate 810000 lane count 2
[01:53:54] [PASSED] Link rate 810000 lane count 1
[01:53:54] [PASSED] Link rate 540000 lane count 4
[01:53:54] [PASSED] Link rate 540000 lane count 2
[01:53:54] [PASSED] Link rate 540000 lane count 1
[01:53:54] [PASSED] Link rate 270000 lane count 4
[01:53:54] [PASSED] Link rate 270000 lane count 2
[01:53:54] [PASSED] Link rate 270000 lane count 1
[01:53:54] [PASSED] Link rate 162000 lane count 4
[01:53:54] [PASSED] Link rate 162000 lane count 2
[01:53:54] [PASSED] Link rate 162000 lane count 1
[01:53:54] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[01:53:54] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[01:53:54] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[01:53:54] [PASSED] DP_POWER_UP_PHY with port number
[01:53:54] [PASSED] DP_POWER_DOWN_PHY with port number
[01:53:54] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[01:53:54] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[01:53:54] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[01:53:54] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[01:53:54] [PASSED] DP_QUERY_PAYLOAD with port number
[01:53:54] [PASSED] DP_QUERY_PAYLOAD with VCPI
[01:53:54] [PASSED] DP_REMOTE_DPCD_READ with port number
[01:53:54] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[01:53:54] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[01:53:54] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[01:53:54] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[01:53:54] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[01:53:54] [PASSED] DP_REMOTE_I2C_READ with port number
[01:53:54] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[01:53:54] [PASSED] DP_REMOTE_I2C_READ with transactions array
[01:53:54] [PASSED] DP_REMOTE_I2C_WRITE with port number
[01:53:54] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[01:53:54] [PASSED] DP_REMOTE_I2C_WRITE with data array
[01:53:54] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[01:53:54] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[01:53:54] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[01:53:54] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[01:53:54] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[01:53:54] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[01:53:54] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[01:53:54] ================ [PASSED] drm_dp_mst_helper ================
[01:53:54] ================== drm_exec (7 subtests) ===================
[01:53:54] [PASSED] sanitycheck
[01:53:54] [PASSED] test_lock
[01:53:54] [PASSED] test_lock_unlock
[01:53:54] [PASSED] test_duplicates
[01:53:54] [PASSED] test_prepare
[01:53:54] [PASSED] test_prepare_array
[01:53:54] [PASSED] test_multiple_loops
[01:53:54] ==================== [PASSED] drm_exec =====================
[01:53:54] =========== drm_format_helper_test (17 subtests) ===========
[01:53:54] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[01:53:54] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[01:53:54] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[01:53:54] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[01:53:54] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[01:53:54] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[01:53:54] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[01:53:54] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[01:53:54] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[01:53:54] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[01:53:54] ============== drm_test_fb_xrgb8888_to_mono ===============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[01:53:54] ==================== drm_test_fb_swab =====================
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ================ [PASSED] drm_test_fb_swab =================
[01:53:54] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[01:53:54] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[01:53:54] [PASSED] single_pixel_source_buffer
[01:53:54] [PASSED] single_pixel_clip_rectangle
[01:53:54] [PASSED] well_known_colors
[01:53:54] [PASSED] destination_pitch
[01:53:54] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[01:53:54] ================= drm_test_fb_clip_offset =================
[01:53:54] [PASSED] pass through
[01:53:54] [PASSED] horizontal offset
[01:53:54] [PASSED] vertical offset
[01:53:54] [PASSED] horizontal and vertical offset
[01:53:54] [PASSED] horizontal offset (custom pitch)
[01:53:54] [PASSED] vertical offset (custom pitch)
[01:53:54] [PASSED] horizontal and vertical offset (custom pitch)
[01:53:54] ============= [PASSED] drm_test_fb_clip_offset =============
[01:53:54] ============== drm_test_fb_build_fourcc_list ==============
[01:53:54] [PASSED] no native formats
[01:53:54] [PASSED] XRGB8888 as native format
[01:53:54] [PASSED] remove duplicates
[01:53:54] [PASSED] convert alpha formats
[01:53:54] [PASSED] random formats
[01:53:54] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[01:53:54] =================== drm_test_fb_memcpy ====================
[01:53:54] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[01:53:54] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[01:53:54] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[01:53:54] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[01:53:54] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[01:53:54] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[01:53:54] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[01:53:54] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[01:53:54] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[01:53:54] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[01:53:54] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[01:53:54] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[01:53:54] =============== [PASSED] drm_test_fb_memcpy ================
[01:53:54] ============= [PASSED] drm_format_helper_test ==============
[01:53:54] ================= drm_format (18 subtests) =================
[01:53:54] [PASSED] drm_test_format_block_width_invalid
[01:53:54] [PASSED] drm_test_format_block_width_one_plane
[01:53:54] [PASSED] drm_test_format_block_width_two_plane
[01:53:54] [PASSED] drm_test_format_block_width_three_plane
[01:53:54] [PASSED] drm_test_format_block_width_tiled
[01:53:54] [PASSED] drm_test_format_block_height_invalid
[01:53:54] [PASSED] drm_test_format_block_height_one_plane
[01:53:54] [PASSED] drm_test_format_block_height_two_plane
[01:53:54] [PASSED] drm_test_format_block_height_three_plane
[01:53:54] [PASSED] drm_test_format_block_height_tiled
[01:53:54] [PASSED] drm_test_format_min_pitch_invalid
[01:53:54] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[01:53:54] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[01:53:54] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[01:53:54] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[01:53:54] [PASSED] drm_test_format_min_pitch_two_plane
[01:53:54] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[01:53:54] [PASSED] drm_test_format_min_pitch_tiled
[01:53:54] =================== [PASSED] drm_format ====================
[01:53:54] ============== drm_framebuffer (10 subtests) ===============
[01:53:54] ========== drm_test_framebuffer_check_src_coords ==========
[01:53:54] [PASSED] Success: source fits into fb
[01:53:54] [PASSED] Fail: overflowing fb with x-axis coordinate
[01:53:54] [PASSED] Fail: overflowing fb with y-axis coordinate
[01:53:54] [PASSED] Fail: overflowing fb with source width
[01:53:54] [PASSED] Fail: overflowing fb with source height
[01:53:54] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[01:53:54] [PASSED] drm_test_framebuffer_cleanup
[01:53:54] =============== drm_test_framebuffer_create ===============
[01:53:54] [PASSED] ABGR8888 normal sizes
[01:53:54] [PASSED] ABGR8888 max sizes
[01:53:54] [PASSED] ABGR8888 pitch greater than min required
[01:53:54] [PASSED] ABGR8888 pitch less than min required
[01:53:54] [PASSED] ABGR8888 Invalid width
[01:53:54] [PASSED] ABGR8888 Invalid buffer handle
[01:53:54] [PASSED] No pixel format
[01:53:54] [PASSED] ABGR8888 Width 0
[01:53:54] [PASSED] ABGR8888 Height 0
[01:53:54] [PASSED] ABGR8888 Out of bound height * pitch combination
[01:53:54] [PASSED] ABGR8888 Large buffer offset
[01:53:54] [PASSED] ABGR8888 Buffer offset for inexistent plane
[01:53:54] [PASSED] ABGR8888 Invalid flag
[01:53:54] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[01:53:54] [PASSED] ABGR8888 Valid buffer modifier
[01:53:54] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[01:53:54] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[01:53:54] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[01:53:54] [PASSED] NV12 Normal sizes
[01:53:54] [PASSED] NV12 Max sizes
[01:53:54] [PASSED] NV12 Invalid pitch
[01:53:54] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[01:53:54] [PASSED] NV12 different modifier per-plane
[01:53:54] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[01:53:54] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[01:53:54] [PASSED] NV12 Modifier for inexistent plane
[01:53:54] [PASSED] NV12 Handle for inexistent plane
[01:53:54] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[01:53:54] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[01:53:54] [PASSED] YVU420 Normal sizes
[01:53:54] [PASSED] YVU420 Max sizes
[01:53:54] [PASSED] YVU420 Invalid pitch
[01:53:54] [PASSED] YVU420 Different pitches
[01:53:54] [PASSED] YVU420 Different buffer offsets/pitches
[01:53:54] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[01:53:54] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[01:53:54] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[01:53:54] [PASSED] YVU420 Valid modifier
[01:53:54] [PASSED] YVU420 Different modifiers per plane
[01:53:54] [PASSED] YVU420 Modifier for inexistent plane
[01:53:54] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[01:53:54] [PASSED] X0L2 Normal sizes
[01:53:54] [PASSED] X0L2 Max sizes
[01:53:54] [PASSED] X0L2 Invalid pitch
[01:53:54] [PASSED] X0L2 Pitch greater than minimum required
[01:53:54] [PASSED] X0L2 Handle for inexistent plane
[01:53:54] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[01:53:54] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[01:53:54] [PASSED] X0L2 Valid modifier
[01:53:54] [PASSED] X0L2 Modifier for inexistent plane
[01:53:54] =========== [PASSED] drm_test_framebuffer_create ===========
[01:53:54] [PASSED] drm_test_framebuffer_free
[01:53:54] [PASSED] drm_test_framebuffer_init
[01:53:54] [PASSED] drm_test_framebuffer_init_bad_format
[01:53:54] [PASSED] drm_test_framebuffer_init_dev_mismatch
[01:53:54] [PASSED] drm_test_framebuffer_lookup
[01:53:54] [PASSED] drm_test_framebuffer_lookup_inexistent
[01:53:54] [PASSED] drm_test_framebuffer_modifiers_not_supported
[01:53:54] ================= [PASSED] drm_framebuffer =================
[01:53:54] ================ drm_gem_shmem (8 subtests) ================
[01:53:54] [PASSED] drm_gem_shmem_test_obj_create
[01:53:54] [PASSED] drm_gem_shmem_test_obj_create_private
[01:53:54] [PASSED] drm_gem_shmem_test_pin_pages
[01:53:54] [PASSED] drm_gem_shmem_test_vmap
[01:53:54] [PASSED] drm_gem_shmem_test_get_pages_sgt
[01:53:54] [PASSED] drm_gem_shmem_test_get_sg_table
[01:53:54] [PASSED] drm_gem_shmem_test_madvise
[01:53:54] [PASSED] drm_gem_shmem_test_purge
[01:53:54] ================== [PASSED] drm_gem_shmem ==================
[01:53:54] === drm_atomic_helper_connector_hdmi_check (23 subtests) ===
[01:53:54] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[01:53:54] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[01:53:54] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[01:53:54] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[01:53:54] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[01:53:54] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[01:53:54] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[01:53:54] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[01:53:54] [PASSED] drm_test_check_disable_connector
[01:53:54] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[01:53:54] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[01:53:54] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[01:53:54] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[01:53:54] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[01:53:54] [PASSED] drm_test_check_output_bpc_dvi
[01:53:54] [PASSED] drm_test_check_output_bpc_format_vic_1
[01:53:54] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[01:53:54] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[01:53:54] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[01:53:54] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[01:53:54] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[01:53:54] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[01:53:54] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[01:53:54] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[01:53:54] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[01:53:54] [PASSED] drm_test_check_broadcast_rgb_value
[01:53:54] [PASSED] drm_test_check_bpc_8_value
[01:53:54] [PASSED] drm_test_check_bpc_10_value
[01:53:54] [PASSED] drm_test_check_bpc_12_value
[01:53:54] [PASSED] drm_test_check_format_value
[01:53:54] [PASSED] drm_test_check_tmds_char_value
[01:53:54] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[01:53:54] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[01:53:54] [PASSED] drm_test_check_mode_valid
[01:53:54] [PASSED] drm_test_check_mode_valid_reject
[01:53:54] [PASSED] drm_test_check_mode_valid_reject_rate
[01:53:54] [PASSED] drm_test_check_mode_valid_reject_max_clock
[01:53:54] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[01:53:54] ================= drm_managed (2 subtests) =================
[01:53:54] [PASSED] drm_test_managed_release_action
[01:53:54] [PASSED] drm_test_managed_run_action
[01:53:54] =================== [PASSED] drm_managed ===================
[01:53:54] =================== drm_mm (6 subtests) ====================
[01:53:54] [PASSED] drm_test_mm_init
[01:53:54] [PASSED] drm_test_mm_debug
[01:53:54] [PASSED] drm_test_mm_align32
[01:53:54] [PASSED] drm_test_mm_align64
[01:53:54] [PASSED] drm_test_mm_lowest
[01:53:54] [PASSED] drm_test_mm_highest
[01:53:54] ===================== [PASSED] drm_mm ======================
[01:53:54] ============= drm_modes_analog_tv (5 subtests) =============
[01:53:54] [PASSED] drm_test_modes_analog_tv_mono_576i
[01:53:54] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[01:53:54] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[01:53:54] [PASSED] drm_test_modes_analog_tv_pal_576i
[01:53:54] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[01:53:54] =============== [PASSED] drm_modes_analog_tv ===============
[01:53:54] ============== drm_plane_helper (2 subtests) ===============
[01:53:54] =============== drm_test_check_plane_state ================
[01:53:54] [PASSED] clipping_simple
[01:53:54] [PASSED] clipping_rotate_reflect
[01:53:54] [PASSED] positioning_simple
[01:53:54] [PASSED] upscaling
[01:53:54] [PASSED] downscaling
[01:53:54] [PASSED] rounding1
[01:53:54] [PASSED] rounding2
[01:53:54] [PASSED] rounding3
[01:53:54] [PASSED] rounding4
[01:53:54] =========== [PASSED] drm_test_check_plane_state ============
[01:53:54] =========== drm_test_check_invalid_plane_state ============
[01:53:54] [PASSED] positioning_invalid
[01:53:54] [PASSED] upscaling_invalid
[01:53:54] [PASSED] downscaling_invalid
[01:53:54] ======= [PASSED] drm_test_check_invalid_plane_state ========
[01:53:54] ================ [PASSED] drm_plane_helper =================
[01:53:54] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[01:53:54] ====== drm_test_connector_helper_tv_get_modes_check =======
[01:53:54] [PASSED] None
[01:53:54] [PASSED] PAL
[01:53:54] [PASSED] NTSC
[01:53:54] [PASSED] Both, NTSC Default
[01:53:54] [PASSED] Both, PAL Default
[01:53:54] [PASSED] Both, NTSC Default, with PAL on command-line
[01:53:54] [PASSED] Both, PAL Default, with NTSC on command-line
[01:53:54] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[01:53:54] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[01:53:54] ================== drm_rect (9 subtests) ===================
[01:53:54] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[01:53:54] [PASSED] drm_test_rect_clip_scaled_not_clipped
[01:53:54] [PASSED] drm_test_rect_clip_scaled_clipped
[01:53:54] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[01:53:54] ================= drm_test_rect_intersect =================
[01:53:54] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[01:53:54] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[01:53:54] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[01:53:54] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[01:53:54] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[01:53:54] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[01:53:54] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[01:53:54] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[01:53:54] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[01:53:54] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[01:53:54] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[01:53:54] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[01:53:54] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[01:53:54] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[01:53:54] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[01:53:54] ============= [PASSED] drm_test_rect_intersect =============
[01:53:54] ================ drm_test_rect_calc_hscale ================
[01:53:54] [PASSED] normal use
[01:53:54] [PASSED] out of max range
[01:53:54] [PASSED] out of min range
[01:53:54] [PASSED] zero dst
[01:53:54] [PASSED] negative src
[01:53:54] [PASSED] negative dst
[01:53:54] ============ [PASSED] drm_test_rect_calc_hscale ============
[01:53:54] ================ drm_test_rect_calc_vscale ================
[01:53:54] [PASSED] normal use
[01:53:54] [PASSED] out of max range
[01:53:54] [PASSED] out of min range
[01:53:54] [PASSED] zero dst
[01:53:54] [PASSED] negative src
[01:53:54] [PASSED] negative dst
[01:53:54] ============ [PASSED] drm_test_rect_calc_vscale ============
[01:53:54] ================== drm_test_rect_rotate ===================
[01:53:54] [PASSED] reflect-x
[01:53:54] [PASSED] reflect-y
[01:53:54] [PASSED] rotate-0
[01:53:54] [PASSED] rotate-90
[01:53:54] [PASSED] rotate-180
[01:53:54] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[01:53:54] ============== [PASSED] drm_test_rect_rotate ===============
[01:53:54] ================ drm_test_rect_rotate_inv =================
[01:53:54] [PASSED] reflect-x
[01:53:54] [PASSED] reflect-y
[01:53:54] [PASSED] rotate-0
[01:53:54] [PASSED] rotate-90
[01:53:54] [PASSED] rotate-180
[01:53:54] [PASSED] rotate-270
[01:53:54] ============ [PASSED] drm_test_rect_rotate_inv =============
[01:53:54] ==================== [PASSED] drm_rect =====================
[01:53:54] ============================================================
[01:53:54] Testing complete. Ran 598 tests: passed: 598
[01:53:54] Elapsed time: 23.135s total, 1.689s configuring, 21.226s building, 0.189s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[01:53:54] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[01:53:56] 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
[01:54:04] Starting KUnit Kernel (1/1)...
[01:54:04] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[01:54:04] ================= ttm_device (5 subtests) ==================
[01:54:04] [PASSED] ttm_device_init_basic
[01:54:04] [PASSED] ttm_device_init_multiple
[01:54:04] [PASSED] ttm_device_fini_basic
[01:54:04] [PASSED] ttm_device_init_no_vma_man
[01:54:04] ================== ttm_device_init_pools ==================
[01:54:04] [PASSED] No DMA allocations, no DMA32 required
[01:54:04] [PASSED] DMA allocations, DMA32 required
[01:54:04] [PASSED] No DMA allocations, DMA32 required
[01:54:04] [PASSED] DMA allocations, no DMA32 required
[01:54:04] ============== [PASSED] ttm_device_init_pools ==============
[01:54:04] =================== [PASSED] ttm_device ====================
[01:54:04] ================== ttm_pool (8 subtests) ===================
[01:54:04] ================== ttm_pool_alloc_basic ===================
[01:54:04] [PASSED] One page
[01:54:04] [PASSED] More than one page
[01:54:04] [PASSED] Above the allocation limit
[01:54:04] [PASSED] One page, with coherent DMA mappings enabled
[01:54:04] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[01:54:04] ============== [PASSED] ttm_pool_alloc_basic ===============
[01:54:04] ============== ttm_pool_alloc_basic_dma_addr ==============
[01:54:04] [PASSED] One page
[01:54:04] [PASSED] More than one page
[01:54:04] [PASSED] Above the allocation limit
[01:54:04] [PASSED] One page, with coherent DMA mappings enabled
[01:54:04] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[01:54:04] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[01:54:04] [PASSED] ttm_pool_alloc_order_caching_match
[01:54:04] [PASSED] ttm_pool_alloc_caching_mismatch
[01:54:04] [PASSED] ttm_pool_alloc_order_mismatch
[01:54:04] [PASSED] ttm_pool_free_dma_alloc
[01:54:04] [PASSED] ttm_pool_free_no_dma_alloc
[01:54:04] [PASSED] ttm_pool_fini_basic
[01:54:04] ==================== [PASSED] ttm_pool =====================
[01:54:04] ================ ttm_resource (8 subtests) =================
[01:54:04] ================= ttm_resource_init_basic =================
[01:54:04] [PASSED] Init resource in TTM_PL_SYSTEM
[01:54:04] [PASSED] Init resource in TTM_PL_VRAM
[01:54:04] [PASSED] Init resource in a private placement
[01:54:04] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[01:54:04] ============= [PASSED] ttm_resource_init_basic =============
[01:54:04] [PASSED] ttm_resource_init_pinned
[01:54:04] [PASSED] ttm_resource_fini_basic
[01:54:04] [PASSED] ttm_resource_manager_init_basic
[01:54:04] [PASSED] ttm_resource_manager_usage_basic
[01:54:04] [PASSED] ttm_resource_manager_set_used_basic
[01:54:04] [PASSED] ttm_sys_man_alloc_basic
[01:54:04] [PASSED] ttm_sys_man_free_basic
[01:54:04] ================== [PASSED] ttm_resource ===================
[01:54:04] =================== ttm_tt (15 subtests) ===================
[01:54:04] ==================== ttm_tt_init_basic ====================
[01:54:04] [PASSED] Page-aligned size
[01:54:04] [PASSED] Extra pages requested
[01:54:04] ================ [PASSED] ttm_tt_init_basic ================
[01:54:04] [PASSED] ttm_tt_init_misaligned
[01:54:04] [PASSED] ttm_tt_fini_basic
[01:54:04] [PASSED] ttm_tt_fini_sg
[01:54:04] [PASSED] ttm_tt_fini_shmem
[01:54:04] [PASSED] ttm_tt_create_basic
[01:54:04] [PASSED] ttm_tt_create_invalid_bo_type
[01:54:04] [PASSED] ttm_tt_create_ttm_exists
[01:54:04] [PASSED] ttm_tt_create_failed
[01:54:04] [PASSED] ttm_tt_destroy_basic
[01:54:04] [PASSED] ttm_tt_populate_null_ttm
[01:54:04] [PASSED] ttm_tt_populate_populated_ttm
[01:54:04] [PASSED] ttm_tt_unpopulate_basic
[01:54:04] [PASSED] ttm_tt_unpopulate_empty_ttm
[01:54:04] [PASSED] ttm_tt_swapin_basic
[01:54:04] ===================== [PASSED] ttm_tt ======================
[01:54:04] =================== ttm_bo (14 subtests) ===================
[01:54:04] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[01:54:04] [PASSED] Cannot be interrupted and sleeps
[01:54:04] [PASSED] Cannot be interrupted, locks straight away
[01:54:04] [PASSED] Can be interrupted, sleeps
[01:54:04] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[01:54:04] [PASSED] ttm_bo_reserve_locked_no_sleep
[01:54:04] [PASSED] ttm_bo_reserve_no_wait_ticket
[01:54:04] [PASSED] ttm_bo_reserve_double_resv
[01:54:04] [PASSED] ttm_bo_reserve_interrupted
[01:54:04] [PASSED] ttm_bo_reserve_deadlock
[01:54:04] [PASSED] ttm_bo_unreserve_basic
[01:54:04] [PASSED] ttm_bo_unreserve_pinned
[01:54:04] [PASSED] ttm_bo_unreserve_bulk
[01:54:04] [PASSED] ttm_bo_put_basic
[01:54:04] [PASSED] ttm_bo_put_shared_resv
[01:54:04] [PASSED] ttm_bo_pin_basic
[01:54:04] [PASSED] ttm_bo_pin_unpin_resource
[01:54:04] [PASSED] ttm_bo_multiple_pin_one_unpin
[01:54:04] ===================== [PASSED] ttm_bo ======================
[01:54:04] ============== ttm_bo_validate (22 subtests) ===============
[01:54:04] ============== ttm_bo_init_reserved_sys_man ===============
[01:54:04] [PASSED] Buffer object for userspace
[01:54:04] [PASSED] Kernel buffer object
[01:54:04] [PASSED] Shared buffer object
[01:54:04] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[01:54:04] ============== ttm_bo_init_reserved_mock_man ==============
[01:54:04] [PASSED] Buffer object for userspace
[01:54:04] [PASSED] Kernel buffer object
[01:54:04] [PASSED] Shared buffer object
[01:54:04] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[01:54:04] [PASSED] ttm_bo_init_reserved_resv
[01:54:04] ================== ttm_bo_validate_basic ==================
[01:54:04] [PASSED] Buffer object for userspace
[01:54:04] [PASSED] Kernel buffer object
[01:54:04] [PASSED] Shared buffer object
[01:54:04] ============== [PASSED] ttm_bo_validate_basic ==============
[01:54:04] [PASSED] ttm_bo_validate_invalid_placement
[01:54:04] ============= ttm_bo_validate_same_placement ==============
[01:54:04] [PASSED] System manager
[01:54:04] [PASSED] VRAM manager
[01:54:04] ========= [PASSED] ttm_bo_validate_same_placement ==========
[01:54:04] [PASSED] ttm_bo_validate_failed_alloc
[01:54:04] [PASSED] ttm_bo_validate_pinned
[01:54:04] [PASSED] ttm_bo_validate_busy_placement
[01:54:04] ================ ttm_bo_validate_multihop =================
[01:54:04] [PASSED] Buffer object for userspace
[01:54:04] [PASSED] Kernel buffer object
[01:54:04] [PASSED] Shared buffer object
[01:54:04] ============ [PASSED] ttm_bo_validate_multihop =============
[01:54:04] ========== ttm_bo_validate_no_placement_signaled ==========
[01:54:04] [PASSED] Buffer object in system domain, no page vector
[01:54:04] [PASSED] Buffer object in system domain with an existing page vector
[01:54:04] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[01:54:04] ======== ttm_bo_validate_no_placement_not_signaled ========
[01:54:04] [PASSED] Buffer object for userspace
[01:54:04] [PASSED] Kernel buffer object
[01:54:04] [PASSED] Shared buffer object
[01:54:04] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[01:54:04] [PASSED] ttm_bo_validate_move_fence_signaled
[01:54:04] ========= ttm_bo_validate_move_fence_not_signaled =========
[01:54:04] [PASSED] Waits for GPU
[01:54:04] [PASSED] Tries to lock straight away
[01:54:04] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[01:54:04] [PASSED] ttm_bo_validate_swapout
[01:54:04] [PASSED] ttm_bo_validate_happy_evict
[01:54:04] [PASSED] ttm_bo_validate_all_pinned_evict
[01:54:04] [PASSED] ttm_bo_validate_allowed_only_evict
[01:54:04] [PASSED] ttm_bo_validate_deleted_evict
[01:54:04] [PASSED] ttm_bo_validate_busy_domain_evict
[01:54:04] [PASSED] ttm_bo_validate_evict_gutting
[01:54:04] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[01:54:04] ================= [PASSED] ttm_bo_validate =================
[01:54:04] ============================================================
[01:54:04] Testing complete. Ran 102 tests: passed: 102
[01:54:04] Elapsed time: 10.043s total, 1.664s configuring, 7.713s building, 0.549s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✓ CI.Build: success for Add support for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (10 preceding siblings ...)
2025-02-26 1:54 ` ✓ CI.KUnit: success " Patchwork
@ 2025-02-26 2:10 ` Patchwork
2025-02-26 2:13 ` ✓ CI.Hooks: " Patchwork
` (4 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-02-26 2:10 UTC (permalink / raw)
To: Harish Chegondi; +Cc: intel-xe
== Series Details ==
Series: Add support for EU stall sampling
URL : https://patchwork.freedesktop.org/series/145443/
State : success
== Summary ==
lib/modules/6.14.0-rc4-xe+/kernel/arch/x86/events/amd/
lib/modules/6.14.0-rc4-xe+/kernel/arch/x86/events/amd/amd-uncore.ko
lib/modules/6.14.0-rc4-xe+/kernel/arch/x86/events/rapl.ko
lib/modules/6.14.0-rc4-xe+/kernel/arch/x86/kvm/
lib/modules/6.14.0-rc4-xe+/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.14.0-rc4-xe+/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.14.0-rc4-xe+/kernel/arch/x86/kvm/kvm-amd.ko
lib/modules/6.14.0-rc4-xe+/kernel/kernel/
lib/modules/6.14.0-rc4-xe+/kernel/kernel/kheaders.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/
lib/modules/6.14.0-rc4-xe+/kernel/crypto/ecrdsa_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/xcbc.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/serpent_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/aria_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/crypto_simd.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/adiantum.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/tcrypt.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/crypto_engine.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/zstd.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/asymmetric_keys/
lib/modules/6.14.0-rc4-xe+/kernel/crypto/asymmetric_keys/pkcs7_test_key.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/asymmetric_keys/pkcs8_key_parser.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/des_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/xctr.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/authenc.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/sm4_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/camellia_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/sm3.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/pcrypt.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/aegis128.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/af_alg.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/algif_aead.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/cmac.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/sm3_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/aes_ti.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/chacha_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/poly1305_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/nhpoly1305.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/crc32_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/essiv.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/ccm.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/wp512.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/streebog_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/authencesn.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/echainiv.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/lrw.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/cryptd.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/crypto_user.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/algif_hash.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/polyval-generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/hctr2.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/842.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/pcbc.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/ansi_cprng.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/cast6_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/twofish_common.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/twofish_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/lz4hc.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/blowfish_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/md4.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/chacha20poly1305.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/curve25519-generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/lz4.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/rmd160.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/algif_skcipher.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/cast5_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/fcrypt.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/ecdsa_generic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/sm4.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/cast_common.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/blowfish_common.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/michael_mic.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/async_tx/
lib/modules/6.14.0-rc4-xe+/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.14.0-rc4-xe+/kernel/crypto/algif_rng.ko
lib/modules/6.14.0-rc4-xe+/kernel/block/
lib/modules/6.14.0-rc4-xe+/kernel/block/bfq.ko
lib/modules/6.14.0-rc4-xe+/kernel/block/kyber-iosched.ko
lib/modules/6.14.0-rc4-xe+/build
lib/modules/6.14.0-rc4-xe+/modules.alias.bin
lib/modules/6.14.0-rc4-xe+/modules.builtin
lib/modules/6.14.0-rc4-xe+/modules.softdep
lib/modules/6.14.0-rc4-xe+/modules.alias
lib/modules/6.14.0-rc4-xe+/modules.order
lib/modules/6.14.0-rc4-xe+/modules.symbols
lib/modules/6.14.0-rc4-xe+/modules.dep.bin
+ mv kernel-nodebug.tar.gz ..
+ cd ..
+ rm -rf archive
++ date +%s
+ echo -e '\e[0Ksection_end:1740535830:package_x86_64_nodebug\r\e[0K'
^[[0Ksection_end:1740535830:package_x86_64_nodebug
^[[0K
+ sync
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✓ CI.Hooks: success for Add support for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (11 preceding siblings ...)
2025-02-26 2:10 ` ✓ CI.Build: " Patchwork
@ 2025-02-26 2:13 ` Patchwork
2025-02-26 2:14 ` ✓ CI.checksparse: " Patchwork
` (3 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-02-26 2:13 UTC (permalink / raw)
To: Harish Chegondi; +Cc: intel-xe
== Series Details ==
Series: Add support for EU stall sampling
URL : https://patchwork.freedesktop.org/series/145443/
State : success
== Summary ==
run-parts: executing /workspace/ci/hooks/00-showenv
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
GEN Makefile
DESCEND 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/arch/x86/special.o
CC /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.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/arch/x86/orc.o
CC /workspace/kernel/build64-default/tools/objtool/orc_gen.o
CC /workspace/kernel/build64-default/tools/objtool/orc_dump.o
CC /workspace/kernel/build64-default/tools/objtool/libstring.o
CC /workspace/kernel/build64-default/tools/objtool/libctype.o
CC /workspace/kernel/build64-default/tools/objtool/str_error_r.o
CC /workspace/kernel/build64-default/tools/objtool/librbtree.o
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
LEX scripts/kconfig/lexer.lex.c
HOSTCC scripts/kconfig/menu.o
YACC scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/util.o
HOSTCC scripts/kconfig/symbol.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_FREGS not in final .config
Requested value: CONFIG_HAVE_FUNCTION_GRAPH_FREGS=y
Actual value:
Value requested for CONFIG_HAVE_FTRACE_GRAPH_FUNC not in final .config
Requested value: CONFIG_HAVE_FTRACE_GRAPH_FUNC=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/fcntl.h
WRAP arch/x86/include/generated/uapi/asm/ioctl.h
WRAP arch/x86/include/generated/uapi/asm/ioctls.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
WRAP arch/x86/include/generated/uapi/asm/ipcbuf.h
UPD include/generated/uapi/linux/version.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
WRAP arch/x86/include/generated/uapi/asm/param.h
WRAP arch/x86/include/generated/uapi/asm/resource.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/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
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
WRAP arch/x86/include/generated/asm/early_ioremap.h
WRAP arch/x86/include/generated/asm/fprobe.h
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
WRAP arch/x86/include/generated/asm/rwonce.h
HOSTCC scripts/sorttable
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/symsearch.o
HOSTCC scripts/mod/sumversion.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 init/do_mounts.o
CC certs/system_keyring.o
CC init/do_mounts_initrd.o
UPD init/utsversion-tmp.h
CC ipc/util.o
CC ipc/msgutil.o
CC init/initramfs.o
CC init/calibrate.o
CC mm/filemap.o
CC ipc/msg.o
CC security/commoncap.o
CC arch/x86/realmode/init.o
AS arch/x86/entry/entry.o
AS arch/x86/lib/atomic64_cx8_32.o
CC mm/mempool.o
CC ipc/sem.o
CC block/bdev.o
CC io_uring/io_uring.o
AR arch/x86/crypto/built-in.a
AR arch/x86/net/built-in.a
CC init/init_task.o
CC arch/x86/power/cpu.o
CC arch/x86/video/video-common.o
AR arch/x86/entry/vsyscall/built-in.a
CC security/integrity/iint.o
HOSTCC security/selinux/genheaders
CC security/keys/gc.o
CC arch/x86/pci/i386.o
CC block/partitions/core.o
AR virt/lib/built-in.a
CC arch/x86/events/amd/core.o
AR arch/x86/platform/atom/built-in.a
CC arch/x86/events/intel/core.o
AS arch/x86/realmode/rm/header.o
CC arch/x86/virt/svm/cmdline.o
CC fs/nfs_common/nfsacl.o
CC arch/x86/events/zhaoxin/core.o
AS arch/x86/realmode/rm/trampoline_32.o
CC arch/x86/power/hibernate_32.o
CC arch/x86/mm/pat/set_memory.o
CC fs/notify/dnotify/dnotify.o
CC net/core/sock.o
AR virt/built-in.a
AR drivers/cache/built-in.a
CC lib/math/div64.o
AR drivers/irqchip/built-in.a
CC arch/x86/kernel/fpu/init.o
CC sound/core/seq/seq.o
AS arch/x86/power/hibernate_asm_32.o
AR arch/x86/platform/ce4100/built-in.a
CC arch/x86/events/core.o
AS arch/x86/lib/checksum_32.o
CC arch/x86/entry/vdso/vma.o
AS arch/x86/realmode/rm/stack.o
CC kernel/locking/mutex.o
CC arch/x86/platform/efi/memmap.o
AR drivers/bus/mhi/built-in.a
CC kernel/power/qos.o
AR drivers/bus/built-in.a
CC sound/core/sound.o
CC kernel/sched/core.o
CC arch/x86/lib/cmdline.o
AS arch/x86/realmode/rm/reboot.o
AR drivers/pwm/built-in.a
CC crypto/asymmetric_keys/asymmetric_type.o
AR drivers/leds/trigger/built-in.a
AS arch/x86/realmode/rm/wakeup_asm.o
AR drivers/leds/blink/built-in.a
AR arch/x86/virt/svm/built-in.a
CC arch/x86/realmode/rm/wakemain.o
AR drivers/leds/simple/built-in.a
AR arch/x86/virt/vmx/built-in.a
CC drivers/leds/led-core.o
AR arch/x86/virt/built-in.a
CC drivers/leds/led-class.o
AS arch/x86/lib/cmpxchg8b_emu.o
CC lib/math/gcd.o
GEN security/selinux/flask.h security/selinux/av_permissions.h
CC arch/x86/lib/cpu.o
CC security/selinux/avc.o
CC arch/x86/realmode/rm/video-mode.o
CC lib/math/lcm.o
CC lib/math/int_log.o
CC crypto/asymmetric_keys/restrict.o
AS arch/x86/realmode/rm/copy.o
GEN usr/initramfs_data.cpio
AS arch/x86/realmode/rm/bioscall.o
COPY usr/initramfs_inc_data
AS usr/initramfs_data.o
HOSTCC certs/extract-cert
CC arch/x86/realmode/rm/regs.o
AR usr/built-in.a
CC arch/x86/kernel/fpu/bugs.o
CC lib/math/int_pow.o
CC kernel/sched/fair.o
CC arch/x86/realmode/rm/video-vga.o
CC lib/math/int_sqrt.o
CC arch/x86/kernel/fpu/core.o
CC arch/x86/realmode/rm/video-vesa.o
CC lib/math/reciprocal_div.o
CC sound/core/seq/seq_lock.o
CC arch/x86/lib/delay.o
CC security/integrity/integrity_audit.o
CC arch/x86/realmode/rm/video-bios.o
AR arch/x86/video/built-in.a
CC lib/math/rational.o
CC net/ethernet/eth.o
CC security/keys/key.o
PASYMS arch/x86/realmode/rm/pasyms.h
CERT certs/x509_certificate_list
CERT certs/signing_key.x509
AS certs/system_certificates.o
CC drivers/leds/led-triggers.o
AR certs/built-in.a
LDS arch/x86/realmode/rm/realmode.lds
CC block/partitions/msdos.o
AS arch/x86/lib/getuser.o
CC fs/nfs_common/grace.o
CC arch/x86/power/hibernate.o
CC crypto/api.o
LD arch/x86/realmode/rm/realmode.elf
AR sound/i2c/other/built-in.a
CC fs/notify/inotify/inotify_fsnotify.o
RELOCS arch/x86/realmode/rm/realmode.relocs
AR sound/i2c/built-in.a
OBJCOPY arch/x86/realmode/rm/realmode.bin
CC crypto/cipher.o
CC arch/x86/platform/efi/quirks.o
AS arch/x86/realmode/rmpiggy.o
CC fs/notify/fsnotify.o
AR fs/notify/fanotify/built-in.a
CC kernel/sched/build_policy.o
CC arch/x86/pci/init.o
CC crypto/compress.o
AR arch/x86/realmode/built-in.a
CC crypto/asymmetric_keys/signature.o
CC fs/notify/inotify/inotify_user.o
CC block/fops.o
AR fs/notify/dnotify/built-in.a
CC arch/x86/entry/vdso/extable.o
CC sound/core/seq/seq_clientmgr.o
CC block/bio.o
CC mm/oom_kill.o
GEN arch/x86/lib/inat-tables.c
CC sound/core/seq/seq_memory.o
CC arch/x86/lib/insn-eval.o
AR arch/x86/events/zhaoxin/built-in.a
CC crypto/algapi.o
CC crypto/asymmetric_keys/public_key.o
AR lib/math/built-in.a
CC lib/crypto/mpi/generic_mpih-lshift.o
CC lib/crypto/memneq.o
CC lib/zlib_inflate/inffast.o
CC kernel/power/main.o
CC lib/crypto/mpi/generic_mpih-mul1.o
CC kernel/sched/build_utility.o
CC arch/x86/events/intel/bts.o
CC io_uring/opdef.o
CC arch/x86/events/amd/lbr.o
CC lib/zlib_inflate/inflate.o
CC security/selinux/hooks.o
CC ipc/shm.o
AR security/integrity/built-in.a
CC crypto/scatterwalk.o
CC arch/x86/mm/pat/memtype.o
CC kernel/locking/semaphore.o
CC block/elevator.o
CC sound/core/init.o
AR arch/x86/power/built-in.a
CC arch/x86/pci/pcbios.o
LDS arch/x86/entry/vdso/vdso32/vdso32.lds
CC fs/nfs_common/common.o
AR drivers/leds/built-in.a
CC ipc/syscall.o
CC lib/crypto/utils.o
CC init/version.o
CC drivers/pci/msi/pcidev_msi.o
CC block/partitions/efi.o
CC drivers/pci/msi/api.o
AS arch/x86/entry/vdso/vdso32/note.o
AS arch/x86/entry/vdso/vdso32/system_call.o
CC fs/notify/notification.o
AS arch/x86/entry/vdso/vdso32/sigreturn.o
ASN.1 crypto/asymmetric_keys/x509.asn1.[ch]
CC arch/x86/mm/pat/memtype_interval.o
ASN.1 crypto/asymmetric_keys/x509_akid.asn1.[ch]
CC crypto/asymmetric_keys/x509_loader.o
AR init/built-in.a
CC arch/x86/entry/vdso/vdso32/vclock_gettime.o
CC arch/x86/platform/efi/efi.o
AR arch/x86/platform/geode/built-in.a
CC arch/x86/kernel/fpu/regset.o
AS arch/x86/entry/entry_32.o
CC security/keys/keyring.o
CC lib/crypto/mpi/generic_mpih-mul2.o
CC lib/zlib_deflate/deflate.o
CC lib/lzo/lzo1x_compress.o
CC arch/x86/lib/insn.o
AR fs/notify/inotify/built-in.a
CC security/selinux/selinuxfs.o
CC kernel/locking/rwsem.o
CC arch/x86/events/probe.o
CC lib/crypto/mpi/generic_mpih-mul3.o
CC arch/x86/platform/efi/efi_32.o
CC crypto/asymmetric_keys/x509_public_key.o
CC lib/zlib_inflate/infutil.o
AR net/ethernet/built-in.a
CC arch/x86/events/amd/ibs.o
AR net/802/built-in.a
CC security/lsm_syscalls.o
CC security/min_addr.o
CC arch/x86/pci/mmconfig_32.o
CC arch/x86/entry/syscall_32.o
CC arch/x86/lib/kaslr.o
CC arch/x86/kernel/fpu/signal.o
CC kernel/power/console.o
CC drivers/video/console/dummycon.o
AR drivers/idle/built-in.a
AR drivers/char/ipmi/built-in.a
CC sound/core/seq/seq_queue.o
CC ipc/ipc_sysctl.o
CC lib/crypto/chacha.o
CC block/blk-core.o
CC lib/lz4/lz4_decompress.o
AR fs/nfs_common/built-in.a
CC arch/x86/entry/vdso/vdso32/vgetcpu.o
CC block/blk-sysfs.o
CC lib/zlib_inflate/inftrees.o
CC drivers/pci/msi/msi.o
CC fs/notify/group.o
CC lib/lzo/lzo1x_decompress_safe.o
AR sound/drivers/opl3/built-in.a
CC drivers/video/console/vgacon.o
AR arch/x86/mm/pat/built-in.a
AR sound/drivers/opl4/built-in.a
CC arch/x86/mm/init.o
CC security/selinux/netlink.o
AR sound/drivers/mpu401/built-in.a
CC block/blk-flush.o
CC arch/x86/lib/memcpy_32.o
AR sound/drivers/vx/built-in.a
CC ipc/mqueue.o
HOSTCC arch/x86/entry/vdso/vdso2c
AR sound/drivers/pcsp/built-in.a
AR sound/drivers/built-in.a
CC ipc/namespace.o
AS arch/x86/lib/memmove_32.o
CC arch/x86/lib/misc.o
CC lib/zlib_inflate/inflate_syms.o
CC arch/x86/lib/pc-conf-reg.o
CC lib/crypto/mpi/generic_mpih-rshift.o
CC sound/core/memory.o
ASN.1 crypto/asymmetric_keys/pkcs7.asn1.[ch]
CC crypto/asymmetric_keys/pkcs7_trust.o
AR block/partitions/built-in.a
CC lib/zlib_deflate/deftree.o
AS arch/x86/platform/efi/efi_stub_32.o
CC lib/zlib_deflate/deflate_syms.o
CC kernel/power/process.o
CC net/sched/sch_generic.o
CC lib/crypto/mpi/generic_mpih-sub1.o
CC block/blk-settings.o
CC kernel/locking/percpu-rwsem.o
AS arch/x86/lib/putuser.o
CC arch/x86/platform/efi/runtime-map.o
AS arch/x86/lib/retpoline.o
AR sound/isa/ad1816a/built-in.a
CC arch/x86/lib/string_32.o
AR sound/isa/ad1848/built-in.a
CC fs/notify/mark.o
AR sound/isa/cs423x/built-in.a
CC drivers/video/backlight/backlight.o
AR sound/isa/es1688/built-in.a
CC arch/x86/pci/direct.o
AR sound/isa/galaxy/built-in.a
CC arch/x86/lib/strstr_32.o
AR sound/isa/gus/built-in.a
AR lib/zlib_inflate/built-in.a
AR sound/isa/msnd/built-in.a
AR drivers/video/fbdev/core/built-in.a
CC drivers/video/aperture.o
CC arch/x86/entry/vdso/vdso32-setup.o
AR sound/isa/opti9xx/built-in.a
AR drivers/video/fbdev/omap/built-in.a
AR lib/lzo/built-in.a
CC mm/fadvise.o
CC arch/x86/lib/usercopy.o
AR sound/isa/sb/built-in.a
AR sound/pci/ac97/built-in.a
AR drivers/video/fbdev/omap2/omapfb/dss/built-in.a
AR sound/isa/wavefront/built-in.a
AR drivers/video/fbdev/omap2/omapfb/displays/built-in.a
AR sound/isa/wss/built-in.a
AR sound/pci/ali5451/built-in.a
CC crypto/asymmetric_keys/pkcs7_verify.o
AR sound/isa/built-in.a
AR drivers/video/fbdev/omap2/omapfb/built-in.a
AR sound/pci/asihpi/built-in.a
AR drivers/video/fbdev/omap2/built-in.a
AR sound/pci/au88x0/built-in.a
CC block/blk-ioc.o
CC arch/x86/events/utils.o
AR drivers/video/fbdev/built-in.a
AR sound/pci/aw2/built-in.a
AR sound/pci/ctxfi/built-in.a
CC fs/iomap/trace.o
CC fs/quota/dquot.o
AR sound/pci/ca0106/built-in.a
AR sound/pci/cs46xx/built-in.a
AR sound/pci/cs5535audio/built-in.a
AR sound/pci/lola/built-in.a
CC security/keys/keyctl.o
AR sound/pci/lx6464es/built-in.a
CC arch/x86/events/rapl.o
AR sound/pci/echoaudio/built-in.a
AR sound/pci/emu10k1/built-in.a
CC sound/pci/hda/hda_bind.o
CC sound/core/seq/seq_fifo.o
AR sound/pci/ice1712/built-in.a
CC drivers/pci/pcie/portdrv.o
CC fs/proc/task_mmu.o
VDSO arch/x86/entry/vdso/vdso32.so.dbg
CC drivers/pci/pcie/rcec.o
CC arch/x86/kernel/fpu/xstate.o
CC security/keys/permission.o
OBJCOPY arch/x86/entry/vdso/vdso32.so
VDSO2C arch/x86/entry/vdso/vdso-image-32.c
CC arch/x86/lib/usercopy_32.o
CC arch/x86/entry/vdso/vdso-image-32.o
AR lib/zlib_deflate/built-in.a
CC security/security.o
CC net/core/request_sock.o
CC arch/x86/pci/mmconfig-shared.o
CC net/sched/sch_mq.o
CC lib/crypto/mpi/generic_mpih-add1.o
CC kernel/locking/spinlock.o
CC arch/x86/events/amd/uncore.o
CC arch/x86/mm/init_32.o
CC arch/x86/pci/fixup.o
CC drivers/pci/msi/irqdomain.o
CC arch/x86/pci/acpi.o
CC crypto/asymmetric_keys/x509.asn1.o
CC crypto/asymmetric_keys/x509_akid.asn1.o
CC crypto/asymmetric_keys/x509_cert_parser.o
AR drivers/video/console/built-in.a
CC sound/core/control.o
CC arch/x86/events/intel/ds.o
AR arch/x86/entry/vdso/built-in.a
CC arch/x86/entry/common.o
CC arch/x86/lib/msr-smp.o
AR arch/x86/platform/efi/built-in.a
AR arch/x86/platform/iris/built-in.a
CC arch/x86/platform/intel/iosf_mbi.o
CC security/lsm_audit.o
CC lib/crypto/aes.o
CC kernel/power/suspend.o
AR lib/lz4/built-in.a
CC kernel/printk/printk.o
AR drivers/video/backlight/built-in.a
CC kernel/irq/irqdesc.o
CC drivers/video/cmdline.o
CC kernel/rcu/update.o
CC kernel/locking/osq_lock.o
CC drivers/pci/pcie/bwctrl.o
CC mm/maccess.o
CC kernel/rcu/sync.o
CC sound/core/seq/seq_prioq.o
CC fs/notify/fdinfo.o
CC arch/x86/lib/cache-smp.o
CC sound/pci/hda/hda_codec.o
CC security/device_cgroup.o
CC lib/crypto/mpi/mpicoder.o
CC kernel/power/hibernate.o
CC kernel/locking/qspinlock.o
CC security/selinux/nlmsgtab.o
CC arch/x86/lib/crc32-glue.o
CC io_uring/kbuf.o
CC io_uring/rsrc.o
CC ipc/mq_sysctl.o
CC crypto/asymmetric_keys/pkcs7.asn1.o
CC crypto/asymmetric_keys/pkcs7_parser.o
CC net/netlink/af_netlink.o
AR drivers/pci/msi/built-in.a
CC sound/core/misc.o
CC security/keys/process_keys.o
CC net/core/skbuff.o
AR sound/pci/korg1212/built-in.a
CC fs/iomap/iter.o
CC lib/crypto/arc4.o
AS arch/x86/entry/thunk.o
CC arch/x86/pci/legacy.o
CC net/sched/sch_frag.o
AR kernel/livepatch/built-in.a
CC drivers/video/nomodeset.o
AR arch/x86/platform/intel/built-in.a
AR arch/x86/platform/intel-mid/built-in.a
CC arch/x86/mm/fault.o
AR arch/x86/platform/intel-quark/built-in.a
AR arch/x86/entry/built-in.a
AR arch/x86/platform/olpc/built-in.a
CC crypto/proc.o
CC drivers/pci/pcie/aspm.o
AS arch/x86/lib/crc32-pclmul.o
AR arch/x86/platform/scx200/built-in.a
AR arch/x86/platform/ts5500/built-in.a
AR arch/x86/kernel/fpu/built-in.a
CC arch/x86/lib/msr.o
AR arch/x86/platform/uv/built-in.a
AR arch/x86/platform/built-in.a
AR ipc/built-in.a
CC drivers/pci/pcie/pme.o
CC arch/x86/kernel/cpu/mce/core.o
CC kernel/irq/handle.o
AR fs/notify/built-in.a
CC arch/x86/kernel/cpu/mtrr/mtrr.o
CC net/sched/sch_api.o
CC arch/x86/kernel/cpu/microcode/core.o
CC kernel/locking/rtmutex_api.o
CC crypto/aead.o
CC block/blk-map.o
CC sound/core/seq/seq_timer.o
AR arch/x86/events/amd/built-in.a
CC mm/page-writeback.o
CC drivers/acpi/acpica/dsargs.o
CC lib/crypto/mpi/mpi-add.o
AR crypto/asymmetric_keys/built-in.a
CC arch/x86/kernel/cpu/mtrr/if.o
CC arch/x86/kernel/cpu/mtrr/generic.o
CC lib/crypto/mpi/mpi-bit.o
CC drivers/video/hdmi.o
CC arch/x86/kernel/cpu/mtrr/cleanup.o
CC sound/core/seq/seq_system.o
CC fs/quota/quota_v2.o
CC arch/x86/kernel/cpu/mce/severity.o
CC arch/x86/pci/irq.o
CC drivers/acpi/acpica/dscontrol.o
CC fs/proc/inode.o
CC fs/quota/quota_tree.o
CC arch/x86/kernel/cpu/mtrr/amd.o
CC arch/x86/events/msr.o
CC sound/core/device.o
CC kernel/irq/manage.o
CC fs/iomap/buffered-io.o
CC drivers/pnp/pnpacpi/core.o
CC fs/kernfs/mount.o
CC drivers/pnp/core.o
CC lib/zstd/zstd_decompress_module.o
CC arch/x86/kernel/cpu/microcode/intel.o
CC kernel/power/snapshot.o
CC lib/zstd/decompress/huf_decompress.o
CC sound/core/info.o
CC fs/iomap/direct-io.o
AS arch/x86/lib/msr-reg.o
CC fs/quota/quota.o
CC arch/x86/lib/msr-reg-export.o
CC net/sched/sch_blackhole.o
CC io_uring/notif.o
CC security/keys/request_key.o
CC drivers/acpi/acpica/dsdebug.o
CC lib/crypto/mpi/mpi-cmp.o
CC security/selinux/netif.o
CC crypto/geniv.o
CC arch/x86/events/intel/knc.o
AR kernel/sched/built-in.a
CC net/sched/cls_api.o
CC sound/core/seq/seq_ports.o
CC block/blk-merge.o
AS arch/x86/lib/hweight.o
AR drivers/video/built-in.a
CC kernel/locking/qrwlock.o
CC arch/x86/kernel/cpu/mtrr/cyrix.o
CC net/sched/act_api.o
CC crypto/lskcipher.o
CC arch/x86/lib/iomem.o
CC drivers/pnp/pnpacpi/rsparser.o
AR net/bpf/built-in.a
CC security/keys/request_key_auth.o
CC kernel/irq/spurious.o
AR sound/ppc/built-in.a
CC sound/core/seq/seq_info.o
CC arch/x86/mm/ioremap.o
AR drivers/pci/pcie/built-in.a
CC drivers/acpi/acpica/dsfield.o
AR drivers/pci/pwrctrl/built-in.a
CC sound/core/isadma.o
CC drivers/pci/hotplug/pci_hotplug_core.o
CC arch/x86/mm/extable.o
CC fs/proc/root.o
CC arch/x86/kernel/cpu/mce/genpool.o
CC drivers/acpi/acpica/dsinit.o
CC lib/zstd/decompress/zstd_ddict.o
CC arch/x86/lib/atomic64_32.o
CC arch/x86/events/intel/lbr.o
CC fs/kernfs/inode.o
CC lib/crypto/mpi/mpi-sub-ui.o
AR kernel/locking/built-in.a
CC arch/x86/lib/inat.o
AR sound/pci/mixart/built-in.a
CC net/core/datagram.o
CC kernel/printk/printk_safe.o
AR arch/x86/lib/built-in.a
CC net/core/stream.o
CC arch/x86/kernel/cpu/microcode/amd.o
AR arch/x86/lib/lib.a
CC sound/pci/hda/hda_jack.o
CC arch/x86/pci/common.o
AR drivers/acpi/pmic/built-in.a
CC security/selinux/netnode.o
CC arch/x86/kernel/cpu/mtrr/centaur.o
CC sound/pci/hda/hda_auto_parser.o
CC security/keys/user_defined.o
CC kernel/rcu/srcutree.o
CC net/ethtool/ioctl.o
CC kernel/rcu/tree.o
CC kernel/printk/nbcon.o
CC drivers/acpi/acpica/dsmethod.o
CC mm/folio-compat.o
AR sound/arm/built-in.a
CC block/blk-timeout.o
CC sound/core/seq/seq_dummy.o
CC security/selinux/netport.o
AR drivers/amba/built-in.a
CC net/netfilter/core.o
CC net/netfilter/nf_log.o
CC crypto/skcipher.o
CC mm/readahead.o
CC lib/crypto/gf128mul.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
CC arch/x86/kernel/cpu/mce/intel.o
CC drivers/acpi/dptf/int340x_thermal.o
CC kernel/irq/resend.o
CC io_uring/tctx.o
AR drivers/pnp/pnpacpi/built-in.a
CC arch/x86/mm/mmap.o
CC drivers/pnp/card.o
CC fs/quota/kqid.o
CC drivers/pnp/driver.o
CC arch/x86/kernel/cpu/mtrr/legacy.o
CC lib/crypto/mpi/mpi-div.o
CC fs/proc/base.o
CC drivers/pci/hotplug/acpi_pcihp.o
CC block/blk-lib.o
CC lib/zstd/decompress/zstd_decompress.o
CC fs/sysfs/file.o
CC fs/devpts/inode.o
CC net/netlink/genetlink.o
CC drivers/acpi/acpica/dsmthdat.o
CC kernel/power/swap.o
CC fs/kernfs/dir.o
CC security/keys/proc.o
AR sound/core/seq/built-in.a
CC sound/core/vmaster.o
CC kernel/irq/chip.o
AR drivers/acpi/dptf/built-in.a
AR arch/x86/kernel/cpu/mtrr/built-in.a
CC kernel/irq/dummychip.o
CC kernel/rcu/rcu_segcblist.o
CC sound/core/ctljack.o
CC lib/crypto/blake2s.o
AR arch/x86/kernel/cpu/microcode/built-in.a
CC arch/x86/pci/early.o
CC net/ipv4/netfilter/nf_defrag_ipv4.o
CC arch/x86/mm/pgtable.o
CC net/xfrm/xfrm_policy.o
CC fs/quota/netlink.o
CC kernel/printk/printk_ringbuffer.o
CC arch/x86/pci/bus_numa.o
CC arch/x86/kernel/cpu/mce/amd.o
CC drivers/acpi/acpica/dsobject.o
CC fs/sysfs/dir.o
CC kernel/dma/mapping.o
CC fs/kernfs/file.o
CC fs/iomap/fiemap.o
AR sound/pci/nm256/built-in.a
CC security/keys/sysctl.o
CC lib/crypto/mpi/mpi-mod.o
CC drivers/pnp/resource.o
CC sound/pci/hda/hda_sysfs.o
CC arch/x86/events/intel/p4.o
AR drivers/pci/switch/built-in.a
CC security/selinux/status.o
CC kernel/dma/direct.o
AR drivers/pci/hotplug/built-in.a
CC net/xfrm/xfrm_state.o
CC io_uring/filetable.o
CC drivers/pci/access.o
CC mm/swap.o
CC kernel/printk/sysctl.o
CC security/selinux/ss/ebitmap.o
CC block/blk-mq.o
AR fs/devpts/built-in.a
CC fs/netfs/buffered_read.o
CC crypto/seqiv.o
AR sound/sh/built-in.a
AR drivers/clk/actions/built-in.a
AR drivers/clk/analogbits/built-in.a
CC drivers/pnp/manager.o
CC net/netlink/policy.o
AR drivers/clk/bcm/built-in.a
CC kernel/entry/common.o
AR drivers/clk/imgtec/built-in.a
CC sound/core/jack.o
CC arch/x86/pci/amd_bus.o
AR drivers/clk/imx/built-in.a
CC lib/zstd/decompress/zstd_decompress_block.o
CC lib/zstd/zstd_common_module.o
AR drivers/clk/ingenic/built-in.a
CC drivers/acpi/acpica/dsopcode.o
AR drivers/clk/mediatek/built-in.a
AR drivers/clk/microchip/built-in.a
AR drivers/clk/mstar/built-in.a
AR drivers/clk/mvebu/built-in.a
AR drivers/clk/ralink/built-in.a
AR drivers/clk/renesas/built-in.a
AR drivers/clk/socfpga/built-in.a
AR drivers/clk/sophgo/built-in.a
AR drivers/clk/sprd/built-in.a
AR drivers/clk/starfive/built-in.a
CC fs/sysfs/symlink.o
CC kernel/module/main.o
AR drivers/clk/sunxi-ng/built-in.a
AR drivers/clk/ti/built-in.a
AR drivers/clk/versatile/built-in.a
AR drivers/clk/xilinx/built-in.a
AR drivers/clk/built-in.a
CC kernel/time/time.o
CC security/keys/keyctl_pkey.o
CC drivers/pci/bus.o
CC kernel/time/timer.o
CC block/blk-mq-tag.o
CC lib/crypto/mpi/mpi-mul.o
CC net/netfilter/nf_queue.o
CC arch/x86/mm/physaddr.o
AR kernel/printk/built-in.a
CC drivers/pci/probe.o
CC fs/iomap/seek.o
CC kernel/irq/devres.o
CC sound/core/hwdep.o
AR fs/quota/built-in.a
CC arch/x86/events/intel/p6.o
CC kernel/power/user.o
CC drivers/acpi/acpica/dspkginit.o
CC sound/pci/hda/hda_controller.o
CC sound/pci/hda/hda_proc.o
CC net/sched/sch_fifo.o
CC fs/proc/generic.o
CC crypto/echainiv.o
CC net/ipv4/netfilter/nf_reject_ipv4.o
CC fs/kernfs/symlink.o
CC net/netfilter/nf_sockopt.o
CC io_uring/rw.o
CC net/ethtool/common.o
CC kernel/module/strict_rwx.o
AR arch/x86/pci/built-in.a
CC arch/x86/kernel/cpu/cacheinfo.o
CC arch/x86/mm/tlb.o
CC drivers/pnp/support.o
CC drivers/acpi/x86/apple.o
CC fs/sysfs/mount.o
CC kernel/irq/kexec.o
AR security/keys/built-in.a
CC lib/crypto/mpi/mpih-cmp.o
CC fs/sysfs/group.o
CC lib/zstd/common/debug.o
AR net/netlink/built-in.a
CC net/core/scm.o
CC drivers/acpi/acpica/dsutils.o
CC net/ipv4/route.o
CC arch/x86/kernel/cpu/mce/threshold.o
CC drivers/dma/dw/core.o
CC fs/netfs/buffered_write.o
CC kernel/entry/syscall_user_dispatch.o
CC io_uring/net.o
CC fs/iomap/swapfile.o
CC kernel/dma/ops_helpers.o
CC sound/core/timer.o
CC security/selinux/ss/hashtab.o
CC crypto/ahash.o
CC arch/x86/events/intel/pt.o
CC kernel/power/poweroff.o
CC mm/truncate.o
CC arch/x86/events/intel/uncore.o
CC mm/vmscan.o
CC kernel/irq/autoprobe.o
CC fs/ext4/balloc.o
CC drivers/acpi/acpica/dswexec.o
CC drivers/acpi/tables.o
CC drivers/acpi/x86/cmos_rtc.o
CC drivers/pnp/interface.o
AR fs/kernfs/built-in.a
CC mm/shrinker.o
CC fs/proc/array.o
CC lib/crypto/mpi/mpih-div.o
AR kernel/power/built-in.a
CC fs/ext4/bitmap.o
CC lib/xz/xz_dec_syms.o
CC kernel/module/kmod.o
CC security/selinux/ss/symtab.o
AR kernel/entry/built-in.a
AR fs/sysfs/built-in.a
CC net/sched/cls_cgroup.o
CC net/netfilter/utils.o
CC fs/jbd2/transaction.o
CC fs/ramfs/inode.o
CC net/unix/af_unix.o
CC kernel/irq/irqdomain.o
CC lib/dim/dim.o
AR fs/iomap/built-in.a
CC lib/dim/net_dim.o
CC drivers/acpi/acpica/dswload.o
CC security/selinux/ss/sidtab.o
CC kernel/dma/remap.o
AR sound/synth/emux/built-in.a
AR sound/synth/built-in.a
AR sound/pci/oxygen/built-in.a
CC drivers/acpi/acpica/dswload2.o
CC lib/xz/xz_dec_stream.o
CC sound/pci/hda/hda_hwdep.o
CC arch/x86/mm/cpu_entry_area.o
CC drivers/pci/host-bridge.o
CC arch/x86/events/intel/uncore_nhmex.o
AR arch/x86/kernel/cpu/mce/built-in.a
CC arch/x86/kernel/cpu/scattered.o
CC net/ipv4/netfilter/ip_tables.o
CC drivers/acpi/x86/lpss.o
CC net/ethtool/netlink.o
CC drivers/pnp/quirks.o
CC kernel/time/hrtimer.o
CC fs/netfs/direct_read.o
CC net/core/gen_stats.o
CC drivers/dma/dw/dw.o
AR sound/usb/misc/built-in.a
AR sound/firewire/built-in.a
AR sound/usb/usx2y/built-in.a
CC lib/xz/xz_dec_lzma2.o
AR sound/usb/caiaq/built-in.a
AR sound/usb/6fire/built-in.a
CC lib/xz/xz_dec_bcj.o
AR sound/usb/hiface/built-in.a
CC sound/core/hrtimer.o
AR sound/usb/bcd2000/built-in.a
AR sound/usb/built-in.a
CC lib/zstd/common/entropy_common.o
CC lib/crypto/mpi/mpih-mul.o
CC crypto/shash.o
CC drivers/acpi/acpica/dswscope.o
CC fs/hugetlbfs/inode.o
CC block/blk-stat.o
CC net/xfrm/xfrm_hash.o
AR sound/pci/pcxhr/built-in.a
AR drivers/soc/apple/built-in.a
CC drivers/dma/dw/idma32.o
AR drivers/soc/aspeed/built-in.a
CC kernel/module/tree_lookup.o
CC net/xfrm/xfrm_input.o
AR drivers/soc/bcm/built-in.a
AR drivers/soc/fsl/built-in.a
CC fs/ramfs/file-mmu.o
AR drivers/soc/fujitsu/built-in.a
CC arch/x86/kernel/cpu/topology_common.o
AR drivers/soc/hisilicon/built-in.a
AR kernel/dma/built-in.a
AR kernel/rcu/built-in.a
CC lib/zstd/common/error_private.o
CC security/selinux/ss/avtab.o
AR drivers/soc/imx/built-in.a
AR drivers/soc/ixp4xx/built-in.a
CC drivers/acpi/osi.o
AR drivers/soc/loongson/built-in.a
CC fs/proc/fd.o
CC lib/zstd/common/fse_decompress.o
AR drivers/soc/mediatek/built-in.a
AR drivers/soc/microchip/built-in.a
AR drivers/soc/nuvoton/built-in.a
AR drivers/soc/pxa/built-in.a
AR drivers/soc/amlogic/built-in.a
AR drivers/soc/qcom/built-in.a
CC sound/pci/hda/hda_intel.o
CC arch/x86/mm/maccess.o
AR drivers/soc/renesas/built-in.a
CC net/sched/ematch.o
AR drivers/soc/rockchip/built-in.a
AR drivers/soc/sunxi/built-in.a
AR drivers/soc/ti/built-in.a
CC drivers/pci/remove.o
AR drivers/soc/versatile/built-in.a
AR drivers/soc/xilinx/built-in.a
CC mm/shmem.o
CC drivers/acpi/acpica/dswstate.o
AR drivers/soc/built-in.a
CC io_uring/poll.o
CC sound/core/pcm.o
CC io_uring/eventfd.o
CC lib/dim/rdma_dim.o
CC io_uring/uring_cmd.o
CC drivers/acpi/x86/s2idle.o
CC net/netfilter/nfnetlink.o
CC fs/netfs/direct_write.o
CC drivers/pnp/system.o
CC arch/x86/mm/pgprot.o
CC crypto/akcipher.o
CC lib/crypto/mpi/mpi-pow.o
CC drivers/dma/dw/acpi.o
AR lib/xz/built-in.a
CC net/ipv4/netfilter/iptable_filter.o
CC sound/core/pcm_native.o
CC arch/x86/kernel/cpu/topology_ext.o
CC kernel/irq/proc.o
CC lib/zstd/common/zstd_common.o
CC fs/jbd2/commit.o
CC net/ipv6/netfilter/ip6_tables.o
CC kernel/module/kallsyms.o
CC net/ipv6/netfilter/ip6table_filter.o
CC net/ipv4/netfilter/iptable_mangle.o
CC net/ipv4/inetpeer.o
AR lib/zstd/built-in.a
AR fs/ramfs/built-in.a
CC kernel/futex/core.o
CC drivers/acpi/acpica/evevent.o
CC net/ipv4/protocol.o
CC fs/ext4/block_validity.o
CC fs/ext4/dir.o
CC drivers/acpi/acpica/evgpe.o
CC net/netfilter/nfnetlink_log.o
AR lib/dim/built-in.a
CC fs/proc/proc_tty.o
CC arch/x86/events/intel/uncore_snb.o
CC net/core/gen_estimator.o
CC drivers/dma/hsu/hsu.o
CC block/blk-mq-sysfs.o
CC net/ethtool/bitset.o
CC drivers/pci/pci.o
AR sound/sparc/built-in.a
AR drivers/pnp/built-in.a
CC kernel/time/sleep_timeout.o
CC drivers/virtio/virtio.o
CC arch/x86/kernel/cpu/topology_amd.o
CC arch/x86/mm/pgtable_32.o
CC kernel/cgroup/cgroup.o
CC drivers/acpi/acpica/evgpeblk.o
AR sound/spi/built-in.a
AR sound/pci/riptide/built-in.a
CC kernel/module/procfs.o
CC drivers/pci/pci-driver.o
CC lib/crypto/blake2s-generic.o
AR drivers/dma/dw/built-in.a
CC net/ipv6/netfilter/ip6table_mangle.o
CC block/blk-mq-cpumap.o
CC lib/crypto/mpi/mpiutil.o
CC security/selinux/ss/policydb.o
AR net/sched/built-in.a
CC net/ethtool/strset.o
CC drivers/acpi/x86/utils.o
CC fs/netfs/iterator.o
CC kernel/futex/syscalls.o
CC kernel/irq/migration.o
CC crypto/sig.o
CC drivers/tty/vt/vt_ioctl.o
CC arch/x86/kernel/cpu/common.o
CC fs/proc/cmdline.o
AR fs/hugetlbfs/built-in.a
CC drivers/tty/hvc/hvc_console.o
CC kernel/time/timekeeping.o
CC net/xfrm/xfrm_output.o
CC kernel/module/sysfs.o
CC net/xfrm/xfrm_sysctl.o
CC net/xfrm/xfrm_replay.o
CC drivers/acpi/acpica/evgpeinit.o
CC lib/crypto/sha1.o
CC io_uring/openclose.o
AR drivers/dma/hsu/built-in.a
CC mm/util.o
AR drivers/dma/idxd/built-in.a
AR drivers/dma/amd/built-in.a
CC net/unix/garbage.o
CC arch/x86/mm/iomap_32.o
AR drivers/dma/mediatek/built-in.a
CC lib/crypto/sha256.o
AR drivers/dma/qcom/built-in.a
CC net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
CC fs/ext4/ext4_jbd2.o
AR drivers/dma/stm32/built-in.a
AR sound/pci/hda/built-in.a
CC net/ipv4/netfilter/ipt_REJECT.o
AR drivers/dma/ti/built-in.a
AR sound/pci/rme9652/built-in.a
AR drivers/dma/xilinx/built-in.a
CC drivers/dma/dmaengine.o
AR sound/pci/trident/built-in.a
AR sound/pci/ymfpci/built-in.a
CC sound/core/pcm_lib.o
AR sound/pci/vx222/built-in.a
CC drivers/virtio/virtio_ring.o
AR sound/pci/built-in.a
CC net/core/net_namespace.o
CC kernel/irq/cpuhotplug.o
CC arch/x86/events/intel/uncore_snbep.o
CC fs/fat/cache.o
CC drivers/virtio/virtio_anchor.o
CC drivers/virtio/virtio_pci_modern_dev.o
CC fs/jbd2/recovery.o
CC drivers/dma/virt-dma.o
AR lib/crypto/mpi/built-in.a
CC kernel/trace/trace_clock.o
CC [M] net/ipv4/netfilter/iptable_nat.o
CC block/blk-mq-sched.o
CC drivers/acpi/acpica/evgpeutil.o
CC drivers/acpi/x86/blacklist.o
CC fs/proc/consoles.o
CC fs/fat/dir.o
CC crypto/kpp.o
CC kernel/trace/ring_buffer.o
CC net/netfilter/nf_conntrack_core.o
CC arch/x86/mm/hugetlbpage.o
CC fs/netfs/locking.o
AR lib/crypto/built-in.a
AR kernel/module/built-in.a
CC fs/ext4/extents.o
CC drivers/dma/acpi-dma.o
CC kernel/futex/pi.o
CC lib/fonts/fonts.o
AR drivers/tty/hvc/built-in.a
CC lib/fonts/font_8x16.o
CC block/ioctl.o
CC drivers/acpi/acpica/evglock.o
CC net/core/secure_seq.o
CC drivers/tty/vt/vc_screen.o
CC net/ethtool/linkinfo.o
AR drivers/acpi/x86/built-in.a
CC fs/fat/fatent.o
CC fs/ext4/extents_status.o
CC io_uring/sqpoll.o
CC io_uring/xattr.o
CC kernel/bpf/core.o
CC kernel/irq/pm.o
CC fs/proc/cpuinfo.o
CC fs/jbd2/checkpoint.o
CC drivers/pci/search.o
CC arch/x86/events/intel/uncore_discovery.o
CC drivers/tty/vt/selection.o
AR lib/fonts/built-in.a
CC lib/argv_split.o
CC fs/isofs/namei.o
CC drivers/acpi/acpica/evhandler.o
CC block/genhd.o
CC mm/mmzone.o
CC mm/vmstat.o
CC drivers/tty/vt/keyboard.o
CC net/unix/sysctl_net_unix.o
CC arch/x86/mm/dump_pagetables.o
CC drivers/char/hw_random/core.o
CC arch/x86/kernel/cpu/rdrand.o
CC net/ipv6/netfilter/nf_conntrack_reasm.o
CC net/ipv6/netfilter/nf_reject_ipv6.o
CC drivers/char/agp/backend.o
ASN.1 crypto/rsapubkey.asn1.[ch]
ASN.1 crypto/rsaprivkey.asn1.[ch]
CC crypto/rsa.o
AR net/ipv4/netfilter/built-in.a
CC net/ipv4/ip_input.o
CC arch/x86/kernel/cpu/match.o
CC kernel/time/ntp.o
CC net/xfrm/xfrm_device.o
CC lib/bug.o
CC fs/netfs/main.o
CC kernel/futex/requeue.o
AR drivers/dma/built-in.a
CC fs/proc/devices.o
CC kernel/futex/waitwake.o
CC drivers/acpi/acpica/evmisc.o
CC net/ipv4/ip_fragment.o
CC kernel/time/clocksource.o
CC kernel/irq/msi.o
CC kernel/time/jiffies.o
CC net/ethtool/linkmodes.o
AR drivers/iommu/amd/built-in.a
CC kernel/time/timer_list.o
AR drivers/iommu/intel/built-in.a
AR drivers/iommu/arm/arm-smmu/built-in.a
CC fs/netfs/misc.o
AR drivers/iommu/arm/arm-smmu-v3/built-in.a
CC fs/isofs/inode.o
AR drivers/iommu/arm/built-in.a
CC sound/core/pcm_misc.o
AR drivers/iommu/iommufd/built-in.a
AR drivers/iommu/riscv/built-in.a
CC arch/x86/kernel/cpu/bugs.o
CC drivers/iommu/iommu.o
CC net/ipv6/af_inet6.o
CC net/ipv6/anycast.o
CC drivers/acpi/acpica/evregion.o
CC fs/jbd2/revoke.o
CC drivers/virtio/virtio_pci_legacy_dev.o
CC lib/buildid.o
CC kernel/events/core.o
CC net/core/flow_dissector.o
CC crypto/rsa_helper.o
CC fs/fat/file.o
CC fs/fat/inode.o
CC arch/x86/mm/highmem_32.o
CC drivers/char/hw_random/intel-rng.o
CC drivers/char/agp/generic.o
CC kernel/cgroup/rstat.o
CC drivers/pci/rom.o
CC fs/proc/interrupts.o
AR net/unix/built-in.a
CC kernel/events/ring_buffer.o
CC security/selinux/ss/services.o
CC fs/fat/misc.o
AR kernel/futex/built-in.a
CC kernel/trace/trace.o
CC arch/x86/kernel/cpu/aperfmperf.o
CC block/ioprio.o
CC arch/x86/events/intel/cstate.o
CC drivers/acpi/acpica/evrgnini.o
CC io_uring/nop.o
CC crypto/rsa-pkcs1pad.o
CC fs/nfs/client.o
CC sound/core/pcm_memory.o
CC net/xfrm/xfrm_nat_keepalive.o
CC drivers/tty/vt/vt.o
CC drivers/virtio/virtio_pci_modern.o
CC kernel/time/timeconv.o
CC fs/proc/loadavg.o
CC mm/backing-dev.o
CC fs/ext4/file.o
CC fs/isofs/dir.o
CC lib/clz_tab.o
AR arch/x86/mm/built-in.a
CC fs/ext4/fsmap.o
CC drivers/char/hw_random/amd-rng.o
CC net/ethtool/rss.o
CC lib/cmdline.o
CC net/ipv6/netfilter/ip6t_ipv6header.o
CC fs/jbd2/journal.o
CC drivers/pci/setup-res.o
CC kernel/irq/affinity.o
CC drivers/char/hw_random/geode-rng.o
CC drivers/acpi/acpica/evsci.o
CC net/ipv4/ip_forward.o
CC lib/cpumask.o
CC net/netfilter/nf_conntrack_standalone.o
CC drivers/pci/irq.o
CC fs/isofs/util.o
CC kernel/time/timecounter.o
CC io_uring/fs.o
CC fs/netfs/objects.o
CC kernel/time/alarmtimer.o
CC drivers/char/mem.o
CC drivers/iommu/iommu-traces.o
AR drivers/gpu/host1x/built-in.a
AR drivers/gpu/vga/built-in.a
CC drivers/char/agp/isoch.o
CC block/badblocks.o
CC block/blk-rq-qos.o
CC crypto/rsassa-pkcs1.o
CC fs/proc/meminfo.o
CC drivers/tty/serial/8250/8250_core.o
CC drivers/acpi/acpica/evxface.o
CC sound/core/memalloc.o
CC drivers/tty/serial/serial_core.o
CC kernel/irq/matrix.o
AR arch/x86/events/intel/built-in.a
AR arch/x86/events/built-in.a
AR drivers/tty/ipwireless/built-in.a
CC net/xfrm/xfrm_algo.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 drivers/gpu/drm/display/drm_display_helper_mod.o
CC drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
CC arch/x86/kernel/cpu/cpuid-deps.o
CC drivers/gpu/drm/ttm/ttm_tt.o
CC drivers/char/hw_random/via-rng.o
CC fs/fat/nfs.o
CC sound/core/pcm_timer.o
CC drivers/gpu/drm/i915/i915_config.o
CC lib/ctype.o
CC lib/dec_and_lock.o
CC drivers/virtio/virtio_pci_common.o
CC net/netfilter/nf_conntrack_expect.o
CC fs/isofs/rock.o
AR kernel/bpf/built-in.a
CC kernel/trace/trace_output.o
CC kernel/cgroup/namespace.o
CC drivers/pci/vpd.o
CC crypto/acompress.o
CC drivers/char/random.o
CC drivers/tty/serial/serial_base_bus.o
CC drivers/acpi/acpica/evxfevnt.o
CC lib/decompress.o
CC fs/isofs/export.o
CC drivers/gpu/drm/i915/i915_driver.o
CC mm/mm_init.o
CC lib/decompress_bunzip2.o
CC net/ethtool/linkstate.o
CC arch/x86/kernel/cpu/umwait.o
CC io_uring/splice.o
AR drivers/char/hw_random/built-in.a
CC io_uring/sync.o
CC security/selinux/ss/conditional.o
CC net/ipv6/netfilter/ip6t_REJECT.o
CC drivers/char/agp/amd64-agp.o
CC fs/proc/stat.o
CC fs/netfs/read_collect.o
CC sound/core/seq_device.o
CC fs/proc/uptime.o
CC drivers/gpu/drm/ttm/ttm_bo.o
CC drivers/iommu/iommu-sysfs.o
CC drivers/gpu/drm/display/drm_dp_helper.o
CC fs/nfs/dir.o
CC drivers/acpi/acpica/evxfgpe.o
CC drivers/acpi/acpica/evxfregn.o
CC net/ipv4/ip_options.o
CC block/disk-events.o
CC net/core/sysctl_net_core.o
CC drivers/tty/serial/8250/8250_platform.o
CC kernel/time/posix-timers.o
CC drivers/acpi/acpica/exconcat.o
CC fs/fat/namei_vfat.o
CC fs/exportfs/expfs.o
CC kernel/trace/trace_seq.o
CC drivers/tty/serial/8250/8250_pnp.o
CC kernel/cgroup/cgroup-v1.o
CC net/core/dev.o
CC drivers/virtio/virtio_pci_legacy.o
CC net/xfrm/xfrm_user.o
CC fs/isofs/joliet.o
AR kernel/irq/built-in.a
CC fs/isofs/compress.o
CC crypto/scompress.o
CC kernel/trace/trace_stat.o
MKCAP arch/x86/kernel/cpu/capflags.c
CC lib/decompress_inflate.o
CC fs/ext4/fsync.o
CC drivers/pci/setup-bus.o
CC drivers/gpu/drm/display/drm_dp_mst_topology.o
AR sound/core/built-in.a
CC mm/percpu.o
AR sound/parisc/built-in.a
CC drivers/acpi/acpica/exconfig.o
AR sound/pcmcia/vx/built-in.a
CC fs/proc/util.o
AR sound/pcmcia/pdaudiocf/built-in.a
AR sound/pcmcia/built-in.a
AR sound/mips/built-in.a
CC drivers/tty/serial/8250/8250_rsa.o
AR sound/soc/built-in.a
CC io_uring/msg_ring.o
AR sound/atmel/built-in.a
CC drivers/iommu/dma-iommu.o
CC sound/hda/hda_bus_type.o
CC fs/nfs/file.o
CC drivers/char/agp/intel-agp.o
CC net/ethtool/debug.o
CC net/ethtool/wol.o
CC net/netfilter/nf_conntrack_helper.o
CC block/blk-ia-ranges.o
COPY drivers/tty/vt/defkeymap.c
CC arch/x86/kernel/cpu/powerflags.o
CC drivers/tty/vt/consolemap.o
AR fs/exportfs/built-in.a
CC drivers/gpu/drm/ttm/ttm_bo_util.o
CC drivers/gpu/drm/ttm/ttm_bo_vm.o
CC lib/decompress_unlz4.o
CC net/ipv6/ip6_output.o
CC drivers/acpi/acpica/exconvrt.o
CC drivers/virtio/virtio_pci_admin_legacy_io.o
CC drivers/virtio/virtio_input.o
CC drivers/acpi/acpica/excreate.o
CC security/selinux/ss/mls.o
AR net/ipv6/netfilter/built-in.a
AR drivers/gpu/drm/renesas/rcar-du/built-in.a
AR drivers/gpu/drm/renesas/rz-du/built-in.a
CC fs/nfs/getroot.o
CC drivers/tty/serial/serial_ctrl.o
CC kernel/cgroup/freezer.o
AR drivers/gpu/drm/renesas/built-in.a
CC security/selinux/ss/context.o
CC fs/proc/version.o
CC fs/netfs/read_pgpriv2.o
AR fs/jbd2/built-in.a
CC security/selinux/netlabel.o
AR fs/isofs/built-in.a
CC net/ipv6/ip6_input.o
CC drivers/tty/serial/8250/8250_port.o
CC crypto/algboss.o
CC drivers/gpu/drm/i915/i915_drm_client.o
CC drivers/char/misc.o
CC sound/hda/hdac_bus.o
CC net/netfilter/nf_conntrack_proto.o
CC fs/fat/namei_msdos.o
CC kernel/time/posix-cpu-timers.o
CC net/ipv4/ip_output.o
CC drivers/pci/vc.o
CC drivers/acpi/acpica/exdebug.o
CC fs/ext4/hash.o
CC io_uring/advise.o
CC lib/decompress_unlzma.o
CC drivers/char/agp/intel-gtt.o
CC kernel/events/callchain.o
CC block/early-lookup.o
CC net/core/dev_addr_lists.o
CC fs/proc/softirqs.o
AR sound/x86/built-in.a
CC kernel/fork.o
CC net/core/dst.o
CC drivers/connector/cn_queue.o
CC crypto/testmgr.o
HOSTCC drivers/tty/vt/conmakehash
CC drivers/acpi/acpica/exdump.o
CC drivers/virtio/virtio_dma_buf.o
CC net/ethtool/features.o
CC drivers/tty/tty_io.o
CC drivers/gpu/drm/ttm/ttm_module.o
CC kernel/trace/trace_printk.o
CC kernel/cgroup/legacy_freezer.o
CC drivers/tty/n_tty.o
CC fs/netfs/read_retry.o
CC drivers/tty/vt/defkeymap.o
CC sound/hda/hdac_device.o
CC drivers/tty/serial/8250/8250_dma.o
CC drivers/iommu/iova.o
CC net/ipv6/addrconf.o
CC drivers/base/power/sysfs.o
CC drivers/acpi/acpica/exfield.o
CONMK drivers/tty/vt/consolemap_deftbl.c
CC drivers/tty/vt/consolemap_deftbl.o
CC drivers/base/firmware_loader/main.o
CC drivers/base/firmware_loader/builtin/main.o
CC drivers/pci/mmap.o
CC io_uring/epoll.o
AR drivers/tty/vt/built-in.a
CC fs/proc/namespaces.o
AR sound/xen/built-in.a
CC fs/proc/self.o
CC fs/proc/thread_self.o
CC fs/ext4/ialloc.o
CC block/bounce.o
AR fs/fat/built-in.a
CC lib/decompress_unlzo.o
CC block/bsg.o
CC kernel/exec_domain.o
CC drivers/gpu/drm/i915/i915_getparam.o
AR drivers/virtio/built-in.a
CC drivers/connector/connector.o
CC crypto/cmac.o
CC drivers/gpu/drm/ttm/ttm_execbuf_util.o
CC arch/x86/kernel/cpu/topology.o
AR security/selinux/built-in.a
AR security/built-in.a
CC kernel/cgroup/pids.o
CC kernel/time/posix-clock.o
AR drivers/char/agp/built-in.a
CC drivers/char/virtio_console.o
CC drivers/acpi/acpica/exfldio.o
AR drivers/base/firmware_loader/builtin/built-in.a
CC kernel/time/itimer.o
CC drivers/tty/serial/8250/8250_dwlib.o
CC drivers/base/power/generic_ops.o
CC drivers/gpu/drm/display/drm_dsc_helper.o
CC mm/slab_common.o
CC net/netfilter/nf_conntrack_proto_generic.o
CC drivers/block/loop.o
CC kernel/trace/pid_list.o
CC drivers/misc/eeprom/eeprom_93cx6.o
CC net/ethtool/privflags.o
CC kernel/trace/trace_sched_switch.o
CC net/core/netevent.o
CC crypto/hmac.o
CC drivers/pci/devres.o
AR drivers/misc/cb710/built-in.a
CC drivers/base/power/common.o
AR net/xfrm/built-in.a
CC sound/hda/hdac_sysfs.o
CC lib/decompress_unxz.o
AR drivers/iommu/built-in.a
CC fs/nfs/inode.o
CC drivers/acpi/acpica/exmisc.o
CC fs/netfs/read_single.o
CC drivers/base/regmap/regmap.o
CC io_uring/statx.o
CC fs/proc/proc_sysctl.o
CC drivers/base/power/qos.o
CC fs/ext4/indirect.o
CC drivers/gpu/drm/ttm/ttm_range_manager.o
CC block/blk-cgroup.o
CC fs/lockd/clntlock.o
CC net/netfilter/nf_conntrack_proto_tcp.o
CC kernel/cgroup/rdma.o
CC kernel/trace/trace_nop.o
AR drivers/base/firmware_loader/built-in.a
CC fs/proc/proc_net.o
CC arch/x86/kernel/cpu/proc.o
AR drivers/misc/eeprom/built-in.a
AR drivers/misc/lis3lv02d/built-in.a
AR drivers/misc/cardreader/built-in.a
CC arch/x86/kernel/cpu/feat_ctl.o
AR drivers/misc/keba/built-in.a
AR drivers/misc/built-in.a
CC fs/lockd/clntproc.o
CC fs/lockd/clntxdr.o
CC drivers/gpu/drm/i915/i915_ioctl.o
CC drivers/acpi/acpica/exmutex.o
CC net/netfilter/nf_conntrack_proto_udp.o
CC drivers/tty/serial/8250/8250_pcilib.o
CC drivers/acpi/osl.o
CC drivers/connector/cn_proc.o
CC lib/decompress_unzstd.o
CC fs/netfs/rolling_buffer.o
CC kernel/time/clockevents.o
CC lib/dump_stack.o
CC crypto/crypto_null.o
CC net/ipv4/ip_sockglue.o
CC net/ipv4/inet_hashtables.o
CC drivers/gpu/drm/display/drm_hdcp_helper.o
CC net/ipv4/inet_timewait_sock.o
CC drivers/base/regmap/regcache.o
CC io_uring/timeout.o
CC drivers/gpu/drm/ttm/ttm_resource.o
CC drivers/pci/proc.o
CC drivers/acpi/acpica/exnames.o
AR sound/virtio/built-in.a
CC kernel/panic.o
CC net/packet/af_packet.o
CC sound/hda/hdac_regmap.o
AR net/dsa/built-in.a
CC net/ethtool/rings.o
CC kernel/cgroup/cpuset.o
CC fs/ext4/inline.o
CC sound/hda/hdac_controller.o
CC drivers/char/hpet.o
CC sound/hda/hdac_stream.o
CC kernel/trace/blktrace.o
CC kernel/time/tick-common.o
CC kernel/events/hw_breakpoint.o
CC block/blk-ioprio.o
CC drivers/tty/serial/8250/8250_early.o
CC crypto/md5.o
CC lib/earlycpio.o
CC io_uring/fdinfo.o
CC drivers/acpi/acpica/exoparg1.o
CC drivers/base/power/runtime.o
CC lib/extable.o
CC drivers/block/virtio_blk.o
CC drivers/gpu/drm/i915/i915_irq.o
CC drivers/base/power/wakeirq.o
CC io_uring/cancel.o
CC drivers/gpu/drm/display/drm_hdmi_helper.o
AR drivers/base/test/built-in.a
CC fs/netfs/write_collect.o
CC fs/netfs/write_issue.o
CC net/ipv4/inet_connection_sock.o
AR drivers/connector/built-in.a
CC fs/netfs/write_retry.o
CC fs/proc/kcore.o
CC kernel/cpu.o
CC net/core/neighbour.o
CC drivers/base/power/main.o
CC fs/ext4/inode.o
CC kernel/events/uprobes.o
CC crypto/sha256_generic.o
CC drivers/pci/pci-sysfs.o
CC net/ipv4/tcp.o
CC drivers/tty/serial/8250/8250_exar.o
CC drivers/acpi/acpica/exoparg2.o
CC drivers/tty/serial/8250/8250_lpss.o
CC fs/lockd/host.o
CC lib/flex_proportions.o
CC drivers/gpu/drm/ttm/ttm_pool.o
CC block/blk-iolatency.o
CC drivers/gpu/drm/i915/i915_mitigations.o
CC mm/compaction.o
CC drivers/char/nvram.o
CC net/netfilter/nf_conntrack_proto_icmp.o
CC net/ethtool/channels.o
CC fs/nls/nls_base.o
CC drivers/tty/serial/8250/8250_mid.o
CC arch/x86/kernel/acpi/boot.o
CC sound/hda/array.o
CC kernel/time/tick-broadcast.o
CC fs/nls/nls_cp437.o
CC lib/idr.o
CC drivers/gpu/drm/display/drm_scdc_helper.o
CC drivers/acpi/acpica/exoparg3.o
CC net/core/rtnetlink.o
CC io_uring/waitid.o
CC arch/x86/kernel/cpu/intel.o
CC crypto/sha512_generic.o
CC crypto/sha3_generic.o
CC kernel/trace/trace_events.o
CC net/ipv6/addrlabel.o
CC drivers/tty/serial/serial_port.o
CC fs/nls/nls_ascii.o
CC drivers/gpu/drm/i915/i915_module.o
CC fs/proc/vmcore.o
AR drivers/block/built-in.a
CC drivers/gpu/drm/i915/i915_params.o
CC fs/lockd/svc.o
CC drivers/tty/tty_ioctl.o
CC fs/nls/nls_iso8859-1.o
CC fs/nfs/super.o
CC drivers/acpi/acpica/exoparg6.o
CC drivers/base/regmap/regcache-rbtree.o
CC sound/hda/hdmi_chmap.o
CC fs/lockd/svclock.o
CC crypto/ecb.o
AR drivers/char/built-in.a
CC net/ipv6/route.o
CC arch/x86/kernel/cpu/tsx.o
CC lib/iomem_copy.o
AR fs/netfs/built-in.a
CC drivers/gpu/drm/ttm/ttm_device.o
CC drivers/gpu/drm/ttm/ttm_sys_manager.o
CC drivers/tty/serial/8250/8250_pci.o
CC kernel/time/tick-broadcast-hrtimer.o
CC lib/irq_regs.o
CC drivers/tty/tty_ldisc.o
CC arch/x86/kernel/acpi/sleep.o
CC drivers/base/component.o
CC kernel/cgroup/misc.o
CC fs/nls/nls_utf8.o
CC lib/is_single_threaded.o
AR drivers/gpu/drm/display/built-in.a
CC net/ethtool/coalesce.o
CC arch/x86/kernel/cpu/intel_epb.o
CC drivers/base/regmap/regcache-flat.o
CC drivers/pci/slot.o
CC drivers/acpi/acpica/exprep.o
AR drivers/mfd/built-in.a
CC lib/klist.o
CC fs/ext4/ioctl.o
CC block/blk-iocost.o
CC net/netfilter/nf_conntrack_extend.o
CC drivers/gpu/drm/i915/i915_pci.o
CC crypto/cbc.o
CC fs/proc/kmsg.o
CC sound/hda/trace.o
CC kernel/time/tick-oneshot.o
CC drivers/tty/serial/8250/8250_pericom.o
CC io_uring/register.o
CC drivers/base/power/wakeup.o
CC net/netfilter/nf_conntrack_acct.o
AR fs/nls/built-in.a
AS arch/x86/kernel/acpi/wakeup_32.o
CC drivers/base/power/wakeup_stats.o
CC drivers/acpi/acpica/exregion.o
CC lib/kobject.o
AR drivers/gpu/drm/omapdrm/built-in.a
CC kernel/cgroup/debug.o
CC kernel/trace/trace_export.o
CC arch/x86/kernel/cpu/amd.o
CC kernel/exit.o
CC drivers/gpu/drm/ttm/ttm_agp_backend.o
AR kernel/events/built-in.a
CC sound/sound_core.o
CC mm/show_mem.o
CC drivers/base/core.o
CC drivers/base/regmap/regcache-maple.o
CC arch/x86/kernel/acpi/cstate.o
CC drivers/tty/serial/earlycon.o
CC crypto/ctr.o
CC drivers/acpi/acpica/exresnte.o
CC crypto/gcm.o
CC kernel/time/tick-sched.o
CC io_uring/truncate.o
CC kernel/softirq.o
CC io_uring/memmap.o
CC drivers/base/power/trace.o
CC arch/x86/kernel/apic/apic.o
CC fs/proc/page.o
CC drivers/pci/pci-acpi.o
CC drivers/pci/iomap.o
CC drivers/tty/tty_buffer.o
CC fs/lockd/svcshare.o
CC kernel/trace/trace_event_perf.o
CC fs/nfs/io.o
CC drivers/acpi/acpica/exresolv.o
CC lib/kobject_uevent.o
CC drivers/base/regmap/regmap-debugfs.o
CC mm/interval_tree.o
CC drivers/gpu/drm/i915/i915_scatterlist.o
AR drivers/gpu/drm/ttm/built-in.a
CC arch/x86/kernel/cpu/hygon.o
AR arch/x86/kernel/acpi/built-in.a
CC net/ipv4/tcp_input.o
AR drivers/tty/serial/8250/built-in.a
CC mm/list_lru.o
CC drivers/pci/quirks.o
CC net/ethtool/pause.o
AR net/packet/built-in.a
CC drivers/gpu/drm/i915/i915_switcheroo.o
CC drivers/gpu/drm/i915/i915_sysfs.o
CC drivers/tty/tty_port.o
CC sound/hda/hdac_component.o
AR kernel/cgroup/built-in.a
CC kernel/time/timer_migration.o
CC fs/nfs/direct.o
AR drivers/tty/serial/built-in.a
AR drivers/gpu/drm/tilcdc/built-in.a
CC net/core/utils.o
CC net/netfilter/nf_conntrack_seqadj.o
CC lib/logic_pio.o
CC drivers/acpi/acpica/exresop.o
CC block/mq-deadline.o
CC drivers/base/bus.o
CC drivers/acpi/utils.o
CC net/ipv4/tcp_output.o
CC net/ipv6/ip6_fib.o
AR drivers/base/power/built-in.a
CC kernel/time/vsyscall.o
AR fs/proc/built-in.a
CC kernel/trace/trace_events_filter.o
CC net/netfilter/nf_conntrack_proto_icmpv6.o
CC kernel/resource.o
CC net/ipv6/ipv6_sockglue.o
CC arch/x86/kernel/cpu/centaur.o
CC crypto/ccm.o
CC net/core/link_watch.o
CC drivers/pci/pci-label.o
AR drivers/base/regmap/built-in.a
CC drivers/base/dd.o
CC drivers/gpu/drm/virtio/virtgpu_drv.o
CC io_uring/alloc_cache.o
CC drivers/acpi/acpica/exserial.o
CC block/kyber-iosched.o
CC net/sunrpc/auth_gss/auth_gss.o
CC net/core/filter.o
CC mm/workingset.o
CC net/sunrpc/clnt.o
CC fs/lockd/svcproc.o
CC kernel/sysctl.o
CC drivers/pci/vgaarb.o
CC sound/hda/hdac_i915.o
CC drivers/tty/tty_mutex.o
CC net/ethtool/eee.o
CC fs/ext4/mballoc.o
CC net/ethtool/tsinfo.o
CC arch/x86/kernel/cpu/transmeta.o
CC lib/maple_tree.o
CC net/ethtool/cabletest.o
CC net/netfilter/nf_conntrack_netlink.o
CC drivers/gpu/drm/virtio/virtgpu_kms.o
CC arch/x86/kernel/apic/apic_common.o
CC drivers/gpu/drm/i915/i915_utils.o
CC drivers/acpi/acpica/exstore.o
CC kernel/time/timekeeping_debug.o
CC drivers/gpu/drm/i915/intel_clock_gating.o
CC sound/hda/intel-dsp-config.o
CC io_uring/io-wq.o
CC drivers/tty/tty_ldsem.o
CC arch/x86/kernel/cpu/zhaoxin.o
CC mm/debug.o
CC crypto/aes_generic.o
CC block/blk-mq-debugfs.o
CC arch/x86/kernel/apic/apic_noop.o
CC mm/gup.o
CC drivers/acpi/acpica/exstoren.o
CC drivers/base/syscore.o
CC net/sunrpc/auth_gss/gss_mech_switch.o
CC sound/last.o
CC fs/nfs/pagelist.o
CC kernel/capability.o
AR drivers/nfc/built-in.a
CC lib/memcat_p.o
AR drivers/dax/hmem/built-in.a
AR drivers/dax/built-in.a
CC block/blk-pm.o
CC drivers/dma-buf/dma-buf.o
CC drivers/acpi/reboot.o
CC drivers/gpu/drm/virtio/virtgpu_gem.o
CC kernel/time/namespace.o
CC drivers/acpi/acpica/exstorob.o
CC arch/x86/kernel/cpu/vortex.o
CC block/holder.o
CC net/ipv4/tcp_timer.o
CC arch/x86/kernel/apic/ipi.o
AR drivers/gpu/drm/imx/built-in.a
CC kernel/trace/trace_events_trigger.o
CC fs/ext4/migrate.o
CC arch/x86/kernel/kprobes/core.o
CC net/ipv4/tcp_ipv4.o
CC sound/hda/intel-nhlt.o
CC fs/lockd/svcsubs.o
AR net/wireless/tests/built-in.a
CC net/wireless/core.o
AR net/mac80211/tests/built-in.a
CC drivers/tty/tty_baudrate.o
CC net/mac80211/main.o
LDS arch/x86/kernel/vmlinux.lds
CC drivers/base/driver.o
CC drivers/base/class.o
CC drivers/acpi/acpica/exsystem.o
AR drivers/pci/built-in.a
CC io_uring/futex.o
CC net/sunrpc/auth_gss/svcauth_gss.o
CC crypto/authenc.o
CC arch/x86/kernel/cpu/perfctr-watchdog.o
CC net/ethtool/tunnels.o
CC drivers/tty/tty_jobctrl.o
CC fs/lockd/mon.o
CC arch/x86/kernel/apic/vector.o
CC lib/nmi_backtrace.o
CC drivers/acpi/nvs.o
CC arch/x86/kernel/cpu/vmware.o
CC net/core/sock_diag.o
CC arch/x86/kernel/kprobes/opt.o
CC drivers/gpu/drm/i915/intel_cpu_info.o
AR drivers/cxl/core/built-in.a
CC sound/hda/intel-sdw-acpi.o
AR drivers/cxl/built-in.a
CC drivers/macintosh/mac_hid.o
AR block/built-in.a
CC drivers/dma-buf/dma-fence.o
CC net/wireless/sysfs.o
CC drivers/gpu/drm/virtio/virtgpu_vram.o
CC net/sunrpc/xprt.o
CC net/wireless/radiotap.o
CC arch/x86/kernel/apic/init.o
CC drivers/gpu/drm/i915/intel_device_info.o
CC drivers/acpi/acpica/extrace.o
AR kernel/time/built-in.a
AR drivers/scsi/pcmcia/built-in.a
CC drivers/scsi/scsi.o
AR drivers/nvme/common/built-in.a
AR drivers/nvme/host/built-in.a
AR drivers/nvme/target/built-in.a
AR drivers/nvme/built-in.a
CC drivers/scsi/hosts.o
CC net/mac80211/status.o
CC fs/ext4/mmp.o
CC net/ipv6/ndisc.o
CC drivers/scsi/scsi_ioctl.o
CC net/ipv4/tcp_minisocks.o
CC net/ipv4/tcp_cong.o
CC net/mac80211/driver-ops.o
CC drivers/base/platform.o
CC drivers/acpi/wakeup.o
CC io_uring/napi.o
CC drivers/tty/n_null.o
CC drivers/acpi/acpica/exutils.o
CC net/mac80211/sta_info.o
AR sound/hda/built-in.a
AR sound/built-in.a
CC arch/x86/kernel/cpu/hypervisor.o
CC net/ethtool/fec.o
CC drivers/scsi/scsicam.o
CC fs/lockd/trace.o
AR drivers/macintosh/built-in.a
CC net/netlabel/netlabel_user.o
CC kernel/trace/trace_eprobe.o
CC drivers/dma-buf/dma-fence-array.o
CC crypto/authencesn.o
CC net/netfilter/nf_conntrack_ftp.o
CC drivers/gpu/drm/virtio/virtgpu_display.o
AR arch/x86/kernel/kprobes/built-in.a
CC net/netlabel/netlabel_kapi.o
CC arch/x86/kernel/cpu/mshyperv.o
CC drivers/acpi/acpica/hwacpi.o
CC net/wireless/util.o
CC net/wireless/reg.o
CC mm/mmap_lock.o
CC net/netfilter/nf_conntrack_irc.o
CC drivers/tty/pty.o
CC drivers/dma-buf/dma-fence-chain.o
CC net/wireless/scan.o
CC net/mac80211/wep.o
CC net/rfkill/core.o
CC fs/nfs/read.o
CC net/9p/mod.o
CC net/dns_resolver/dns_key.o
CC drivers/gpu/drm/i915/intel_memory_region.o
CC mm/highmem.o
CC net/handshake/alert.o
CC crypto/lzo.o
CC arch/x86/kernel/apic/hw_nmi.o
CC net/netfilter/nf_conntrack_sip.o
CC drivers/acpi/acpica/hwesleep.o
CC arch/x86/kernel/apic/io_apic.o
CC drivers/scsi/scsi_error.o
CC drivers/base/cpu.o
CC drivers/gpu/drm/virtio/virtgpu_vq.o
CC arch/x86/kernel/apic/msi.o
CC net/ethtool/eeprom.o
CC net/sunrpc/auth_gss/gss_rpc_upcall.o
CC drivers/dma-buf/dma-fence-unwrap.o
CC drivers/acpi/acpica/hwgpe.o
CC net/9p/client.o
CC fs/lockd/xdr.o
AR drivers/gpu/drm/panel/built-in.a
CC fs/lockd/clnt4xdr.o
CC arch/x86/kernel/cpu/debugfs.o
CC net/sunrpc/auth_gss/gss_rpc_xdr.o
CC drivers/tty/tty_audit.o
CC net/dns_resolver/dns_query.o
CC crypto/lzo-rle.o
AR io_uring/built-in.a
CC mm/memory.o
CC drivers/ata/libata-core.o
CC kernel/trace/trace_kprobe.o
CC fs/lockd/xdr4.o
CC drivers/gpu/drm/i915/intel_pcode.o
CC fs/lockd/svc4proc.o
CC net/rfkill/input.o
CC drivers/acpi/sleep.o
CC drivers/ata/libata-scsi.o
CC drivers/acpi/acpica/hwregs.o
CC net/netlabel/netlabel_domainhash.o
CC net/9p/error.o
CC net/devres.o
CC drivers/dma-buf/dma-resv.o
CC net/mac80211/aead_api.o
CC net/ipv4/tcp_metrics.o
AR drivers/gpu/drm/bridge/analogix/built-in.a
CC net/ethtool/stats.o
AR drivers/gpu/drm/bridge/cadence/built-in.a
AR drivers/gpu/drm/bridge/imx/built-in.a
CC net/mac80211/wpa.o
AR drivers/gpu/drm/bridge/synopsys/built-in.a
AR drivers/gpu/drm/bridge/built-in.a
CC net/sunrpc/auth_gss/trace.o
CC arch/x86/kernel/cpu/bus_lock.o
AS arch/x86/kernel/head_32.o
CC drivers/base/firmware.o
AR fs/unicode/built-in.a
CC drivers/tty/sysrq.o
CC crypto/rng.o
CC net/handshake/genl.o
CC lib/objpool.o
AR drivers/net/phy/mediatek/built-in.a
AR drivers/net/phy/qcom/built-in.a
CC fs/nfs/symlink.o
AR net/dns_resolver/built-in.a
CC drivers/net/phy/realtek/realtek_main.o
CC drivers/gpu/drm/virtio/virtgpu_fence.o
CC mm/mincore.o
CC drivers/acpi/acpica/hwsleep.o
CC lib/plist.o
CC net/ipv6/udp.o
AR net/rfkill/built-in.a
CC drivers/net/phy/mdio-boardinfo.o
CC fs/ext4/move_extent.o
CC drivers/base/init.o
CC net/sunrpc/socklib.o
CC arch/x86/kernel/head32.o
CC arch/x86/kernel/ebda.o
AR drivers/gpu/drm/hisilicon/built-in.a
CC net/wireless/nl80211.o
CC drivers/ata/libata-eh.o
CC drivers/net/phy/realtek/realtek_hwmon.o
CC net/ethtool/phc_vclocks.o
CC net/socket.o
CC net/sysctl_net.o
CC drivers/scsi/scsi_lib.o
CC drivers/acpi/acpica/hwvalid.o
CC drivers/ata/libata-transport.o
CC drivers/net/phy/stubs.o
CC arch/x86/kernel/apic/probe_32.o
CC drivers/dma-buf/sync_file.o
CC drivers/gpu/drm/i915/intel_region_ttm.o
CC fs/nfs/unlink.o
CC fs/lockd/procfs.o
CC arch/x86/kernel/cpu/capflags.o
CC net/sunrpc/xprtsock.o
AR arch/x86/kernel/cpu/built-in.a
CC crypto/drbg.o
CC drivers/scsi/constants.o
CC net/handshake/netlink.o
CC drivers/base/map.o
CC net/netfilter/nf_nat_core.o
CC net/9p/protocol.o
CC drivers/gpu/drm/virtio/virtgpu_object.o
AR drivers/tty/built-in.a
CC drivers/acpi/acpica/hwxface.o
CC drivers/acpi/acpica/hwxfsleep.o
CC net/netlabel/netlabel_addrlist.o
CC kernel/ptrace.o
CC net/sunrpc/auth_gss/gss_krb5_mech.o
CC net/core/dev_ioctl.o
AR arch/x86/kernel/apic/built-in.a
CC fs/ext4/namei.o
CC arch/x86/kernel/platform-quirks.o
CC net/ipv4/tcp_fastopen.o
CC drivers/ata/libata-trace.o
CC net/ipv6/udplite.o
AR drivers/dma-buf/built-in.a
CC net/mac80211/scan.o
CC drivers/base/devres.o
CC net/netfilter/nf_nat_proto.o
CC crypto/jitterentropy.o
CC drivers/acpi/acpica/hwpci.o
CC net/netlabel/netlabel_mgmt.o
AR drivers/net/phy/realtek/built-in.a
CC net/handshake/request.o
CC drivers/gpu/drm/virtio/virtgpu_debugfs.o
CC net/ethtool/mm.o
AR drivers/net/pse-pd/built-in.a
CC drivers/base/attribute_container.o
CC net/wireless/mlme.o
CC drivers/net/phy/mdio_devres.o
AR fs/lockd/built-in.a
CC kernel/trace/error_report-traces.o
CC net/ipv6/raw.o
CC drivers/acpi/device_sysfs.o
CC arch/x86/kernel/process_32.o
CC drivers/firewire/init_ohci1394_dma.o
CC drivers/gpu/drm/i915/intel_runtime_pm.o
CC drivers/ata/libata-sata.o
CC lib/radix-tree.o
CC drivers/acpi/device_pm.o
CC crypto/jitterentropy-kcapi.o
AR drivers/gpu/drm/mxsfb/built-in.a
CC net/sunrpc/auth_gss/gss_krb5_seal.o
CC net/9p/trans_common.o
CC drivers/acpi/acpica/nsaccess.o
CC net/sunrpc/sched.o
CC net/ethtool/module.o
CC fs/nfs/write.o
CC drivers/cdrom/cdrom.o
CC crypto/ghash-generic.o
CC drivers/scsi/scsi_lib_dma.o
CC drivers/gpu/drm/virtio/virtgpu_plane.o
CC drivers/base/transport_class.o
CC drivers/acpi/acpica/nsalloc.o
CC drivers/acpi/acpica/nsarguments.o
CC net/core/tso.o
CC net/ethtool/cmis_fw_update.o
CC drivers/gpu/drm/i915/intel_sbi.o
CC net/9p/trans_fd.o
CC drivers/net/phy/phy.o
AR drivers/firewire/built-in.a
CC drivers/base/topology.o
CC kernel/trace/power-traces.o
CC fs/autofs/init.o
CC drivers/acpi/acpica/nsconvert.o
CC drivers/scsi/scsi_scan.o
CC kernel/user.o
CC lib/ratelimit.o
CC arch/x86/kernel/signal.o
CC net/netfilter/nf_nat_helper.o
CC drivers/net/phy/phy-c45.o
CC net/ipv6/icmp.o
CC crypto/hash_info.o
CC crypto/rsapubkey.asn1.o
CC net/ipv4/tcp_rate.o
CC drivers/ata/libata-sff.o
CC crypto/rsaprivkey.asn1.o
CC drivers/gpu/drm/virtio/virtgpu_ioctl.o
CC fs/autofs/inode.o
AR crypto/built-in.a
CC net/sunrpc/auth.o
CC drivers/net/phy/phy-core.o
CC lib/rbtree.o
CC net/netlabel/netlabel_unlabeled.o
CC net/ipv4/tcp_recovery.o
AR drivers/gpu/drm/tiny/built-in.a
CC drivers/gpu/drm/i915/intel_step.o
CC drivers/acpi/acpica/nsdump.o
CC net/handshake/tlshd.o
CC drivers/gpu/drm/virtio/virtgpu_prime.o
CC lib/seq_buf.o
CC net/sunrpc/auth_gss/gss_krb5_unseal.o
CC fs/autofs/root.o
CC net/ipv6/mcast.o
CC fs/autofs/symlink.o
CC fs/autofs/waitq.o
CC drivers/base/container.o
CC drivers/net/phy/phy_device.o
CC drivers/base/property.o
CC net/mac80211/offchannel.o
CC lib/siphash.o
CC mm/mlock.o
CC drivers/net/phy/linkmode.o
CC mm/mmap.o
CC drivers/acpi/acpica/nseval.o
CC drivers/gpu/drm/i915/intel_uncore.o
CC net/sunrpc/auth_null.o
CC arch/x86/kernel/signal_32.o
CC net/ethtool/cmis_cdb.o
CC net/core/sock_reuseport.o
CC net/core/fib_notifier.o
CC arch/x86/kernel/traps.o
CC arch/x86/kernel/idt.o
CC arch/x86/kernel/irq.o
CC drivers/acpi/acpica/nsinit.o
CC lib/string.o
CC net/ethtool/pse-pd.o
CC fs/autofs/expire.o
CC net/9p/trans_virtio.o
CC net/mac80211/ht.o
CC drivers/gpu/drm/virtio/virtgpu_trace_points.o
GEN drivers/scsi/scsi_devinfo_tbl.c
CC drivers/scsi/scsi_devinfo.o
CC lib/timerqueue.o
CC net/ipv4/tcp_ulp.o
CC net/netfilter/nf_nat_masquerade.o
CC drivers/net/mdio/acpi_mdio.o
CC net/ipv6/reassembly.o
AR drivers/auxdisplay/built-in.a
CC net/netlabel/netlabel_cipso_v4.o
CC net/handshake/trace.o
CC net/sunrpc/auth_gss/gss_krb5_wrap.o
CC net/ethtool/plca.o
AR drivers/cdrom/built-in.a
AR drivers/gpu/drm/xlnx/built-in.a
CC drivers/gpu/drm/virtio/virtgpu_submit.o
CC lib/union_find.o
CC drivers/acpi/proc.o
CC drivers/acpi/bus.o
CC fs/autofs/dev-ioctl.o
CC drivers/net/mdio/fwnode_mdio.o
CC lib/vsprintf.o
CC net/ipv6/tcp_ipv6.o
CC drivers/acpi/acpica/nsload.o
CC kernel/trace/rpm-traces.o
AR drivers/gpu/drm/gud/built-in.a
CC kernel/signal.o
AR drivers/gpu/drm/solomon/built-in.a
CC kernel/sys.o
CC net/netfilter/nf_nat_ftp.o
CC net/sunrpc/auth_gss/gss_krb5_crypto.o
CC fs/ext4/page-io.o
CC drivers/ata/libata-pmp.o
AR drivers/net/pcs/built-in.a
CC fs/nfs/namespace.o
CC drivers/base/cacheinfo.o
CC net/sunrpc/auth_tls.o
CC [M] drivers/gpu/drm/scheduler/sched_main.o
CC drivers/acpi/acpica/nsnames.o
CC drivers/gpu/drm/i915/intel_uncore_trace.o
CC drivers/acpi/glue.o
CC [M] drivers/gpu/drm/scheduler/sched_fence.o
CC [M] drivers/gpu/drm/scheduler/sched_entity.o
CC net/mac80211/agg-tx.o
CC net/netlabel/netlabel_calipso.o
CC drivers/scsi/scsi_sysctl.o
CC net/core/xdp.o
CC drivers/acpi/scan.o
CC net/ipv6/ping.o
HOSTCC drivers/gpu/drm/xe/xe_gen_wa_oob
CC net/sunrpc/auth_gss/gss_krb5_keys.o
CC mm/mmu_gather.o
CC fs/ext4/readpage.o
GEN xe_wa_oob.c xe_wa_oob.h
AR drivers/gpu/drm/virtio/built-in.a
CC [M] drivers/gpu/drm/xe/xe_bb.o
CC net/ethtool/phy.o
CC drivers/acpi/acpica/nsobject.o
AR fs/autofs/built-in.a
CC drivers/base/swnode.o
AR net/9p/built-in.a
CC net/wireless/ibss.o
CC drivers/gpu/drm/i915/intel_wakeref.o
AR drivers/net/mdio/built-in.a
CC net/netfilter/nf_nat_irc.o
CC kernel/trace/trace_dynevent.o
CC kernel/umh.o
CC drivers/net/phy/phy_link_topology.o
CC net/ipv4/tcp_offload.o
CC drivers/ata/libata-acpi.o
CC lib/win_minmax.o
AR drivers/net/ethernet/3com/built-in.a
CC drivers/net/ethernet/8390/ne2k-pci.o
AR drivers/net/wireless/admtek/built-in.a
CC drivers/scsi/scsi_proc.o
AR drivers/net/usb/built-in.a
CC net/ipv4/tcp_plb.o
AR drivers/net/wireless/ath/built-in.a
AR drivers/net/wireless/atmel/built-in.a
CC net/netfilter/nf_nat_sip.o
AR drivers/net/wireless/broadcom/built-in.a
CC arch/x86/kernel/irq_32.o
CC net/ipv6/exthdrs.o
AR drivers/net/wireless/intel/built-in.a
CC drivers/net/phy/mdio_bus.o
AR drivers/net/wireless/intersil/built-in.a
CC lib/xarray.o
AR drivers/net/wireless/marvell/built-in.a
CC drivers/acpi/acpica/nsparse.o
AR drivers/net/wireless/mediatek/built-in.a
AR drivers/net/wireless/microchip/built-in.a
AR drivers/net/wireless/purelifi/built-in.a
AR net/handshake/built-in.a
AR drivers/net/wireless/quantenna/built-in.a
AR drivers/net/wireless/ralink/built-in.a
CC net/sunrpc/auth_unix.o
CC drivers/net/mii.o
CC net/sunrpc/svc.o
CC arch/x86/kernel/dumpstack_32.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
CC drivers/scsi/scsi_debugfs.o
AR drivers/net/wireless/ti/built-in.a
AR drivers/net/wireless/zydas/built-in.a
AR drivers/net/wireless/virtual/built-in.a
CC mm/mprotect.o
AR drivers/net/wireless/built-in.a
CC net/core/flow_offload.o
CC net/core/gro.o
CC fs/nfs/mount_clnt.o
CC drivers/net/ethernet/8390/8390.o
CC net/ethtool/tsconfig.o
CC drivers/net/loopback.o
AR net/netlabel/built-in.a
CC drivers/ata/libata-pata-timings.o
CC drivers/acpi/acpica/nspredef.o
CC fs/ext4/resize.o
CC fs/9p/vfs_super.o
CC net/netfilter/x_tables.o
CC [M] drivers/gpu/drm/xe/xe_bo.o
CC drivers/base/faux.o
CC fs/9p/vfs_inode.o
LD [M] drivers/gpu/drm/scheduler/gpu-sched.o
CC drivers/acpi/mipi-disco-img.o
CC net/core/netdev-genl.o
AR net/sunrpc/auth_gss/built-in.a
CC lib/lockref.o
CC kernel/trace/trace_probe.o
CC lib/bcd.o
CC net/netfilter/xt_tcpudp.o
CC drivers/ata/ahci.o
CC arch/x86/kernel/time.o
CC drivers/net/phy/mdio_device.o
AR fs/hostfs/built-in.a
CC drivers/acpi/resource.o
CC drivers/acpi/acpica/nsprepkg.o
CC net/sunrpc/svcsock.o
CC drivers/gpu/drm/i915/vlv_sideband.o
CC drivers/net/netconsole.o
CC drivers/scsi/scsi_trace.o
CC net/wireless/sme.o
CC lib/sort.o
CC kernel/trace/trace_uprobe.o
CC arch/x86/kernel/ioport.o
CC fs/nfs/nfstrace.o
CC drivers/net/phy/swphy.o
CC drivers/base/auxiliary.o
CC fs/9p/vfs_inode_dotl.o
CC net/mac80211/agg-rx.o
CC net/netfilter/xt_CONNSECMARK.o
AR drivers/net/ethernet/adaptec/built-in.a
CC net/wireless/chan.o
CC drivers/acpi/acpica/nsrepair.o
CC lib/parser.o
CC kernel/workqueue.o
CC drivers/pcmcia/cs.o
CC lib/debug_locks.o
CC mm/mremap.o
CC drivers/gpu/drm/i915/vlv_suspend.o
CC net/ipv4/datagram.o
AR drivers/net/ethernet/agere/built-in.a
CC fs/nfs/export.o
CC drivers/net/virtio_net.o
CC drivers/base/devtmpfs.o
AR net/ethtool/built-in.a
CC drivers/pcmcia/socket_sysfs.o
CC [M] drivers/gpu/drm/xe/xe_bo_evict.o
CC drivers/gpu/drm/drm_atomic.o
CC drivers/acpi/acpi_processor.o
CC net/ipv6/datagram.o
CC net/ipv4/raw.o
AR drivers/net/ethernet/8390/built-in.a
CC fs/ext4/super.o
CC fs/ext4/symlink.o
AR drivers/net/ethernet/alacritech/built-in.a
AR drivers/net/ethernet/alteon/built-in.a
CC kernel/pid.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
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 drivers/acpi/acpica/nsrepair2.o
CC lib/random32.o
CC drivers/scsi/scsi_logging.o
CC drivers/acpi/acpica/nssearch.o
CC arch/x86/kernel/dumpstack.o
CC fs/ext4/sysfs.o
CC drivers/gpu/drm/i915/soc/intel_dram.o
CC net/ipv4/udp.o
CC drivers/net/phy/fixed_phy.o
CC net/ipv4/udplite.o
CC drivers/acpi/processor_core.o
CC drivers/ata/libahci.o
CC lib/bust_spinlocks.o
CC kernel/task_work.o
CC drivers/scsi/scsi_pm.o
CC mm/msync.o
CC drivers/acpi/acpica/nsutils.o
CC [M] drivers/gpu/drm/xe/xe_devcoredump.o
CC fs/9p/vfs_addr.o
CC drivers/pcmcia/cardbus.o
CC net/core/netdev-genl-gen.o
CC net/core/gso.o
CC kernel/extable.o
CC drivers/acpi/processor_pdc.o
CC drivers/usb/common/common.o
CC drivers/base/module.o
CC drivers/usb/core/usb.o
CC net/netfilter/xt_NFLOG.o
CC drivers/usb/common/debug.o
CC arch/x86/kernel/nmi.o
AR drivers/usb/phy/built-in.a
CC fs/nfs/sysfs.o
CC kernel/trace/rethook.o
CC [M] drivers/gpu/drm/xe/xe_device.o
CC [M] drivers/gpu/drm/xe/xe_device_sysfs.o
CC arch/x86/kernel/ldt.o
CC drivers/acpi/acpica/nswalk.o
CC drivers/ata/ata_piix.o
CC net/core/net-sysfs.o
CC fs/9p/vfs_file.o
CC lib/kasprintf.o
CC drivers/usb/core/hub.o
CC drivers/net/ethernet/broadcom/tg3.o
CC drivers/base/auxiliary_sysfs.o
CC drivers/net/net_failover.o
CC drivers/pcmcia/ds.o
CC drivers/scsi/scsi_bsg.o
CC net/ipv6/ip6_flowlabel.o
CC drivers/usb/mon/mon_main.o
CC mm/page_vma_mapped.o
CC drivers/usb/mon/mon_stat.o
AR drivers/net/phy/built-in.a
CC net/mac80211/vht.o
CC drivers/acpi/acpica/nsxfeval.o
CC drivers/pcmcia/pcmcia_resource.o
CC lib/bitmap.o
CC drivers/gpu/drm/i915/soc/intel_gmch.o
CC net/ipv6/inet6_connection_sock.o
CC drivers/gpu/drm/drm_atomic_uapi.o
CC [M] drivers/gpu/drm/xe/xe_dma_buf.o
AR drivers/usb/common/built-in.a
CC drivers/usb/host/pci-quirks.o
CC fs/nfs/fs_context.o
CC drivers/usb/mon/mon_text.o
CC fs/9p/vfs_dir.o
AR drivers/net/ethernet/brocade/built-in.a
CC drivers/usb/core/hcd.o
CC drivers/base/devcoredump.o
CC mm/pagewalk.o
AR kernel/trace/built-in.a
CC drivers/gpu/drm/drm_auth.o
CC fs/debugfs/inode.o
CC net/netfilter/xt_SECMARK.o
CC net/netfilter/xt_TCPMSS.o
CC net/sunrpc/svcauth.o
CC drivers/usb/core/urb.o
CC net/core/hotdata.o
CC net/core/netdev_rx_queue.o
CC drivers/acpi/ec.o
CC net/core/net-procfs.o
CC drivers/acpi/acpica/nsxfname.o
CC arch/x86/kernel/setup.o
CC drivers/scsi/scsi_common.o
CC drivers/usb/class/usblp.o
CC drivers/acpi/dock.o
CC fs/tracefs/inode.o
CC lib/scatterlist.o
CC drivers/acpi/pci_root.o
CC net/wireless/ethtool.o
CC drivers/ata/pata_amd.o
CC fs/ext4/xattr.o
CC fs/9p/vfs_dentry.o
CC drivers/base/platform-msi.o
CC drivers/acpi/acpica/nsxfobj.o
CC drivers/base/physical_location.o
CC [M] drivers/gpu/drm/xe/xe_drm_client.o
CC net/ipv4/udp_offload.o
CC drivers/scsi/scsi_transport_spi.o
CC net/mac80211/he.o
CC drivers/usb/host/ehci-hcd.o
CC drivers/gpu/drm/i915/soc/intel_pch.o
CC drivers/usb/mon/mon_bin.o
CC drivers/usb/storage/scsiglue.o
CC drivers/pcmcia/cistpl.o
CC net/sunrpc/svcauth_unix.o
CC mm/pgtable-generic.o
CC fs/debugfs/file.o
CC net/ipv6/udp_offload.o
CC net/ipv6/seg6.o
CC drivers/input/serio/serio.o
CC drivers/scsi/virtio_scsi.o
CC drivers/acpi/acpica/psargs.o
CC drivers/gpu/drm/i915/soc/intel_rom.o
CC drivers/ata/pata_oldpiix.o
AR drivers/usb/misc/built-in.a
CC arch/x86/kernel/x86_init.o
CC drivers/input/serio/i8042.o
CC drivers/base/trace.o
AR drivers/usb/class/built-in.a
CC fs/tracefs/event_inode.o
CC fs/ext4/xattr_hurd.o
CC fs/9p/v9fs.o
CC net/ipv4/arp.o
CC net/wireless/mesh.o
CC net/core/netpoll.o
CC net/netfilter/xt_conntrack.o
CC drivers/usb/host/ehci-pci.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
CC drivers/acpi/acpica/psloop.o
AR drivers/net/ethernet/chelsio/built-in.a
AR drivers/net/ethernet/cavium/octeon/built-in.a
CC kernel/params.o
CC drivers/acpi/acpica/psobject.o
AR drivers/net/ethernet/cavium/built-in.a
CC kernel/kthread.o
CC [M] drivers/gpu/drm/xe/xe_eu_stall.o
CC drivers/usb/storage/protocol.o
CC lib/list_sort.o
CC mm/rmap.o
CC mm/vmalloc.o
CC lib/uuid.o
CC net/sunrpc/addr.o
CC drivers/pcmcia/pcmcia_cis.o
AR drivers/usb/mon/built-in.a
CC lib/iov_iter.o
CC lib/clz_ctz.o
AR drivers/net/ethernet/cisco/built-in.a
CC arch/x86/kernel/i8259.o
CC drivers/ata/pata_sch.o
CC drivers/acpi/acpica/psopcode.o
CC mm/vma.o
CC net/core/fib_rules.o
CC fs/nfs/nfsroot.o
CC [M] fs/efivarfs/inode.o
CC [M] fs/efivarfs/file.o
AR drivers/base/built-in.a
CC net/ipv6/fib6_notifier.o
CC net/netfilter/xt_policy.o
CC net/netfilter/xt_state.o
CC drivers/input/keyboard/atkbd.o
CC net/ipv6/rpl.o
CC fs/9p/fid.o
AR fs/debugfs/built-in.a
CC drivers/gpu/drm/drm_blend.o
CC drivers/gpu/drm/i915/i915_memcpy.o
CC drivers/scsi/sd.o
CC net/wireless/ap.o
CC drivers/usb/host/ohci-hcd.o
CC drivers/usb/core/message.o
CC fs/nfs/sysctl.o
AR fs/tracefs/built-in.a
CC net/core/net-traces.o
CC fs/9p/xattr.o
CC drivers/acpi/acpica/psopinfo.o
CC arch/x86/kernel/irqinit.o
CC drivers/gpu/drm/i915/i915_mm.o
CC net/core/selftests.o
CC drivers/usb/storage/transport.o
CC lib/bsearch.o
CC drivers/usb/host/ohci-pci.o
CC drivers/input/serio/serport.o
CC [M] net/netfilter/nf_log_syslog.o
CC drivers/input/serio/libps2.o
CC drivers/acpi/acpica/psparse.o
CC [M] fs/efivarfs/super.o
CC net/ipv4/icmp.o
CC drivers/ata/pata_mpiix.o
CC drivers/ata/ata_generic.o
CC drivers/pcmcia/rsrc_mgr.o
CC net/mac80211/s1g.o
CC net/ipv4/devinet.o
CC drivers/usb/core/driver.o
CC net/wireless/trace.o
CC drivers/rtc/lib.o
CC kernel/sys_ni.o
AR fs/9p/built-in.a
CC drivers/gpu/drm/i915/i915_sw_fence.o
CC [M] net/netfilter/xt_mark.o
CC drivers/acpi/acpica/psscope.o
CC net/sunrpc/rpcb_clnt.o
CC drivers/usb/storage/usb.o
CC drivers/scsi/sr.o
CC [M] drivers/gpu/drm/xe/xe_exec.o
CC drivers/usb/core/config.o
AR drivers/input/keyboard/built-in.a
CC kernel/nsproxy.o
CC fs/open.o
CC arch/x86/kernel/jump_label.o
CC drivers/input/mouse/psmouse-base.o
CC fs/read_write.o
CC net/ipv6/ioam6.o
CC drivers/gpu/drm/i915/i915_sw_fence_work.o
CC drivers/gpu/drm/i915/i915_syncmap.o
CC fs/nfs/nfs3super.o
CC lib/find_bit.o
CC net/wireless/ocb.o
AR drivers/input/serio/built-in.a
CC drivers/usb/storage/initializers.o
CC drivers/input/mouse/synaptics.o
CC drivers/acpi/acpica/pstree.o
CC fs/ext4/xattr_trusted.o
CC drivers/usb/core/file.o
CC drivers/pcmcia/rsrc_nonstatic.o
AR drivers/ata/built-in.a
CC net/ipv6/sysctl_net_ipv6.o
CC [M] fs/efivarfs/vars.o
CC drivers/acpi/pci_link.o
CC drivers/rtc/class.o
CC mm/process_vm_access.o
AR drivers/input/joystick/built-in.a
CC drivers/acpi/pci_irq.o
CC drivers/acpi/acpica/psutils.o
CC fs/nfs/nfs3client.o
CC mm/page_alloc.o
CC drivers/gpu/drm/i915/i915_user_extensions.o
CC net/ipv4/af_inet.o
CC drivers/usb/host/uhci-hcd.o
CC arch/x86/kernel/irq_work.o
CC drivers/acpi/acpica/pswalk.o
CC drivers/usb/early/ehci-dbgp.o
CC drivers/input/mouse/focaltech.o
CC drivers/usb/storage/sierra_ms.o
CC kernel/notifier.o
CC net/ipv6/xfrm6_policy.o
CC net/wireless/pmsr.o
CC drivers/pcmcia/yenta_socket.o
CC lib/llist.o
CC [M] drivers/gpu/drm/xe/xe_exec_queue.o
CC drivers/gpu/drm/i915/i915_debugfs.o
CC drivers/usb/core/buffer.o
CC drivers/acpi/acpica/psxface.o
CC drivers/acpi/acpica/rsaddr.o
CC drivers/acpi/acpica/rscalc.o
CC fs/nfs/nfs3proc.o
CC lib/lwq.o
CC drivers/rtc/interface.o
CC [M] net/netfilter/xt_nat.o
CC fs/file_table.o
CC arch/x86/kernel/probe_roms.o
CC drivers/input/mouse/alps.o
LD [M] fs/efivarfs/efivarfs.o
CC mm/page_frag_cache.o
CC drivers/usb/core/sysfs.o
CC net/ipv4/igmp.o
CC lib/memweight.o
CC [M] drivers/gpu/drm/xe/xe_execlist.o
CC drivers/usb/host/xhci.o
CC net/core/ptp_classifier.o
CC lib/kfifo.o
CC kernel/ksysfs.o
CC fs/super.o
CC drivers/scsi/sr_ioctl.o
CC fs/ext4/xattr_user.o
CC arch/x86/kernel/sys_ia32.o
CC net/ipv4/fib_frontend.o
CC drivers/usb/storage/option_ms.o
CC drivers/acpi/acpica/rscreate.o
CC fs/nfs/nfs3xdr.o
CC drivers/usb/storage/usual-tables.o
CC drivers/i2c/algos/i2c-algo-bit.o
CC net/mac80211/ibss.o
CC drivers/i2c/busses/i2c-i801.o
AR drivers/i3c/built-in.a
AR drivers/usb/early/built-in.a
AR drivers/net/ethernet/cortina/built-in.a
CC net/sunrpc/timer.o
CC drivers/input/mouse/byd.o
CC drivers/input/mouse/logips2pp.o
CC net/core/netprio_cgroup.o
AR drivers/input/tablet/built-in.a
CC drivers/acpi/acpica/rsdumpinfo.o
CC drivers/gpu/drm/drm_bridge.o
CC net/ipv4/fib_semantics.o
AR drivers/net/ethernet/dec/tulip/built-in.a
AR drivers/net/ethernet/dec/built-in.a
CC [M] drivers/gpu/drm/xe/xe_force_wake.o
CC fs/ext4/fast_commit.o
CC fs/nfs/nfs3acl.o
CC drivers/usb/host/xhci-mem.o
CC fs/nfs/nfs4proc.o
CC kernel/cred.o
CC net/mac80211/iface.o
CC lib/percpu-refcount.o
CC drivers/scsi/sr_vendor.o
CC drivers/acpi/acpica/rsinfo.o
CC net/ipv6/xfrm6_state.o
CC drivers/input/mouse/lifebook.o
CC drivers/usb/core/endpoint.o
CC net/sunrpc/xdr.o
CC [M] net/netfilter/xt_LOG.o
AR drivers/usb/storage/built-in.a
CC drivers/usb/host/xhci-ext-caps.o
AR drivers/pcmcia/built-in.a
CC drivers/usb/host/xhci-ring.o
CC mm/init-mm.o
CC arch/x86/kernel/ksysfs.o
CC drivers/acpi/acpi_apd.o
AR drivers/input/touchscreen/built-in.a
CC drivers/acpi/acpica/rsio.o
CC drivers/gpu/drm/drm_cache.o
CC drivers/gpu/drm/i915/i915_debugfs_params.o
CC fs/char_dev.o
CC mm/memblock.o
CC fs/ext4/orphan.o
AR drivers/net/ethernet/dlink/built-in.a
GEN net/wireless/shipped-certs.c
CC lib/rhashtable.o
CC drivers/rtc/nvmem.o
AR drivers/i2c/algos/built-in.a
AR drivers/media/i2c/built-in.a
CC drivers/acpi/acpica/rsirq.o
AR drivers/media/tuners/built-in.a
AR drivers/media/rc/keymaps/built-in.a
AR drivers/media/rc/built-in.a
AR drivers/media/common/b2c2/built-in.a
AR drivers/media/common/saa7146/built-in.a
AR drivers/media/common/siano/built-in.a
CC drivers/usb/host/xhci-hub.o
CC fs/nfs/nfs4xdr.o
AR drivers/media/common/v4l2-tpg/built-in.a
AR drivers/media/common/videobuf2/built-in.a
CC drivers/rtc/dev.o
AR drivers/media/common/built-in.a
AR drivers/media/platform/allegro-dvt/built-in.a
CC arch/x86/kernel/bootflag.o
AR drivers/media/platform/amlogic/meson-ge2d/built-in.a
AR drivers/media/platform/amlogic/built-in.a
AR drivers/media/platform/amphion/built-in.a
AR drivers/media/platform/aspeed/built-in.a
CC fs/ext4/acl.o
AR drivers/media/platform/atmel/built-in.a
CC lib/base64.o
AR drivers/i2c/busses/built-in.a
AR drivers/media/platform/broadcom/built-in.a
AR drivers/i2c/muxes/built-in.a
CC [M] net/netfilter/xt_MASQUERADE.o
CC drivers/i2c/i2c-boardinfo.o
AR drivers/media/platform/cadence/built-in.a
CC drivers/usb/host/xhci-dbg.o
CC drivers/input/mouse/trackpoint.o
AR drivers/net/ethernet/emulex/built-in.a
AR drivers/media/platform/chips-media/coda/built-in.a
CC drivers/usb/core/devio.o
CC [M] drivers/gpu/drm/xe/xe_ggtt.o
AR drivers/media/platform/chips-media/wave5/built-in.a
AR drivers/media/platform/chips-media/built-in.a
AR drivers/media/platform/imagination/built-in.a
CC drivers/scsi/sg.o
AR drivers/pps/clients/built-in.a
CC drivers/pps/pps.o
AR drivers/media/platform/intel/built-in.a
CC net/wireless/shipped-certs.o
CC net/ipv6/xfrm6_input.o
CC drivers/acpi/acpica/rslist.o
AR drivers/media/platform/marvell/built-in.a
AR drivers/media/platform/mediatek/jpeg/built-in.a
CC fs/nfs/nfs4state.o
AR drivers/media/platform/mediatek/mdp/built-in.a
AR drivers/media/platform/microchip/built-in.a
AR drivers/media/platform/mediatek/vcodec/common/built-in.a
CC arch/x86/kernel/e820.o
AR drivers/media/platform/mediatek/vcodec/encoder/built-in.a
AR drivers/media/platform/mediatek/vcodec/decoder/built-in.a
AR drivers/media/platform/mediatek/vcodec/built-in.a
CC net/ipv6/xfrm6_output.o
AR drivers/media/platform/mediatek/vpu/built-in.a
CC kernel/reboot.o
AR drivers/media/platform/mediatek/mdp3/built-in.a
AR drivers/media/platform/mediatek/built-in.a
AR drivers/media/platform/nuvoton/built-in.a
CC drivers/input/mouse/cypress_ps2.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
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
CC drivers/ptp/ptp_clock.o
AR drivers/media/platform/qcom/built-in.a
CC drivers/input/mouse/psmouse-smbus.o
AR drivers/media/platform/raspberrypi/pisp_be/built-in.a
AR drivers/media/platform/raspberrypi/rp1-cfe/built-in.a
AR drivers/media/platform/raspberrypi/built-in.a
CC kernel/async.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
AR drivers/media/platform/renesas/built-in.a
CC drivers/gpu/drm/drm_color_mgmt.o
CC drivers/acpi/acpica/rsmemory.o
AR drivers/media/platform/rockchip/rga/built-in.a
CC drivers/gpu/drm/i915/i915_pmu.o
AR drivers/media/platform/rockchip/rkisp1/built-in.a
AR drivers/media/platform/rockchip/built-in.a
AR drivers/media/platform/samsung/exynos-gsc/built-in.a
AR drivers/media/platform/samsung/exynos4-is/built-in.a
CC drivers/rtc/proc.o
CC lib/once.o
AR drivers/media/platform/samsung/s3c-camif/built-in.a
AR drivers/media/platform/st/sti/bdisp/built-in.a
AR drivers/media/platform/samsung/s5p-g2d/built-in.a
AR drivers/media/platform/st/sti/c8sectpfe/built-in.a
AR drivers/media/platform/samsung/s5p-jpeg/built-in.a
AR drivers/media/platform/st/sti/delta/built-in.a
CC drivers/acpi/acpi_platform.o
AR drivers/media/platform/samsung/s5p-mfc/built-in.a
AR drivers/media/platform/st/sti/hva/built-in.a
AR drivers/media/platform/samsung/built-in.a
AR drivers/media/platform/st/stm32/built-in.a
AR drivers/media/platform/st/built-in.a
CC drivers/hwmon/hwmon.o
CC net/core/netclassid_cgroup.o
CC drivers/power/supply/power_supply_core.o
AR drivers/media/platform/sunxi/sun4i-csi/built-in.a
CC drivers/usb/host/xhci-trace.o
AR drivers/media/platform/sunxi/sun6i-csi/built-in.a
AR drivers/thermal/broadcom/built-in.a
AR drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
AR drivers/thermal/renesas/built-in.a
AR drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
AR drivers/thermal/samsung/built-in.a
AR drivers/media/platform/sunxi/sun8i-di/built-in.a
CC drivers/thermal/intel/intel_tcc.o
CC drivers/power/supply/power_supply_sysfs.o
AR drivers/media/platform/sunxi/sun8i-rotate/built-in.a
CC drivers/pps/kapi.o
AR drivers/media/platform/sunxi/built-in.a
AR drivers/thermal/st/built-in.a
AR drivers/media/platform/ti/am437x/built-in.a
CC drivers/power/supply/power_supply_leds.o
CC drivers/i2c/i2c-core-base.o
AR drivers/media/platform/ti/cal/built-in.a
AR drivers/media/platform/ti/vpe/built-in.a
CC drivers/usb/host/xhci-debugfs.o
AR drivers/media/platform/ti/davinci/built-in.a
AR drivers/media/platform/ti/j721e-csi2rx/built-in.a
CC drivers/usb/core/notify.o
AR drivers/media/platform/ti/omap/built-in.a
AR drivers/media/platform/ti/omap3isp/built-in.a
AR drivers/media/platform/ti/built-in.a
CC drivers/acpi/acpica/rsmisc.o
AR drivers/media/platform/verisilicon/built-in.a
AR drivers/media/platform/via/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gpu_scheduler.o
AR drivers/media/platform/xilinx/built-in.a
AR drivers/media/platform/built-in.a
CC fs/stat.o
CC drivers/acpi/acpica/rsserial.o
CC lib/refcount.o
AR drivers/media/pci/ttpci/built-in.a
AR drivers/media/pci/b2c2/built-in.a
AR drivers/media/pci/pluto2/built-in.a
CC mm/slub.o
CC drivers/thermal/intel/therm_throt.o
AR drivers/media/pci/dm1105/built-in.a
CC fs/exec.o
AR drivers/media/pci/pt1/built-in.a
AR drivers/media/pci/pt3/built-in.a
AR drivers/media/pci/mantis/built-in.a
AR drivers/media/pci/ngene/built-in.a
AR drivers/media/pci/ddbridge/built-in.a
CC drivers/gpu/drm/i915/gt/gen2_engine_cs.o
AR drivers/media/pci/saa7146/built-in.a
AR drivers/media/pci/smipcie/built-in.a
CC [M] net/netfilter/xt_addrtype.o
AR drivers/media/pci/netup_unidvb/built-in.a
CC drivers/rtc/sysfs.o
AR drivers/media/pci/intel/ipu3/built-in.a
CC drivers/gpu/drm/i915/gt/gen6_engine_cs.o
AR drivers/media/pci/intel/ivsc/built-in.a
AR drivers/media/pci/intel/built-in.a
CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.o
AR drivers/media/pci/built-in.a
CC lib/rcuref.o
AR drivers/input/mouse/built-in.a
AR drivers/media/usb/b2c2/built-in.a
AR drivers/input/misc/built-in.a
AR drivers/media/usb/dvb-usb/built-in.a
CC drivers/input/input.o
AR drivers/media/usb/dvb-usb-v2/built-in.a
CC kernel/range.o
AR drivers/media/usb/s2255/built-in.a
AR drivers/media/usb/siano/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gsc.o
CC arch/x86/kernel/pci-dma.o
AR drivers/media/usb/ttusb-budget/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gsc_debugfs.o
AR drivers/media/usb/ttusb-dec/built-in.a
AR drivers/media/usb/built-in.a
CC fs/ext4/xattr_security.o
CC drivers/pps/sysfs.o
CC net/ipv4/fib_trie.o
CC net/ipv6/xfrm6_protocol.o
CC net/ipv6/netfilter.o
CC net/ipv6/proc.o
AR drivers/media/mmc/siano/built-in.a
AR drivers/media/mmc/built-in.a
AR drivers/media/firewire/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gsc_proxy.o
AR drivers/media/spi/built-in.a
CC drivers/acpi/acpica/rsutils.o
AR drivers/media/test-drivers/built-in.a
CC drivers/ptp/ptp_chardev.o
CC net/mac80211/link.o
AR drivers/media/built-in.a
CC lib/usercopy.o
CC kernel/smpboot.o
CC net/core/dst_cache.o
CC drivers/gpu/drm/drm_connector.o
AR drivers/net/ethernet/engleder/built-in.a
AR drivers/net/ethernet/ezchip/built-in.a
CC drivers/acpi/acpi_pnp.o
CC drivers/gpu/drm/i915/gt/gen6_ppgtt.o
CC drivers/ptp/ptp_sysfs.o
CC drivers/acpi/acpica/rsxface.o
CC drivers/power/supply/power_supply_hwmon.o
AR drivers/watchdog/built-in.a
CC drivers/scsi/scsi_sysfs.o
CC net/sunrpc/sunrpc_syms.o
AR drivers/pps/built-in.a
CC lib/errseq.o
CC drivers/i2c/i2c-core-smbus.o
CC lib/bucket_locks.o
CC drivers/rtc/rtc-mc146818-lib.o
CC net/mac80211/rate.o
CC drivers/ptp/ptp_vclock.o
CC drivers/input/input-compat.o
CC lib/generic-radix-tree.o
CC drivers/acpi/acpica/tbdata.o
AR drivers/net/ethernet/fujitsu/built-in.a
CC kernel/ucount.o
CC drivers/usb/core/generic.o
AR drivers/hwmon/built-in.a
CC drivers/acpi/acpica/tbfadt.o
CC arch/x86/kernel/quirks.o
CC net/core/gro_cells.o
CC lib/bitmap-str.o
CC net/ipv6/syncookies.o
AR drivers/power/supply/built-in.a
AR fs/ext4/built-in.a
AR drivers/power/built-in.a
CC mm/madvise.o
CC net/ipv4/fib_notifier.o
CC lib/string_helpers.o
CC net/mac80211/michael.o
AR drivers/thermal/intel/built-in.a
AR drivers/thermal/qcom/built-in.a
CC fs/nfs/nfs4renewd.o
AR drivers/thermal/tegra/built-in.a
AR drivers/thermal/mediatek/built-in.a
CC drivers/thermal/thermal_core.o
CC drivers/thermal/thermal_sysfs.o
CC net/mac80211/tkip.o
CC net/core/failover.o
CC drivers/usb/core/quirks.o
CC net/sunrpc/cache.o
CC drivers/input/input-mt.o
CC [M] drivers/gpu/drm/xe/xe_gsc_submit.o
CC drivers/thermal/thermal_trip.o
CC drivers/input/input-poller.o
CC drivers/input/ff-core.o
AR net/netfilter/built-in.a
CC drivers/usb/host/xhci-pci.o
CC [M] drivers/gpu/drm/xe/xe_gt.o
CC kernel/regset.o
CC drivers/acpi/acpica/tbfind.o
CC drivers/usb/core/devices.o
CC drivers/rtc/rtc-cmos.o
CC mm/page_io.o
AR drivers/net/ethernet/broadcom/built-in.a
AR drivers/net/ethernet/fungible/built-in.a
CC mm/swap_state.o
CC net/sunrpc/rpc_pipe.o
CC drivers/acpi/acpica/tbinstal.o
AR drivers/net/ethernet/google/built-in.a
AR drivers/net/ethernet/hisilicon/built-in.a
AR drivers/net/ethernet/huawei/built-in.a
CC drivers/net/ethernet/intel/e1000/e1000_main.o
CC drivers/ptp/ptp_kvm_x86.o
CC drivers/net/ethernet/intel/e1000e/82571.o
CC drivers/gpu/drm/i915/gt/gen7_renderclear.o
CC drivers/gpu/drm/i915/gt/gen8_engine_cs.o
CC drivers/gpu/drm/drm_crtc.o
CC drivers/i2c/i2c-core-acpi.o
CC arch/x86/kernel/kdebugfs.o
CC drivers/net/ethernet/intel/e1000e/ich8lan.o
CC drivers/acpi/acpica/tbprint.o
CC drivers/ptp/ptp_kvm_common.o
CC net/ipv4/inet_fragment.o
CC lib/hexdump.o
CC lib/kstrtox.o
CC kernel/ksyms_common.o
AR drivers/scsi/built-in.a
AR drivers/net/ethernet/i825xx/built-in.a
CC fs/nfs/nfs4super.o
CC drivers/gpu/drm/i915/gt/gen8_ppgtt.o
CC net/mac80211/aes_cmac.o
CC net/ipv4/ping.o
CC drivers/net/ethernet/intel/e100.o
AR drivers/net/ethernet/microsoft/built-in.a
CC drivers/gpu/drm/drm_displayid.o
CC drivers/md/md.o
AR drivers/net/ethernet/litex/built-in.a
CC net/sunrpc/sysfs.o
CC drivers/acpi/power.o
CC drivers/i2c/i2c-smbus.o
CC mm/swapfile.o
CC drivers/input/touchscreen.o
CC fs/pipe.o
CC drivers/acpi/acpica/tbutils.o
CC drivers/cpufreq/cpufreq.o
AR net/core/built-in.a
CC net/mac80211/aes_gmac.o
CC drivers/net/ethernet/intel/e1000/e1000_hw.o
CC drivers/usb/core/phy.o
CC lib/iomap.o
CC arch/x86/kernel/alternative.o
CC net/ipv6/calipso.o
CC drivers/md/md-bitmap.o
CC drivers/gpu/drm/drm_drv.o
AR drivers/rtc/built-in.a
CC drivers/cpuidle/governors/menu.o
CC [M] drivers/gpu/drm/xe/xe_gt_ccs_mode.o
CC kernel/groups.o
AR drivers/net/ethernet/marvell/octeon_ep/built-in.a
AR drivers/ptp/built-in.a
AR drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
CC kernel/kcmp.o
AR drivers/net/ethernet/marvell/octeontx2/built-in.a
AR drivers/net/ethernet/marvell/prestera/built-in.a
CC drivers/md/md-autodetect.o
CC drivers/net/ethernet/marvell/sky2.o
CC fs/namei.o
CC drivers/acpi/acpica/tbxface.o
CC drivers/thermal/thermal_helpers.o
CC drivers/cpuidle/cpuidle.o
CC net/ipv6/ah6.o
CC drivers/md/dm.o
CC drivers/acpi/event.o
CC drivers/input/ff-memless.o
AR drivers/usb/host/built-in.a
CC net/sunrpc/svc_xprt.o
CC fs/nfs/nfs4file.o
CC drivers/net/ethernet/intel/e1000/e1000_ethtool.o
CC net/mac80211/fils_aead.o
AR drivers/i2c/built-in.a
CC fs/nfs/delegation.o
CC drivers/usb/core/port.o
CC drivers/cpufreq/freq_table.o
CC lib/iomap_copy.o
CC drivers/cpuidle/governors/haltpoll.o
CC drivers/input/sparse-keymap.o
CC drivers/acpi/acpica/tbxfload.o
CC drivers/acpi/acpica/tbxfroot.o
CC fs/fcntl.o
AR drivers/net/ethernet/mellanox/built-in.a
CC drivers/md/dm-table.o
CC mm/swap_slots.o
CC lib/devres.o
CC fs/nfs/nfs4idmap.o
CC drivers/thermal/thermal_thresholds.o
CC arch/x86/kernel/i8253.o
CC [M] drivers/gpu/drm/xe/xe_gt_clock.o
CC kernel/freezer.o
CC kernel/profile.o
CC drivers/cpufreq/cpufreq_performance.o
CC drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
CC drivers/input/vivaldi-fmap.o
CC fs/nfs/callback.o
CC drivers/acpi/acpica/utaddress.o
CC drivers/usb/core/hcd-pci.o
CC mm/dmapool.o
CC drivers/cpuidle/driver.o
CC net/sunrpc/xprtmultipath.o
CC arch/x86/kernel/hw_breakpoint.o
AR drivers/mmc/built-in.a
CC net/ipv4/ip_tunnel_core.o
CC net/ipv4/gre_offload.o
CC lib/check_signature.o
CC drivers/thermal/thermal_netlink.o
CC net/mac80211/cfg.o
CC kernel/stacktrace.o
CC drivers/acpi/acpica/utalloc.o
CC drivers/md/dm-target.o
CC drivers/input/input-leds.o
CC lib/interval_tree.o
CC drivers/net/ethernet/intel/e1000/e1000_param.o
CC drivers/thermal/thermal_hwmon.o
CC [M] drivers/gpu/drm/xe/xe_gt_freq.o
CC mm/hugetlb.o
CC drivers/net/ethernet/intel/e1000e/80003es2lan.o
CC drivers/md/dm-linear.o
CC arch/x86/kernel/tsc.o
AR drivers/cpuidle/governors/built-in.a
CC drivers/md/dm-stripe.o
CC kernel/dma.o
CC net/ipv6/esp6.o
CC drivers/cpuidle/governor.o
CC mm/mmu_notifier.o
CC lib/assoc_array.o
CC drivers/acpi/acpica/utascii.o
CC drivers/cpufreq/cpufreq_userspace.o
CC lib/bitrev.o
CC drivers/gpu/drm/i915/gt/intel_context.o
CC drivers/gpu/drm/i915/gt/intel_context_sseu.o
CC lib/crc-ccitt.o
CC drivers/thermal/gov_step_wise.o
CC drivers/input/evdev.o
CC drivers/usb/core/usb-acpi.o
CC drivers/gpu/drm/drm_dumb_buffers.o
CC net/ipv4/metrics.o
CC drivers/acpi/acpica/utbuffer.o
CC drivers/net/ethernet/intel/e1000e/mac.o
CC fs/ioctl.o
CC drivers/acpi/evged.o
CC drivers/cpuidle/sysfs.o
CC net/ipv4/netlink.o
CC drivers/cpuidle/poll_state.o
CC drivers/acpi/acpica/utcksum.o
CC drivers/acpi/acpica/utcopy.o
CC arch/x86/kernel/tsc_msr.o
CC kernel/smp.o
CC lib/crc16.o
AR drivers/net/ethernet/meta/built-in.a
CC net/sunrpc/stats.o
CC drivers/gpu/drm/i915/gt/intel_engine_cs.o
CC drivers/cpufreq/cpufreq_ondemand.o
CC drivers/cpuidle/cpuidle-haltpoll.o
CC drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
CC drivers/md/dm-ioctl.o
CC drivers/cpufreq/cpufreq_governor.o
CC net/sunrpc/sysctl.o
CC drivers/gpu/drm/drm_edid.o
CC drivers/md/dm-io.o
CC mm/migrate.o
CC [M] drivers/gpu/drm/xe/xe_gt_idle.o
CC fs/readdir.o
CC drivers/cpufreq/cpufreq_governor_attr_set.o
CC net/ipv4/nexthop.o
HOSTCC lib/gen_crc32table
CC kernel/uid16.o
CC fs/nfs/callback_xdr.o
CC drivers/cpufreq/acpi-cpufreq.o
AR drivers/ufs/built-in.a
CC net/mac80211/ethtool.o
AR drivers/firmware/arm_ffa/built-in.a
CC fs/select.o
AR drivers/firmware/arm_scmi/built-in.a
CC lib/xxhash.o
AR drivers/firmware/broadcom/built-in.a
AR drivers/thermal/built-in.a
CC mm/page_counter.o
CC drivers/net/ethernet/intel/e1000e/manage.o
CC net/mac80211/rx.o
AR drivers/firmware/cirrus/test/built-in.a
AR drivers/firmware/cirrus/built-in.a
CC lib/genalloc.o
CC drivers/acpi/acpica/utexcep.o
AR drivers/firmware/meson/built-in.a
AR drivers/firmware/microchip/built-in.a
AR drivers/net/ethernet/intel/e1000/built-in.a
AR drivers/usb/core/built-in.a
CC mm/hugetlb_cgroup.o
AR drivers/usb/built-in.a
AR drivers/cpuidle/built-in.a
CC drivers/gpu/drm/drm_eld.o
CC drivers/gpu/drm/drm_encoder.o
CC drivers/firmware/efi/efi-bgrt.o
CC drivers/acpi/sysfs.o
CC drivers/firmware/efi/libstub/efi-stub-helper.o
CC drivers/firmware/efi/libstub/gop.o
CC arch/x86/kernel/io_delay.o
CC lib/percpu_counter.o
CC net/mac80211/spectmgmt.o
CC fs/nfs/callback_proc.o
AR drivers/input/built-in.a
CC drivers/acpi/acpica/utdebug.o
AR drivers/net/ethernet/micrel/built-in.a
CC net/ipv4/udp_tunnel_stub.o
CC drivers/firmware/efi/efi.o
CC fs/dcache.o
CC net/ipv6/sit.o
CC [M] drivers/gpu/drm/xe/xe_gt_mcr.o
CC arch/x86/kernel/rtc.o
CC fs/nfs/nfs4namespace.o
CC drivers/md/dm-kcopyd.o
AR drivers/net/ethernet/marvell/built-in.a
CC drivers/acpi/acpica/utdecode.o
CC drivers/acpi/property.o
CC drivers/net/ethernet/intel/e1000e/nvm.o
CC drivers/firmware/efi/libstub/secureboot.o
CC drivers/gpu/drm/i915/gt/intel_engine_pm.o
CC drivers/acpi/acpica/utdelete.o
CC drivers/acpi/acpica/uterror.o
CC net/ipv4/ip_tunnel.o
CC kernel/kallsyms.o
CC drivers/cpufreq/amd-pstate.o
CC kernel/acct.o
CC kernel/vmcore_info.o
AR drivers/net/ethernet/microchip/built-in.a
AR drivers/crypto/stm32/built-in.a
AR drivers/net/ethernet/mscc/built-in.a
CC net/ipv6/addrconf_core.o
CC drivers/firmware/efi/libstub/tpm.o
AR drivers/crypto/xilinx/built-in.a
CC drivers/acpi/debugfs.o
CC lib/audit.o
AR drivers/crypto/hisilicon/built-in.a
AR drivers/crypto/intel/keembay/built-in.a
CC lib/syscall.o
CC net/ipv4/sysctl_net_ipv4.o
AR drivers/crypto/intel/ixp4xx/built-in.a
CC kernel/elfcorehdr.o
AR drivers/crypto/intel/built-in.a
AR drivers/crypto/starfive/built-in.a
AR drivers/crypto/built-in.a
CC fs/inode.o
CC drivers/firmware/efi/vars.o
CC lib/errname.o
CC lib/nlattr.o
CC lib/cpu_rmap.o
CC fs/nfs/nfs4getroot.o
CC drivers/cpufreq/amd-pstate-trace.o
CC arch/x86/kernel/resource.o
CC drivers/acpi/acpica/uteval.o
CC fs/nfs/nfs4client.o
CC drivers/acpi/acpi_lpat.o
CC [M] drivers/gpu/drm/xe/xe_gt_pagefault.o
CC drivers/gpu/drm/i915/gt/intel_engine_user.o
AS arch/x86/kernel/irqflags.o
CC arch/x86/kernel/static_call.o
CC kernel/crash_reserve.o
CC lib/dynamic_queue_limits.o
CC fs/attr.o
CC mm/early_ioremap.o
CC net/mac80211/tx.o
AR net/sunrpc/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_sysfs.o
CC arch/x86/kernel/process.o
CC drivers/gpu/drm/drm_file.o
CC drivers/md/dm-sysfs.o
CC drivers/net/ethernet/intel/e1000e/phy.o
CC drivers/gpu/drm/i915/gt/intel_execlists_submission.o
CC drivers/acpi/acpica/utglobal.o
AR drivers/firmware/imx/built-in.a
CC drivers/gpu/drm/i915/gt/intel_ggtt.o
CC drivers/firmware/efi/libstub/file.o
CC drivers/clocksource/acpi_pm.o
CC arch/x86/kernel/ptrace.o
CC drivers/net/ethernet/intel/e1000e/param.o
CC drivers/hid/usbhid/hid-core.o
AR drivers/platform/x86/amd/built-in.a
AR drivers/platform/x86/intel/built-in.a
AR net/wireless/built-in.a
CC drivers/platform/x86/wmi.o
AR drivers/platform/surface/built-in.a
CC net/ipv4/proc.o
CC net/ipv6/exthdrs_core.o
CC drivers/cpufreq/intel_pstate.o
CC fs/bad_inode.o
CC drivers/firmware/efi/libstub/mem.o
CC lib/glob.o
AR drivers/net/ethernet/myricom/built-in.a
CC drivers/acpi/acpica/uthex.o
CC arch/x86/kernel/tls.o
CC drivers/md/dm-stats.o
CC net/ipv4/fib_rules.o
CC drivers/hid/usbhid/hiddev.o
CC arch/x86/kernel/step.o
CC arch/x86/kernel/i8237.o
CC net/ipv6/ip6_checksum.o
CC drivers/gpu/drm/drm_fourcc.o
CC kernel/kexec_core.o
CC drivers/firmware/efi/reboot.o
CC drivers/mailbox/mailbox.o
CC drivers/mailbox/pcc.o
CC mm/secretmem.o
CC drivers/acpi/acpica/utids.o
CC kernel/crash_core.o
CC drivers/firmware/efi/memattr.o
CC drivers/clocksource/i8253.o
CC drivers/hid/usbhid/hid-pidff.o
CC net/mac80211/key.o
AR drivers/net/ethernet/natsemi/built-in.a
AR drivers/net/ethernet/neterion/built-in.a
CC net/ipv4/ipmr.o
CC kernel/kexec.o
CC arch/x86/kernel/stacktrace.o
CC net/ipv6/ip6_icmp.o
CC lib/strncpy_from_user.o
CC lib/strnlen_user.o
CC drivers/platform/x86/wmi-bmof.o
CC drivers/firmware/efi/libstub/random.o
CC lib/net_utils.o
CC fs/nfs/nfs4session.o
CC lib/sg_pool.o
CC drivers/md/dm-rq.o
AR drivers/net/ethernet/netronome/built-in.a
CC net/mac80211/util.o
AR drivers/firmware/psci/built-in.a
CC drivers/md/dm-io-rewind.o
CC [M] drivers/gpu/drm/xe/xe_gt_throttle.o
CC drivers/hid/hid-core.o
CC drivers/acpi/acpica/utinit.o
CC fs/nfs/dns_resolve.o
AR drivers/clocksource/built-in.a
CC arch/x86/kernel/reboot.o
CC drivers/acpi/acpi_pcc.o
CC drivers/firmware/efi/libstub/randomalloc.o
CC net/ipv4/ipmr_base.o
CC fs/file.o
CC arch/x86/kernel/msr.o
AR drivers/firmware/qcom/built-in.a
CC drivers/acpi/acpica/utlock.o
CC drivers/platform/x86/eeepc-laptop.o
CC fs/nfs/nfs4trace.o
AR drivers/mailbox/built-in.a
CC drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
CC arch/x86/kernel/cpuid.o
CC kernel/utsname.o
AR drivers/net/ethernet/ni/built-in.a
CC drivers/platform/x86/p2sb.o
CC drivers/gpu/drm/i915/gt/intel_gt.o
CC net/mac80211/parse.o
CC drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
CC drivers/net/ethernet/intel/e1000e/ethtool.o
CC drivers/net/ethernet/intel/e1000e/netdev.o
CC drivers/acpi/ac.o
CC mm/hmm.o
CC drivers/net/ethernet/nvidia/forcedeth.o
AR drivers/net/ethernet/oki-semi/built-in.a
CC drivers/md/dm-builtin.o
CC drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
CC drivers/acpi/acpica/utmath.o
CC fs/filesystems.o
CC net/ipv4/syncookies.o
CC fs/nfs/nfs4sysctl.o
CC mm/memfd.o
AR drivers/perf/built-in.a
CC net/mac80211/wme.o
CC arch/x86/kernel/early-quirks.o
CC drivers/md/dm-raid1.o
CC lib/stackdepot.o
CC drivers/hid/hid-input.o
CC drivers/gpu/drm/drm_framebuffer.o
CC [M] drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
CC kernel/pid_namespace.o
CC drivers/firmware/efi/libstub/pci.o
CC net/ipv6/output_core.o
CC drivers/gpu/drm/drm_gem.o
CC fs/namespace.o
AR drivers/hwtracing/intel_th/built-in.a
CC drivers/acpi/acpica/utmisc.o
CC drivers/acpi/acpica/utmutex.o
CC mm/ptdump.o
CC net/ipv4/tunnel4.o
CC drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
CC fs/seq_file.o
AR drivers/hid/usbhid/built-in.a
CC net/mac80211/chan.o
CC [M] drivers/gpu/drm/xe/xe_gt_topology.o
AR drivers/android/built-in.a
CC mm/execmem.o
CC drivers/md/dm-log.o
CC drivers/acpi/acpica/utnonansi.o
AR drivers/cpufreq/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc.o
CC net/mac80211/trace.o
AR drivers/net/ethernet/packetengines/built-in.a
AR drivers/firmware/smccc/built-in.a
AR drivers/firmware/tegra/built-in.a
CC drivers/net/ethernet/intel/e1000e/ptp.o
CC drivers/firmware/efi/libstub/skip_spaces.o
AR drivers/platform/x86/built-in.a
AR drivers/platform/built-in.a
CC net/mac80211/mlme.o
CC [M] drivers/gpu/drm/xe/xe_guc_ads.o
CC drivers/firmware/efi/libstub/lib-cmdline.o
CC fs/xattr.o
CC drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
CC drivers/gpu/drm/drm_ioctl.o
CC arch/x86/kernel/smp.o
CC drivers/acpi/button.o
CC lib/asn1_decoder.o
CC drivers/firmware/efi/libstub/lib-ctype.o
CC drivers/firmware/efi/tpm.o
CC drivers/firmware/efi/libstub/alignedmem.o
CC net/mac80211/tdls.o
AR drivers/nvmem/layouts/built-in.a
CC drivers/nvmem/core.o
CC drivers/acpi/acpica/utobject.o
AR drivers/net/ethernet/qlogic/built-in.a
CC drivers/acpi/acpica/utosi.o
CC kernel/stop_machine.o
CC [M] drivers/gpu/drm/xe/xe_guc_buf.o
CC net/ipv4/ipconfig.o
CC drivers/md/dm-region-hash.o
CC drivers/acpi/fan_core.o
CC drivers/hid/hid-quirks.o
CC drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
AR mm/built-in.a
CC kernel/audit.o
CC net/ipv6/protocol.o
CC drivers/firmware/efi/libstub/relocate.o
AR drivers/net/ethernet/qualcomm/emac/built-in.a
AR drivers/net/ethernet/qualcomm/built-in.a
CC drivers/acpi/acpica/utownerid.o
AR drivers/firmware/xilinx/built-in.a
CC drivers/acpi/acpica/utpredef.o
GEN lib/oid_registry_data.c
CC drivers/net/ethernet/realtek/8139too.o
CC lib/ucs2_string.o
CC drivers/acpi/fan_attr.o
CC net/mac80211/ocb.o
CC drivers/md/dm-zero.o
CC drivers/hid/hid-debug.o
CC arch/x86/kernel/smpboot.o
CC drivers/net/ethernet/realtek/r8169_main.o
CC lib/sbitmap.o
CC drivers/firmware/dmi_scan.o
CC drivers/firmware/efi/memmap.o
CC kernel/auditfilter.o
AR drivers/net/ethernet/renesas/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_irq.o
CC net/ipv6/ip6_offload.o
CC drivers/net/ethernet/realtek/r8169_firmware.o
CC arch/x86/kernel/tsc_sync.o
CC [M] drivers/gpu/drm/xe/xe_guc_capture.o
CC kernel/auditsc.o
CC drivers/acpi/acpica/utresdecode.o
AR drivers/net/ethernet/rdc/built-in.a
AR drivers/net/ethernet/rocker/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_mcr.o
CC drivers/firmware/efi/libstub/printk.o
CC drivers/firmware/efi/libstub/vsprintf.o
CC drivers/acpi/acpica/utresrc.o
CC net/ipv4/netfilter.o
CC drivers/firmware/dmi-id.o
CC drivers/firmware/efi/capsule.o
AR drivers/net/ethernet/samsung/built-in.a
CC fs/libfs.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm.o
CC drivers/hid/hidraw.o
CC lib/group_cpus.o
AR drivers/md/built-in.a
AR drivers/net/ethernet/seeq/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
AR drivers/net/ethernet/silan/built-in.a
CC lib/fw_table.o
CC drivers/firmware/efi/esrt.o
CC net/ipv6/tcpv6_offload.o
CC drivers/hid/hid-generic.o
CC [M] drivers/gpu/drm/xe/xe_guc_ct.o
CC drivers/gpu/drm/drm_lease.o
CC drivers/acpi/acpica/utstate.o
CC kernel/audit_watch.o
AR drivers/nvmem/built-in.a
CC drivers/firmware/memmap.o
CC net/ipv6/exthdrs_offload.o
AR drivers/net/ethernet/sis/built-in.a
AR lib/lib.a
AR drivers/net/ethernet/sfc/built-in.a
CC drivers/hid/hid-a4tech.o
CC kernel/audit_fsnotify.o
CC drivers/gpu/drm/drm_managed.o
CC net/ipv6/inet6_hashtables.o
GEN lib/crc32table.h
CC net/ipv6/mcast_snoop.o
CC net/ipv4/tcp_cubic.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
CC drivers/firmware/efi/libstub/x86-stub.o
CC fs/fs-writeback.o
CC net/mac80211/airtime.o
CC lib/oid_registry.o
CC arch/x86/kernel/setup_percpu.o
CC drivers/acpi/acpica/utstring.o
CC drivers/net/ethernet/realtek/r8169_phy_config.o
AR fs/nfs/built-in.a
AR drivers/net/ethernet/smsc/built-in.a
CC kernel/audit_tree.o
CC fs/pnode.o
CC arch/x86/kernel/mpparse.o
CC drivers/acpi/acpica/utstrsuppt.o
CC drivers/gpu/drm/drm_mm.o
CC net/mac80211/eht.o
CC kernel/kprobes.o
AR drivers/net/ethernet/socionext/built-in.a
CC net/mac80211/led.o
CC drivers/firmware/efi/runtime-wrappers.o
AR drivers/net/ethernet/nvidia/built-in.a
CC drivers/acpi/fan_hwmon.o
CC lib/crc32.o
CC fs/splice.o
CC drivers/firmware/efi/capsule-loader.o
CC drivers/firmware/efi/libstub/smbios.o
CC drivers/gpu/drm/drm_mode_config.o
CC drivers/hid/hid-apple.o
CC net/mac80211/pm.o
CC kernel/seccomp.o
CC [M] drivers/gpu/drm/xe/xe_guc_db_mgr.o
CC drivers/gpu/drm/i915/gt/intel_gt_requests.o
CC net/ipv4/tcp_sigpool.o
CC drivers/acpi/acpica/utstrtoul64.o
AR drivers/net/ethernet/stmicro/built-in.a
CC fs/sync.o
CC drivers/gpu/drm/drm_mode_object.o
CC net/mac80211/rc80211_minstrel_ht.o
CC drivers/acpi/acpica/utxface.o
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
CC drivers/acpi/acpi_video.o
CC net/mac80211/wbrf.o
CC fs/utimes.o
AR drivers/net/ethernet/sun/built-in.a
CC kernel/relay.o
CC drivers/gpu/drm/drm_modes.o
CC drivers/firmware/efi/earlycon.o
CC drivers/acpi/acpica/utxfinit.o
AR lib/built-in.a
AR drivers/net/ethernet/tehuti/built-in.a
CC drivers/gpu/drm/drm_modeset_lock.o
CC net/ipv4/cipso_ipv4.o
CC net/ipv4/xfrm4_policy.o
CC drivers/acpi/acpica/utxferror.o
STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
CC kernel/utsname_sysctl.o
CC [M] drivers/gpu/drm/xe/xe_guc_engine_activity.o
CC drivers/hid/hid-belkin.o
CC drivers/acpi/acpica/utxfmutex.o
CC arch/x86/kernel/trace_clock.o
STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
STUBCPY drivers/firmware/efi/libstub/file.stub.o
STUBCPY drivers/firmware/efi/libstub/gop.stub.o
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
AR drivers/net/ethernet/ti/built-in.a
STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
CC drivers/gpu/drm/drm_plane.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
CC drivers/hid/hid-cherry.o
CC arch/x86/kernel/trace.o
CC [M] drivers/gpu/drm/xe/xe_guc_hwconfig.o
STUBCPY drivers/firmware/efi/libstub/random.stub.o
STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
CC drivers/gpu/drm/drm_prime.o
STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
CC drivers/hid/hid-chicony.o
AR drivers/net/ethernet/vertexcom/built-in.a
CC kernel/delayacct.o
STUBCPY drivers/firmware/efi/libstub/smbios.stub.o
STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
CC [M] drivers/gpu/drm/xe/xe_guc_id_mgr.o
STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
CC kernel/taskstats.o
AR net/ipv6/built-in.a
AR drivers/firmware/efi/libstub/lib.a
CC net/ipv4/xfrm4_state.o
CC drivers/acpi/video_detect.o
AR drivers/net/ethernet/via/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc_klv_helpers.o
CC drivers/gpu/drm/i915/gt/intel_gtt.o
AR drivers/acpi/acpica/built-in.a
CC kernel/tsacct.o
CC net/ipv4/xfrm4_input.o
CC [M] drivers/gpu/drm/xe/xe_guc_log.o
CC fs/d_path.o
AR drivers/net/ethernet/wangxun/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc_pc.o
CC fs/stack.o
AR drivers/firmware/efi/built-in.a
AR drivers/firmware/built-in.a
CC drivers/acpi/processor_driver.o
CC drivers/gpu/drm/i915/gt/intel_llc.o
CC kernel/tracepoint.o
CC drivers/hid/hid-cypress.o
CC fs/fs_struct.o
CC drivers/hid/hid-ezkey.o
AR drivers/net/ethernet/wiznet/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc_submit.o
CC kernel/irq_work.o
CC arch/x86/kernel/rethook.o
CC drivers/acpi/processor_thermal.o
CC [M] drivers/gpu/drm/xe/xe_heci_gsc.o
CC fs/statfs.o
AR drivers/net/ethernet/xilinx/built-in.a
CC kernel/static_call.o
AR drivers/net/ethernet/xircom/built-in.a
CC drivers/hid/hid-gyration.o
CC [M] drivers/gpu/drm/xe/xe_huc.o
AR drivers/net/ethernet/intel/e1000e/built-in.a
AR drivers/net/ethernet/intel/built-in.a
CC net/ipv4/xfrm4_output.o
CC drivers/gpu/drm/i915/gt/intel_lrc.o
CC kernel/padata.o
CC arch/x86/kernel/vmcore_info_32.o
AR drivers/net/ethernet/realtek/built-in.a
AR drivers/net/ethernet/synopsys/built-in.a
CC [M] drivers/gpu/drm/xe/xe_hw_engine.o
AR drivers/net/ethernet/pensando/built-in.a
CC drivers/acpi/processor_idle.o
AR drivers/net/ethernet/built-in.a
CC net/ipv4/xfrm4_protocol.o
CC drivers/gpu/drm/drm_print.o
CC arch/x86/kernel/machine_kexec_32.o
CC fs/fs_pin.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
CC drivers/gpu/drm/i915/gt/intel_migrate.o
AR drivers/net/built-in.a
CC drivers/gpu/drm/drm_property.o
CC drivers/hid/hid-ite.o
CC kernel/jump_label.o
AS arch/x86/kernel/relocate_kernel_32.o
CC arch/x86/kernel/crash_dump_32.o
CC drivers/hid/hid-kensington.o
CC fs/nsfs.o
CC drivers/gpu/drm/drm_rect.o
CC kernel/context_tracking.o
CC drivers/acpi/processor_throttling.o
CC drivers/gpu/drm/i915/gt/intel_mocs.o
CC fs/fs_types.o
CC drivers/gpu/drm/drm_syncobj.o
CC kernel/iomem.o
CC drivers/gpu/drm/i915/gt/intel_ppgtt.o
CC drivers/hid/hid-lg.o
CC drivers/hid/hid-lgff.o
CC drivers/hid/hid-lg4ff.o
CC drivers/hid/hid-lg-g15.o
CC kernel/rseq.o
CC drivers/acpi/processor_perflib.o
CC drivers/gpu/drm/drm_sysfs.o
CC drivers/gpu/drm/i915/gt/intel_rc6.o
CC drivers/hid/hid-microsoft.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_group.o
CC fs/fs_context.o
CC drivers/acpi/container.o
CC fs/fs_parser.o
CC drivers/gpu/drm/drm_trace_points.o
CC [M] drivers/gpu/drm/xe/xe_hw_fence.o
CC arch/x86/kernel/crash.o
CC fs/fsopen.o
CC drivers/hid/hid-monterey.o
CC [M] drivers/gpu/drm/xe/xe_irq.o
CC arch/x86/kernel/module.o
CC [M] drivers/gpu/drm/xe/xe_lrc.o
CC fs/init.o
CC drivers/gpu/drm/i915/gt/intel_region_lmem.o
CC fs/kernel_read_file.o
CC drivers/acpi/thermal_lib.o
CC drivers/hid/hid-ntrig.o
CC drivers/gpu/drm/drm_vblank.o
CC drivers/gpu/drm/i915/gt/intel_renderstate.o
CC fs/mnt_idmapping.o
CC arch/x86/kernel/doublefault_32.o
CC drivers/acpi/thermal.o
CC [M] drivers/gpu/drm/xe/xe_migrate.o
CC drivers/hid/hid-pl.o
CC drivers/gpu/drm/i915/gt/intel_reset.o
CC arch/x86/kernel/early_printk.o
CC fs/remap_range.o
CC drivers/hid/hid-petalynx.o
CC drivers/acpi/nhlt.o
CC drivers/gpu/drm/drm_vblank_work.o
AR net/ipv4/built-in.a
CC drivers/gpu/drm/i915/gt/intel_ring.o
CC [M] drivers/gpu/drm/xe/xe_mmio.o
CC arch/x86/kernel/hpet.o
CC fs/pidfs.o
CC drivers/acpi/acpi_memhotplug.o
CC drivers/gpu/drm/drm_vma_manager.o
CC fs/buffer.o
CC fs/mpage.o
AR kernel/built-in.a
CC [M] drivers/gpu/drm/xe/xe_mocs.o
CC [M] drivers/gpu/drm/xe/xe_module.o
CC arch/x86/kernel/amd_nb.o
CC drivers/gpu/drm/drm_writeback.o
CC drivers/acpi/ioapic.o
CC [M] drivers/gpu/drm/xe/xe_oa.o
CC drivers/gpu/drm/i915/gt/intel_ring_submission.o
CC drivers/hid/hid-redragon.o
CC drivers/gpu/drm/drm_panel.o
CC [M] drivers/gpu/drm/xe/xe_observation.o
CC arch/x86/kernel/amd_node.o
CC drivers/hid/hid-samsung.o
CC drivers/gpu/drm/drm_pci.o
CC drivers/acpi/battery.o
CC fs/proc_namespace.o
CC [M] drivers/gpu/drm/xe/xe_pat.o
CC arch/x86/kernel/kvm.o
CC drivers/gpu/drm/drm_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_pci.o
CC drivers/hid/hid-sony.o
CC drivers/gpu/drm/i915/gt/intel_rps.o
CC fs/direct-io.o
CC drivers/gpu/drm/i915/gt/intel_sa_media.o
CC drivers/hid/hid-sunplus.o
CC arch/x86/kernel/kvmclock.o
CC drivers/gpu/drm/i915/gt/intel_sseu.o
CC drivers/gpu/drm/drm_debugfs_crc.o
CC drivers/gpu/drm/drm_panel_orientation_quirks.o
CC [M] drivers/gpu/drm/xe/xe_pcode.o
CC fs/eventpoll.o
CC drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
CC arch/x86/kernel/paravirt.o
CC fs/anon_inodes.o
CC drivers/hid/hid-topseed.o
CC drivers/acpi/bgrt.o
CC arch/x86/kernel/pvclock.o
CC drivers/gpu/drm/drm_buddy.o
CC [M] drivers/gpu/drm/xe/xe_pm.o
CC drivers/acpi/spcr.o
CC drivers/gpu/drm/drm_gem_shmem_helper.o
CC drivers/gpu/drm/i915/gt/intel_timeline.o
CC arch/x86/kernel/pcspeaker.o
CC fs/signalfd.o
CC arch/x86/kernel/check.o
CC [M] drivers/gpu/drm/xe/xe_preempt_fence.o
CC drivers/gpu/drm/drm_atomic_helper.o
CC [M] drivers/gpu/drm/xe/xe_pt.o
CC drivers/gpu/drm/drm_atomic_state_helper.o
CC drivers/gpu/drm/drm_crtc_helper.o
CC drivers/gpu/drm/i915/gt/intel_tlb.o
CC arch/x86/kernel/uprobes.o
CC [M] drivers/gpu/drm/xe/xe_pt_walk.o
CC drivers/gpu/drm/i915/gt/intel_wopcm.o
CC [M] drivers/gpu/drm/xe/xe_pxp.o
CC arch/x86/kernel/perf_regs.o
CC fs/timerfd.o
CC drivers/gpu/drm/drm_damage_helper.o
CC drivers/gpu/drm/i915/gt/intel_workarounds.o
CC drivers/gpu/drm/drm_flip_work.o
CC arch/x86/kernel/tracepoint.o
CC drivers/gpu/drm/drm_format_helper.o
CC arch/x86/kernel/itmt.o
CC [M] drivers/gpu/drm/xe/xe_pxp_debugfs.o
CC fs/eventfd.o
CC drivers/gpu/drm/drm_gem_atomic_helper.o
CC [M] drivers/gpu/drm/xe/xe_pxp_submit.o
CC drivers/gpu/drm/i915/gt/shmem_utils.o
CC [M] drivers/gpu/drm/xe/xe_query.o
CC drivers/gpu/drm/i915/gt/sysfs_engines.o
CC fs/aio.o
AR drivers/acpi/built-in.a
CC arch/x86/kernel/umip.o
CC drivers/gpu/drm/drm_gem_framebuffer_helper.o
CC [M] drivers/gpu/drm/xe/xe_range_fence.o
CC fs/locks.o
AR drivers/hid/built-in.a
CC drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
CC fs/binfmt_misc.o
CC drivers/gpu/drm/drm_kms_helper_common.o
CC drivers/gpu/drm/i915/gt/gen6_renderstate.o
CC arch/x86/kernel/unwind_frame.o
CC fs/binfmt_script.o
CC drivers/gpu/drm/drm_modeset_helper.o
CC [M] drivers/gpu/drm/xe/xe_reg_sr.o
CC drivers/gpu/drm/drm_plane_helper.o
CC drivers/gpu/drm/i915/gt/gen7_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_reg_whitelist.o
CC drivers/gpu/drm/drm_probe_helper.o
CC drivers/gpu/drm/i915/gt/gen8_renderstate.o
CC drivers/gpu/drm/drm_self_refresh_helper.o
CC fs/binfmt_elf.o
CC [M] drivers/gpu/drm/xe/xe_ring_ops.o
CC [M] drivers/gpu/drm/xe/xe_rtp.o
CC drivers/gpu/drm/i915/gt/gen9_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_sa.o
CC [M] drivers/gpu/drm/xe/xe_sched_job.o
CC fs/mbcache.o
CC drivers/gpu/drm/drm_simple_kms_helper.o
CC [M] drivers/gpu/drm/xe/xe_step.o
CC fs/posix_acl.o
CC drivers/gpu/drm/bridge/panel.o
CC drivers/gpu/drm/i915/gem/i915_gem_busy.o
CC fs/coredump.o
CC [M] drivers/gpu/drm/xe/xe_survivability_mode.o
CC drivers/gpu/drm/i915/gem/i915_gem_clflush.o
CC [M] drivers/gpu/drm/xe/xe_sync.o
CC fs/drop_caches.o
CC fs/sysctls.o
CC drivers/gpu/drm/drm_mipi_dsi.o
CC drivers/gpu/drm/i915/gem/i915_gem_context.o
CC fs/fhandle.o
CC [M] drivers/gpu/drm/xe/xe_tile.o
CC [M] drivers/gpu/drm/drm_exec.o
CC drivers/gpu/drm/i915/gem/i915_gem_create.o
CC drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
AR arch/x86/kernel/built-in.a
CC [M] drivers/gpu/drm/xe/xe_tile_sysfs.o
AR arch/x86/built-in.a
CC [M] drivers/gpu/drm/drm_gpuvm.o
CC drivers/gpu/drm/i915/gem/i915_gem_domain.o
CC [M] drivers/gpu/drm/xe/xe_trace.o
CC [M] drivers/gpu/drm/xe/xe_trace_bo.o
CC drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
CC [M] drivers/gpu/drm/drm_suballoc.o
CC [M] drivers/gpu/drm/xe/xe_trace_guc.o
CC drivers/gpu/drm/i915/gem/i915_gem_internal.o
CC [M] drivers/gpu/drm/xe/xe_trace_lrc.o
CC drivers/gpu/drm/i915/gem/i915_gem_lmem.o
CC [M] drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
CC [M] drivers/gpu/drm/drm_gem_ttm_helper.o
CC drivers/gpu/drm/i915/gem/i915_gem_mman.o
CC [M] drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
CC drivers/gpu/drm/i915/gem/i915_gem_object.o
CC [M] drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
CC drivers/gpu/drm/i915/gem/i915_gem_pages.o
CC [M] drivers/gpu/drm/xe/xe_tuning.o
CC [M] drivers/gpu/drm/xe/xe_uc.o
CC drivers/gpu/drm/i915/gem/i915_gem_phys.o
CC [M] drivers/gpu/drm/xe/xe_uc_fw.o
CC drivers/gpu/drm/i915/gem/i915_gem_pm.o
CC [M] drivers/gpu/drm/xe/xe_vm.o
CC drivers/gpu/drm/i915/gem/i915_gem_region.o
CC [M] drivers/gpu/drm/xe/xe_vram.o
CC drivers/gpu/drm/i915/gem/i915_gem_shmem.o
CC [M] drivers/gpu/drm/xe/xe_vram_freq.o
CC drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
CC [M] drivers/gpu/drm/xe/xe_vsec.o
CC drivers/gpu/drm/i915/gem/i915_gem_stolen.o
LD [M] drivers/gpu/drm/drm_suballoc_helper.o
CC [M] drivers/gpu/drm/xe/xe_wa.o
CC drivers/gpu/drm/i915/gem/i915_gem_throttle.o
CC [M] drivers/gpu/drm/xe/xe_wait_user_fence.o
AR net/mac80211/built-in.a
CC [M] drivers/gpu/drm/xe/xe_wopcm.o
AR net/built-in.a
CC [M] drivers/gpu/drm/xe/xe_hmm.o
CC drivers/gpu/drm/i915/gem/i915_gem_tiling.o
CC [M] drivers/gpu/drm/xe/xe_hwmon.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm.o
CC [M] drivers/gpu/drm/xe/xe_pmu.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
CC [M] drivers/gpu/drm/xe/xe_guc_relay.o
CC [M] drivers/gpu/drm/xe/xe_memirq.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
LD [M] drivers/gpu/drm/drm_ttm_helper.o
CC [M] drivers/gpu/drm/xe/xe_sriov.o
CC drivers/gpu/drm/i915/gem/i915_gem_userptr.o
CC [M] drivers/gpu/drm/xe/xe_sriov_vf.o
CC drivers/gpu/drm/i915/gem/i915_gem_wait.o
CC drivers/gpu/drm/i915/gem/i915_gemfs.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_irq.o
CC drivers/gpu/drm/i915/i915_active.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_utils.o
CC drivers/gpu/drm/i915/i915_cmd_parser.o
CC [M] drivers/gpu/drm/xe/display/intel_bo.o
CC drivers/gpu/drm/i915/i915_deps.o
CC drivers/gpu/drm/i915/i915_gem.o
CC [M] drivers/gpu/drm/xe/display/intel_fb_bo.o
CC drivers/gpu/drm/i915/i915_gem_evict.o
AR fs/built-in.a
CC drivers/gpu/drm/i915/i915_gem_gtt.o
CC [M] drivers/gpu/drm/xe/display/intel_fbdev_fb.o
CC drivers/gpu/drm/i915/i915_gem_ww.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/i915_query.o
CC drivers/gpu/drm/i915/i915_request.o
CC drivers/gpu/drm/i915/i915_scheduler.o
CC [M] drivers/gpu/drm/xe/display/xe_fb_pin.o
CC [M] drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
CC drivers/gpu/drm/i915/i915_trace_points.o
CC [M] drivers/gpu/drm/xe/display/xe_plane_initial.o
CC [M] drivers/gpu/drm/xe/display/xe_tdf.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_dram.o
CC drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
CC drivers/gpu/drm/i915/i915_vma.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/i915_vma_resource.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/gt/uc/intel_gsc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_audio.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_backlight.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bios.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bw.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cdclk.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cmtg.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_color.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
CC 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_connector.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_crtc.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cursor.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_conversion.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_display_device.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_driver.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_irq.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_params.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
CC drivers/gpu/drm/i915/gt/intel_gsc.o
CC drivers/gpu/drm/i915/i915_hwmon.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power.o
CC drivers/gpu/drm/i915/display/hsw_ips.o
CC drivers/gpu/drm/i915/display/i9xx_plane.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
CC drivers/gpu/drm/i915/display/i9xx_display_sr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_trace.o
CC drivers/gpu/drm/i915/display/i9xx_wm.o
CC drivers/gpu/drm/i915/display/intel_alpm.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_wa.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_dkl_phy.o
CC drivers/gpu/drm/i915/display/intel_audio.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dmc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dmc_wl.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp.o
CC drivers/gpu/drm/i915/display/intel_bios.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o
CC drivers/gpu/drm/i915/display/intel_bo.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
CC drivers/gpu/drm/i915/display/intel_bw.o
CC drivers/gpu/drm/i915/display/intel_cdclk.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_test.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll.o
CC drivers/gpu/drm/i915/display/intel_cmtg.o
CC drivers/gpu/drm/i915/display/intel_color.o
CC drivers/gpu/drm/i915/display/intel_combo_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_drrs.o
CC drivers/gpu/drm/i915/display/intel_connector.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsb.o
CC drivers/gpu/drm/i915/display/intel_crtc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi.o
CC drivers/gpu/drm/i915/display/intel_crtc_state_dump.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/display/intel_cursor.o
CC drivers/gpu/drm/i915/display/intel_display.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_encoder.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fb.o
CC drivers/gpu/drm/i915/display/intel_display_conversion.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fbc.o
CC drivers/gpu/drm/i915/display/intel_display_driver.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fdi.o
CC drivers/gpu/drm/i915/display/intel_display_irq.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_display_params.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_global_state.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_gmbus.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
CC drivers/gpu/drm/i915/display/intel_display_power.o
CC drivers/gpu/drm/i915/display/intel_display_power_map.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdmi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hti.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_link_bw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_lspcon.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
CC drivers/gpu/drm/i915/display/intel_display_power_well.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_modeset_setup.o
CC drivers/gpu/drm/i915/display/intel_display_snapshot.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_wa.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pfit.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/intel_pmdemand.o
CC drivers/gpu/drm/i915/display/intel_dpio_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pps.o
CC drivers/gpu/drm/i915/display/intel_dpll.o
CC drivers/gpu/drm/i915/display/intel_dpll_mgr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_psr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_quirks.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_snps_hdmi_pll.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
CC drivers/gpu/drm/i915/display/intel_dpt.o
CC drivers/gpu/drm/i915/display/intel_dpt_common.o
CC drivers/gpu/drm/i915/display/intel_drrs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_tc.o
CC drivers/gpu/drm/i915/display/intel_dsb.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vblank.o
CC drivers/gpu/drm/i915/display/intel_dsb_buffer.o
CC drivers/gpu/drm/i915/display/intel_fb.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vdsc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vga.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vrr.o
CC drivers/gpu/drm/i915/display/intel_fb_bo.o
CC drivers/gpu/drm/i915/display/intel_fb_pin.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_wm.o
CC drivers/gpu/drm/i915/display/intel_fbc.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_scaler.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_watermark.o
CC drivers/gpu/drm/i915/display/intel_fdi.o
CC drivers/gpu/drm/i915/display/intel_fifo_underrun.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_acpi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_opregion.o
CC [M] drivers/gpu/drm/xe/xe_debugfs.o
CC drivers/gpu/drm/i915/display/intel_frontbuffer.o
CC [M] drivers/gpu/drm/xe/xe_gt_debugfs.o
CC drivers/gpu/drm/i915/display/intel_global_state.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.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 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 [M] drivers/gpu/drm/xe/xe_uc_debugfs.o
CC drivers/gpu/drm/i915/display/intel_hotplug.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
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
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_hdmi_pll.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
LD [M] drivers/gpu/drm/xe/xe.o
AR drivers/gpu/drm/i915/built-in.a
AR drivers/gpu/drm/built-in.a
AR drivers/gpu/built-in.a
AR drivers/built-in.a
AR built-in.a
AR vmlinux.a
LD vmlinux.o
OBJCOPY modules.builtin.modinfo
GEN modules.builtin
MODPOST Module.symvers
CC .vmlinux.export.o
CC [M] fs/efivarfs/efivarfs.mod.o
CC [M] .module-common.o
CC [M] drivers/gpu/drm/drm_exec.mod.o
CC [M] drivers/gpu/drm/drm_gpuvm.mod.o
CC [M] drivers/gpu/drm/drm_suballoc_helper.mod.o
CC [M] drivers/gpu/drm/drm_ttm_helper.mod.o
CC [M] drivers/gpu/drm/scheduler/gpu-sched.mod.o
CC [M] drivers/gpu/drm/xe/xe.mod.o
CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.mod.o
CC [M] net/netfilter/nf_log_syslog.mod.o
CC [M] net/netfilter/xt_mark.mod.o
CC [M] net/netfilter/xt_nat.mod.o
CC [M] net/netfilter/xt_LOG.mod.o
CC [M] net/netfilter/xt_MASQUERADE.mod.o
CC [M] net/netfilter/xt_addrtype.mod.o
CC [M] net/ipv4/netfilter/iptable_nat.mod.o
LD [M] net/netfilter/xt_mark.ko
LD [M] drivers/gpu/drm/drm_exec.ko
LD [M] drivers/gpu/drm/drm_gpuvm.ko
LD [M] drivers/gpu/drm/drm_ttm_helper.ko
LD [M] net/netfilter/xt_nat.ko
LD [M] net/netfilter/xt_LOG.ko
LD [M] net/netfilter/nf_log_syslog.ko
LD [M] drivers/thermal/intel/x86_pkg_temp_thermal.ko
LD [M] net/ipv4/netfilter/iptable_nat.ko
LD [M] net/netfilter/xt_MASQUERADE.ko
LD [M] net/netfilter/xt_addrtype.ko
LD [M] drivers/gpu/drm/scheduler/gpu-sched.ko
LD [M] drivers/gpu/drm/drm_suballoc_helper.ko
LD [M] drivers/gpu/drm/xe/xe.ko
LD [M] fs/efivarfs/efivarfs.ko
UPD include/generated/utsversion.h
CC init/version-timestamp.o
KSYMS .tmp_vmlinux0.kallsyms.S
AS .tmp_vmlinux0.kallsyms.o
LD .tmp_vmlinux1
NM .tmp_vmlinux1.syms
KSYMS .tmp_vmlinux1.kallsyms.S
AS .tmp_vmlinux1.kallsyms.o
LD .tmp_vmlinux2
NM .tmp_vmlinux2.syms
KSYMS .tmp_vmlinux2.kallsyms.S
AS .tmp_vmlinux2.kallsyms.o
LD vmlinux
NM System.map
SORTTAB vmlinux
RELOCS arch/x86/boot/compressed/vmlinux.relocs
RSTRIP vmlinux
CC arch/x86/boot/a20.o
AS arch/x86/boot/bioscall.o
CC arch/x86/boot/cmdline.o
AS arch/x86/boot/copy.o
HOSTCC arch/x86/boot/mkcpustr
CC arch/x86/boot/cpuflags.o
CC arch/x86/boot/cpucheck.o
CC arch/x86/boot/early_serial_console.o
CC arch/x86/boot/edd.o
CC arch/x86/boot/main.o
CC arch/x86/boot/memory.o
CC arch/x86/boot/pm.o
AS arch/x86/boot/pmjump.o
CC arch/x86/boot/printf.o
CC arch/x86/boot/regs.o
CC arch/x86/boot/string.o
CC arch/x86/boot/tty.o
CC arch/x86/boot/video.o
CC arch/x86/boot/video-mode.o
CC arch/x86/boot/version.o
CC arch/x86/boot/video-vga.o
CC arch/x86/boot/video-vesa.o
CC arch/x86/boot/video-bios.o
HOSTCC arch/x86/boot/tools/build
CPUSTR arch/x86/boot/cpustr.h
CC arch/x86/boot/cpu.o
LDS arch/x86/boot/compressed/vmlinux.lds
AS arch/x86/boot/compressed/kernel_info.o
AS arch/x86/boot/compressed/head_32.o
VOFFSET arch/x86/boot/compressed/../voffset.h
CC arch/x86/boot/compressed/string.o
CC arch/x86/boot/compressed/cmdline.o
CC arch/x86/boot/compressed/error.o
OBJCOPY arch/x86/boot/compressed/vmlinux.bin
HOSTCC arch/x86/boot/compressed/mkpiggy
CC arch/x86/boot/compressed/cpuflags.o
CC arch/x86/boot/compressed/early_serial_console.o
CC arch/x86/boot/compressed/kaslr.o
CC arch/x86/boot/compressed/acpi.o
CC arch/x86/boot/compressed/efi.o
GZIP arch/x86/boot/compressed/vmlinux.bin.gz
CC arch/x86/boot/compressed/misc.o
MKPIGGY arch/x86/boot/compressed/piggy.S
AS arch/x86/boot/compressed/piggy.o
LD arch/x86/boot/compressed/vmlinux
ZOFFSET arch/x86/boot/zoffset.h
OBJCOPY arch/x86/boot/vmlinux.bin
AS arch/x86/boot/header.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
BUILD arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready (#1)
run-parts: executing /workspace/ci/hooks/20-kernel-doc
+ SRC_DIR=/workspace/kernel
+ cd /workspace/kernel
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
All hooks done
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✓ CI.checksparse: success for Add support for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (12 preceding siblings ...)
2025-02-26 2:13 ` ✓ CI.Hooks: " Patchwork
@ 2025-02-26 2:14 ` Patchwork
2025-02-26 2:32 ` ✓ Xe.CI.BAT: " Patchwork
` (2 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-02-26 2:14 UTC (permalink / raw)
To: Harish Chegondi; +Cc: intel-xe
== Series Details ==
Series: Add support for EU stall sampling
URL : https://patchwork.freedesktop.org/series/145443/
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 9527883f549b856628618a497d153e515752b457
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] 23+ messages in thread
* ✓ Xe.CI.BAT: success for Add support for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (13 preceding siblings ...)
2025-02-26 2:14 ` ✓ CI.checksparse: " Patchwork
@ 2025-02-26 2:32 ` Patchwork
2025-02-26 2:34 ` [PATCH v12 0/8] " Dixit, Ashutosh
2025-02-26 3:52 ` ✗ Xe.CI.Full: failure for " Patchwork
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-02-26 2:32 UTC (permalink / raw)
To: Harish Chegondi; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 849 bytes --]
== Series Details ==
Series: Add support for EU stall sampling
URL : https://patchwork.freedesktop.org/series/145443/
State : success
== Summary ==
CI Bug Log - changes from xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb_BAT -> xe-pw-145443v1_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (9 -> 8)
------------------------------
Missing (1): bat-adlp-vm
Changes
-------
No changes found
Build changes
-------------
* Linux: xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb -> xe-pw-145443v1
IGT_8247: 8247
xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb: c7988865b658d56bcfaac76b7d72cc59435565eb
xe-pw-145443v1: 145443v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/index.html
[-- Attachment #2: Type: text/html, Size: 1397 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v12 0/8] Add support for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (14 preceding siblings ...)
2025-02-26 2:32 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-02-26 2:34 ` Dixit, Ashutosh
2025-02-26 19:43 ` Dixit, Ashutosh
2025-02-26 3:52 ` ✗ Xe.CI.Full: failure for " Patchwork
16 siblings, 1 reply; 23+ messages in thread
From: Dixit, Ashutosh @ 2025-02-26 2:34 UTC (permalink / raw)
To: Harish Chegondi
Cc: intel-xe, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi
On Tue, 25 Feb 2025 17:47:04 -0800, Harish Chegondi wrote:
>
> 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
>
> New IGT tests for EU stall sampling are being added:
> https://patchwork.freedesktop.org/series/143030/
>
> This patch series has undergone basic testing with the new IGT tests.
>
> Issues that need investigation:
> 1. Blocked reads with small user buffers may be blocked even with EU
> stall data in the kernel buffer as a previous read has set pollin to
> false even when kernel buffer has data that could be read but the user
> buffer is too small to read all the data.
The series is now completey reviewed. Planning to merge this once CI
completes on this version:
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
>
> Thank You.
>
> v12 a. Move check for EU stall support to a header file
> b. Move 'goto exit_drop;' to the next if statement
> v11 a. Lock optimization
> b. Moved around code as per review feedback
> v10 a. Fixed error rewinding code
> b. Used cancel_delayed_work_sync() instead of flush_delayed_work()
> c. Replaced per xecore lock with a lock for all the xecore buffers
> d. Remove function description for static functions.
> e. Use extension number while parsing chain of extensions.
> f. Moved code around as per review feedback
> v9: a. Split the big patch in v8 into two patches
> b. Moved all drop data handling code into one patch
> c. Several other code improvements as mentioned in the patches
> v8: a. Used div_u64() instead of / to fix 32-bit build issue.
> b. Changed copyright year in new files to 2025.
> c. Renamed struct drm_xe_eu_stall_data_pvc to struct xe_eu_stall_data_pvc
> d. Renamed struct drm_xe_eu_stall_data_xe2 to struct xe_eu_stall_data_xe2
>
> v7: a. Renamed input property DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT
> to DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS to be consistent with
> OA. Renamed the corresponding internal variables.
> b. Fixed some commit messages based on review feedback.
> c. Changed sampling_rates from a pointer to flexible array.
>
> 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)
>
> Test-with: cover.1739901972.git.harish.chegondi@intel.com
>
> Reviewed-by: Ben Olson <matthew.olson@intel.com>
> Acked-by: Felix Degrood <felix.j.degrood@intel.com>
> Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
>
> Harish Chegondi (8):
> 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: Add support to init, enable and disable EU stall
> sampling
> drm/xe/eustall: Add support to read() and poll() EU stall data
> drm/xe/eustall: Add support to handle dropped EU stall 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 | 960 +++++++++++++++++++++
> drivers/gpu/drm/xe/xe_eu_stall.h | 24 +
> drivers/gpu/drm/xe/xe_gt.c | 5 +
> 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 | 30 +
> drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
> include/uapi/drm/xe_drm.h | 74 ++
> 12 files changed, 1197 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.48.1
>
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✗ Xe.CI.Full: failure for Add support for EU stall sampling
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
` (15 preceding siblings ...)
2025-02-26 2:34 ` [PATCH v12 0/8] " Dixit, Ashutosh
@ 2025-02-26 3:52 ` Patchwork
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-02-26 3:52 UTC (permalink / raw)
To: Harish Chegondi; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 49601 bytes --]
== Series Details ==
Series: Add support for EU stall sampling
URL : https://patchwork.freedesktop.org/series/145443/
State : failure
== Summary ==
CI Bug Log - changes from xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb_full -> xe-pw-145443v1_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-145443v1_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-145443v1_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-145443v1_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_cdclk@plane-scaling@pipe-b-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][1] +3 other tests skip
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@kms_cdclk@plane-scaling@pipe-b-dp-2.html
#### Warnings ####
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [DMESG-WARN][2] ([Intel XE#4330]) -> [DMESG-WARN][3]
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-432/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs.html
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-434/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs.html
New tests
---------
New tests have been introduced between xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb_full and xe-pw-145443v1_full:
### New IGT tests (48) ###
* igt@kms_async_flips@alternate-sync-async-flip@pipe-c-dp-4:
- Statuses : 1 pass(s)
- Exec time: [2.16] s
* igt@kms_async_flips@alternate-sync-async-flip@pipe-d-dp-4:
- Statuses : 1 pass(s)
- Exec time: [2.17] s
* igt@kms_async_flips@test-cursor@pipe-c-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.14] s
* igt@kms_async_flips@test-cursor@pipe-d-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.14] s
* igt@kms_async_flips@test-time-stamp@pipe-c-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.18] s
* igt@kms_async_flips@test-time-stamp@pipe-d-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.18] s
* igt@kms_flip@absolute-wf_vblank-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [4.04] s
* igt@kms_flip@blocking-absolute-wf_vblank@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [4.08] s
* igt@kms_flip@blocking-absolute-wf_vblank@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [4.07] s
* igt@kms_flip@blocking-wf_vblank@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [4.36] s
* igt@kms_flip@blocking-wf_vblank@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [4.34] s
* igt@kms_flip@bo-too-big-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.20] s
* igt@kms_flip@bo-too-big-interruptible@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.21] s
* igt@kms_flip@busy-flip@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.77] s
* igt@kms_flip@busy-flip@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.77] s
* igt@kms_flip@dpms-off-confusion-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [3.98] s
* igt@kms_flip@dpms-off-confusion-interruptible@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [3.95] s
* igt@kms_flip@dpms-vs-vblank-race-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [1.77] s
* igt@kms_flip@dpms-vs-vblank-race-interruptible@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [1.81] s
* igt@kms_flip@dpms-vs-vblank-race@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [1.83] s
* igt@kms_flip@dpms-vs-vblank-race@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [1.84] s
* igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [4.34] s
* igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [4.34] s
* igt@kms_flip@flip-vs-blocking-wf-vblank@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [4.36] s
* igt@kms_flip@flip-vs-blocking-wf-vblank@d-dp4:
- Statuses : 1 dmesg-warn(s)
- Exec time: [4.33] s
* igt@kms_flip@flip-vs-dpms-off-vs-modeset@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_flip@flip-vs-dpms-off-vs-modeset@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.72] s
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [3.97] s
* igt@kms_flip@flip-vs-expired-vblank-interruptible@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [3.96] s
* igt@kms_flip@flip-vs-panning-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [3.99] s
* igt@kms_flip@flip-vs-panning-interruptible@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [3.99] s
* igt@kms_flip@flip-vs-rmfb@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [3.98] s
* igt@kms_flip@flip-vs-rmfb@d-dp4:
- Statuses : 1 dmesg-warn(s)
- Exec time: [3.98] s
* igt@kms_flip@flip-vs-suspend-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [2.95] s
* igt@kms_flip@flip-vs-suspend@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [3.00] s
* igt@kms_flip@flip-vs-suspend@d-dp4:
- Statuses : 1 dmesg-warn(s)
- Exec time: [3.08] s
* igt@kms_flip@modeset-vs-vblank-race@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [1.87] s
* igt@kms_flip@nonexisting-fb-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.20] s
* igt@kms_flip@plain-flip-fb-recreate-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [4.24] s
* igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.67] s
* igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.68] s
* igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset@c-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset@d-dp4:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_hdr@invalid-metadata-sizes@pipe-a-dp-4:
- Statuses : 1 dmesg-warn(s)
- Exec time: [0.00] s
* igt@kms_plane_multiple@tiling-x@pipe-c-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.87] s
* igt@kms_plane_multiple@tiling-x@pipe-d-dp-4:
- Statuses : 1 pass(s)
- Exec time: [0.86] s
* igt@kms_plane_scaling@invalid-num-scalers@pipe-c-dp-4-invalid-num-scalers:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_plane_scaling@invalid-num-scalers@pipe-d-dp-4-invalid-num-scalers:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
Known issues
------------
Here are the changes found in xe-pw-145443v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_async_flips@alternate-sync-async-flip:
- shard-bmg: [PASS][4] -> [FAIL][5] ([Intel XE#827]) +1 other test fail
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-1/igt@kms_async_flips@alternate-sync-async-flip.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-1/igt@kms_async_flips@alternate-sync-async-flip.html
* igt@kms_async_flips@async-flip-suspend-resume@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [DMESG-FAIL][6] ([Intel XE#4330]) +1 other test dmesg-fail
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-435/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-dp-4.html
* igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-d-hdmi-a-2-4-rc-ccs-cc:
- shard-dg2-set2: NOTRUN -> [SKIP][7] ([Intel XE#3767]) +15 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-d-hdmi-a-2-4-rc-ccs-cc.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-bmg: [PASS][8] -> [INCOMPLETE][9] ([Intel XE#3225])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-8/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-8/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#1124])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-1/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html
* igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p:
- shard-bmg: [PASS][11] -> [SKIP][12] ([Intel XE#2314] / [Intel XE#2894])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html
* igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc@pipe-a-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#787]) +176 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-463/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc@pipe-a-dp-4.html
* igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-d-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][14] ([Intel XE#455] / [Intel XE#787]) +35 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-d-dp-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
- shard-bmg: NOTRUN -> [SKIP][15] ([Intel XE#3432])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [PASS][16] -> [INCOMPLETE][17] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/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-hdmi-a-6:
- shard-dg2-set2: [PASS][18] -> [DMESG-WARN][19] ([Intel XE#1727] / [Intel XE#3113])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-6:
- shard-dg2-set2: [PASS][20] -> [INCOMPLETE][21] ([Intel XE#3124])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-6.html
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-6.html
* igt@kms_chamelium_audio@hdmi-audio:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#2252])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-1/igt@kms_chamelium_audio@hdmi-audio.html
* igt@kms_chamelium_hpd@hdmi-hpd-after-hibernate:
- shard-dg2-set2: NOTRUN -> [SKIP][23] ([Intel XE#373])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@kms_chamelium_hpd@hdmi-hpd-after-hibernate.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic:
- shard-bmg: [PASS][24] -> [SKIP][25] ([Intel XE#2291]) +4 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
- shard-dg2-set2: [PASS][26] -> [SKIP][27] ([Intel XE#309]) +1 other test skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-432/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_flip@2x-blocking-absolute-wf_vblank:
- shard-dg2-set2: [PASS][28] -> [SKIP][29] ([Intel XE#310]) +2 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-432/igt@kms_flip@2x-blocking-absolute-wf_vblank.html
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_flip@2x-blocking-absolute-wf_vblank.html
* igt@kms_flip@2x-flip-vs-dpms@cd-hdmi-a6-dp4:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][30] ([Intel XE#4330]) +15 other tests dmesg-warn
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-463/igt@kms_flip@2x-flip-vs-dpms@cd-hdmi-a6-dp4.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-bmg: [PASS][31] -> [SKIP][32] ([Intel XE#2316]) +5 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@kms_flip@2x-plain-flip-fb-recreate.html
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ac-dp2-hdmi-a3:
- shard-bmg: [PASS][33] -> [FAIL][34] ([Intel XE#2882]) +2 other tests fail
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-8/igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ac-dp2-hdmi-a3.html
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-8/igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ac-dp2-hdmi-a3.html
* igt@kms_flip@flip-vs-absolute-wf_vblank:
- shard-lnl: [PASS][35] -> [FAIL][36] ([Intel XE#886]) +1 other test fail
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-lnl-8/igt@kms_flip@flip-vs-absolute-wf_vblank.html
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-lnl-6/igt@kms_flip@flip-vs-absolute-wf_vblank.html
* igt@kms_flip@flip-vs-rmfb-interruptible@d-hdmi-a3:
- shard-bmg: NOTRUN -> [DMESG-WARN][37] ([Intel XE#4330]) +1 other test dmesg-warn
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-5/igt@kms_flip@flip-vs-rmfb-interruptible@d-hdmi-a3.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling:
- shard-dg2-set2: [PASS][38] -> [DMESG-WARN][39] ([Intel XE#4330]) +4 other tests dmesg-warn
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-432/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling.html
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-434/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x:
- shard-adlp: [PASS][40] -> [DMESG-FAIL][41] ([Intel XE#4330])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y:
- shard-adlp: [PASS][42] -> [FAIL][43] ([Intel XE#1874]) +1 other test fail
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y.html
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move:
- shard-dg2-set2: [PASS][44] -> [SKIP][45] ([Intel XE#656])
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-432/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move.html
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-pgflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][46] ([Intel XE#653]) +1 other test skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-pgflip-blt.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-bmg: [PASS][47] -> [SKIP][48] ([Intel XE#3012])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@kms_joiner@basic-force-big-joiner.html
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][49] ([Intel XE#2566] / [Intel XE#4212]) +1 other test dmesg-warn
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-2.html
* igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25@pipe-d:
- shard-dg2-set2: [PASS][50] -> [DMESG-WARN][51] ([Intel XE#2566] / [Intel XE#4330]) +1 other test dmesg-warn
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-432/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25@pipe-d.html
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-434/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25@pipe-d.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area:
- shard-bmg: NOTRUN -> [SKIP][52] ([Intel XE#1489])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-1/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr@pr-cursor-plane-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][53] ([Intel XE#2850] / [Intel XE#929])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@kms_psr@pr-cursor-plane-onoff.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#1435])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-1/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_setmode@clone-exclusive-crtc:
- shard-dg2-set2: [PASS][55] -> [SKIP][56] ([Intel XE#455])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-432/igt@kms_setmode@clone-exclusive-crtc.html
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_setmode@clone-exclusive-crtc.html
* igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap:
- shard-dg2-set2: [PASS][57] -> [SKIP][58] ([Intel XE#1392]) +7 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-436/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
* igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate:
- shard-dg2-set2: NOTRUN -> [SKIP][59] ([Intel XE#1392])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate.html
* igt@xe_exercise_blt@fast-copy-inc-dimension@linear-vram01-system-436x436:
- shard-bmg: [PASS][60] -> [DMESG-WARN][61] ([Intel XE#4330]) +4 other tests dmesg-warn
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@xe_exercise_blt@fast-copy-inc-dimension@linear-vram01-system-436x436.html
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@xe_exercise_blt@fast-copy-inc-dimension@linear-vram01-system-436x436.html
* igt@xe_module_load@many-reload:
- shard-adlp: [PASS][62] -> [DMESG-WARN][63] ([Intel XE#2953])
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-adlp-6/igt@xe_module_load@many-reload.html
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-adlp-9/igt@xe_module_load@many-reload.html
* igt@xe_peer2peer@write:
- shard-bmg: NOTRUN -> [SKIP][64] ([Intel XE#2427])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-1/igt@xe_peer2peer@write.html
* igt@xe_pm@s2idle-mocs:
- shard-adlp: [PASS][65] -> [DMESG-WARN][66] ([Intel XE#4173]) +1 other test dmesg-warn
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-adlp-2/igt@xe_pm@s2idle-mocs.html
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-adlp-2/igt@xe_pm@s2idle-mocs.html
* igt@xe_pm@s4-vm-bind-prefetch:
- shard-bmg: NOTRUN -> [ABORT][67] ([Intel XE#4268])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-1/igt@xe_pm@s4-vm-bind-prefetch.html
#### Possible fixes ####
* igt@kms_async_flips@async-flip-suspend-resume@pipe-d-hdmi-a-6:
- shard-dg2-set2: [DMESG-WARN][68] ([Intel XE#4330]) -> [PASS][69] +10 other tests pass
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-hdmi-a-6.html
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-435/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-hdmi-a-6.html
* igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
- shard-dg2-set2: [SKIP][70] ([Intel XE#2191]) -> [PASS][71] +1 other test pass
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-436/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [INCOMPLETE][72] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124]) -> [PASS][73]
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
- shard-bmg: [SKIP][74] ([Intel XE#2291]) -> [PASS][75] +3 other tests pass
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
- shard-dg2-set2: [SKIP][76] ([Intel XE#309]) -> [PASS][77] +5 other tests pass
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-436/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-bmg: [SKIP][78] ([Intel XE#1340]) -> [PASS][79]
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-5/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_feature_discovery@display-2x:
- shard-bmg: [SKIP][80] ([Intel XE#2373]) -> [PASS][81]
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-6/igt@kms_feature_discovery@display-2x.html
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-2/igt@kms_feature_discovery@display-2x.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
- shard-dg2-set2: [SKIP][82] ([Intel XE#310]) -> [PASS][83] +3 other tests pass
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-463/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html
* igt@kms_flip@2x-flip-vs-panning@cd-dp2-hdmi-a3:
- shard-bmg: [INCOMPLETE][84] ([Intel XE#2049]) -> [PASS][85] +1 other test pass
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-1/igt@kms_flip@2x-flip-vs-panning@cd-dp2-hdmi-a3.html
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-1/igt@kms_flip@2x-flip-vs-panning@cd-dp2-hdmi-a3.html
* igt@kms_flip@2x-nonexisting-fb:
- shard-bmg: [SKIP][86] ([Intel XE#2316]) -> [PASS][87] +2 other tests pass
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-6/igt@kms_flip@2x-nonexisting-fb.html
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-2/igt@kms_flip@2x-nonexisting-fb.html
* igt@kms_flip@flip-vs-suspend:
- shard-bmg: [DMESG-WARN][88] ([Intel XE#2955]) -> [PASS][89]
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@kms_flip@flip-vs-suspend.html
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@plain-flip-fb-recreate-interruptible:
- shard-bmg: [FAIL][90] ([Intel XE#2882]) -> [PASS][91]
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-6/igt@kms_flip@plain-flip-fb-recreate-interruptible.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-4/igt@kms_flip@plain-flip-fb-recreate-interruptible.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x:
- shard-adlp: [DMESG-FAIL][92] ([Intel XE#4330]) -> [PASS][93] +1 other test pass
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff:
- shard-dg2-set2: [SKIP][94] ([Intel XE#656]) -> [PASS][95] +10 other tests pass
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-dg2-set2: [SKIP][96] ([Intel XE#4328]) -> [PASS][97]
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_joiner@basic-force-big-joiner.html
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-435/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_pm_dc@dc6-dpms:
- shard-adlp: [FAIL][98] ([Intel XE#718]) -> [PASS][99]
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-adlp-1/igt@kms_pm_dc@dc6-dpms.html
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-adlp-8/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_rpm@modeset-stress-extra-wait:
- shard-dg2-set2: [DMESG-WARN][100] -> [PASS][101]
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_pm_rpm@modeset-stress-extra-wait.html
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-463/igt@kms_pm_rpm@modeset-stress-extra-wait.html
* igt@kms_universal_plane@cursor-fb-leak:
- shard-adlp: [FAIL][102] ([Intel XE#771] / [Intel XE#899]) -> [PASS][103]
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-adlp-2/igt@kms_universal_plane@cursor-fb-leak.html
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-adlp-3/igt@kms_universal_plane@cursor-fb-leak.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1:
- shard-adlp: [FAIL][104] ([Intel XE#899]) -> [PASS][105]
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-adlp-2/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-adlp-3/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race:
- shard-dg2-set2: [SKIP][106] ([Intel XE#1392]) -> [PASS][107] +6 other tests pass
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race.html
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-434/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate-race.html
* igt@xe_exercise_blt@fast-copy-inc-dimension@tile64-vram01-system-406x406:
- shard-bmg: [DMESG-WARN][108] ([Intel XE#4330]) -> [PASS][109] +6 other tests pass
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@xe_exercise_blt@fast-copy-inc-dimension@tile64-vram01-system-406x406.html
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@xe_exercise_blt@fast-copy-inc-dimension@tile64-vram01-system-406x406.html
#### Warnings ####
* igt@kms_async_flips@async-flip-suspend-resume:
- shard-dg2-set2: [DMESG-WARN][110] ([Intel XE#4330]) -> [DMESG-FAIL][111] ([Intel XE#4330])
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_async_flips@async-flip-suspend-resume.html
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-435/igt@kms_async_flips@async-flip-suspend-resume.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-6:
- shard-dg2-set2: [SKIP][112] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][113] ([Intel XE#787]) +12 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-6.html
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-436/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-6.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-6:
- shard-dg2-set2: [SKIP][114] ([Intel XE#787]) -> [SKIP][115] ([Intel XE#455] / [Intel XE#787])
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-463/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-6.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-6.html
* igt@kms_content_protection@srm:
- shard-bmg: [DMESG-FAIL][116] ([Intel XE#4330]) -> [SKIP][117] ([Intel XE#2341])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-7/igt@kms_content_protection@srm.html
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_content_protection@srm.html
* igt@kms_content_protection@uevent:
- shard-dg2-set2: [FAIL][118] ([Intel XE#1188]) -> [SKIP][119] ([Intel XE#455])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-463/igt@kms_content_protection@uevent.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_content_protection@uevent.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
- shard-bmg: [DMESG-WARN][120] ([Intel XE#877]) -> [SKIP][121] ([Intel XE#2291])
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
- shard-bmg: [SKIP][122] ([Intel XE#2291]) -> [DMESG-WARN][123] ([Intel XE#4330])
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-4/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
- shard-bmg: [DMESG-WARN][124] ([Intel XE#4330]) -> [SKIP][125] ([Intel XE#2291])
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
- shard-dg2-set2: [SKIP][126] ([Intel XE#309]) -> [DMESG-WARN][127] ([Intel XE#4330])
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-435/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-dg2-set2: [SKIP][128] ([Intel XE#455]) -> [DMESG-WARN][129] ([Intel XE#4330])
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-436/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6:
- shard-dg2-set2: [SKIP][130] ([Intel XE#455] / [i915#3804]) -> [SKIP][131] ([i915#3804])
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-436/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-bmg: [DMESG-WARN][132] ([Intel XE#2955]) -> [SKIP][133] ([Intel XE#2316])
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-7/igt@kms_flip@2x-flip-vs-dpms.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
- shard-bmg: [SKIP][134] ([Intel XE#2316]) -> [DMESG-WARN][135] ([Intel XE#4330])
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-5/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
- shard-dg2-set2: [SKIP][136] ([Intel XE#310]) -> [DMESG-WARN][137] ([Intel XE#4330])
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-436/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff:
- shard-dg2-set2: [SKIP][138] ([Intel XE#656]) -> [SKIP][139] ([Intel XE#651]) +14 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt:
- shard-bmg: [SKIP][140] ([Intel XE#2312]) -> [SKIP][141] ([Intel XE#2311]) +11 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][142] ([Intel XE#2312]) -> [SKIP][143] ([Intel XE#4141]) +8 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][144] ([Intel XE#4141]) -> [SKIP][145] ([Intel XE#2312]) +10 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-render:
- shard-dg2-set2: [SKIP][146] ([Intel XE#651]) -> [SKIP][147] ([Intel XE#656]) +5 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-render.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][148] ([Intel XE#2311]) -> [SKIP][149] ([Intel XE#2312]) +13 other tests skip
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][150] ([Intel XE#2312]) -> [SKIP][151] ([Intel XE#2313]) +7 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-dg2-set2: [SKIP][152] ([Intel XE#653]) -> [SKIP][153] ([Intel XE#656]) +6 other tests skip
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-463/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt:
- shard-dg2-set2: [SKIP][154] ([Intel XE#656]) -> [SKIP][155] ([Intel XE#653]) +14 other tests skip
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-436/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
- shard-bmg: [SKIP][156] ([Intel XE#2313]) -> [SKIP][157] ([Intel XE#2312]) +16 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
* igt@xe_evict@evict-small:
- shard-bmg: [DMESG-WARN][158] ([Intel XE#4330]) -> [DMESG-WARN][159] ([Intel XE#1473] / [Intel XE#4330])
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-5/igt@xe_evict@evict-small.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-6/igt@xe_evict@evict-small.html
* igt@xe_peer2peer@read:
- shard-dg2-set2: [FAIL][160] ([Intel XE#1173]) -> [SKIP][161] ([Intel XE#1061])
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-dg2-433/igt@xe_peer2peer@read.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-dg2-432/igt@xe_peer2peer@read.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-bmg: [ABORT][162] ([Intel XE#4054]) -> [ABORT][163] ([Intel XE#4268])
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-bmg-7/igt@xe_pm@s4-vm-bind-unbind-all.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-bmg-7/igt@xe_pm@s4-vm-bind-unbind-all.html
* igt@xe_pm@s4-vm-bind-userptr:
- shard-adlp: [ABORT][164] ([Intel XE#4054]) -> [ABORT][165] ([Intel XE#4268])
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb/shard-adlp-9/igt@xe_pm@s4-vm-bind-userptr.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/shard-adlp-1/igt@xe_pm@s4-vm-bind-userptr.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
[Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
[Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[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#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[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#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
[Intel XE#2427]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2427
[Intel XE#2566]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2566
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#2955]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2955
[Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
[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#3225]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3225
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3767]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3767
[Intel XE#4054]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4054
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4268]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4268
[Intel XE#4328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4328
[Intel XE#4330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4330
[Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[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#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/771
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#827]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/827
[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
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
Build changes
-------------
* Linux: xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb -> xe-pw-145443v1
IGT_8247: 8247
xe-2711-c7988865b658d56bcfaac76b7d72cc59435565eb: c7988865b658d56bcfaac76b7d72cc59435565eb
xe-pw-145443v1: 145443v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145443v1/index.html
[-- Attachment #2: Type: text/html, Size: 58752 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v12 0/8] Add support for EU stall sampling
2025-02-26 2:34 ` [PATCH v12 0/8] " Dixit, Ashutosh
@ 2025-02-26 19:43 ` Dixit, Ashutosh
0 siblings, 0 replies; 23+ messages in thread
From: Dixit, Ashutosh @ 2025-02-26 19:43 UTC (permalink / raw)
To: Harish Chegondi
Cc: intel-xe, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi
On Tue, 25 Feb 2025 18:34:04 -0800, Dixit, Ashutosh wrote:
>
> On Tue, 25 Feb 2025 17:47:04 -0800, Harish Chegondi wrote:
> >
> > 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
> >
> > New IGT tests for EU stall sampling are being added:
> > https://patchwork.freedesktop.org/series/143030/
> >
> > This patch series has undergone basic testing with the new IGT tests.
> >
> > Issues that need investigation:
> > 1. Blocked reads with small user buffers may be blocked even with EU
> > stall data in the kernel buffer as a previous read has set pollin to
> > false even when kernel buffer has data that could be read but the user
> > buffer is too small to read all the data.
>
> The series is now completey reviewed. Planning to merge this once CI
> completes on this version:
Done! EU stall series is now merged upstream.
>
> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
>
> >
> > Thank You.
> >
> > v12 a. Move check for EU stall support to a header file
> > b. Move 'goto exit_drop;' to the next if statement
> > v11 a. Lock optimization
> > b. Moved around code as per review feedback
> > v10 a. Fixed error rewinding code
> > b. Used cancel_delayed_work_sync() instead of flush_delayed_work()
> > c. Replaced per xecore lock with a lock for all the xecore buffers
> > d. Remove function description for static functions.
> > e. Use extension number while parsing chain of extensions.
> > f. Moved code around as per review feedback
> > v9: a. Split the big patch in v8 into two patches
> > b. Moved all drop data handling code into one patch
> > c. Several other code improvements as mentioned in the patches
> > v8: a. Used div_u64() instead of / to fix 32-bit build issue.
> > b. Changed copyright year in new files to 2025.
> > c. Renamed struct drm_xe_eu_stall_data_pvc to struct xe_eu_stall_data_pvc
> > d. Renamed struct drm_xe_eu_stall_data_xe2 to struct xe_eu_stall_data_xe2
> >
> > v7: a. Renamed input property DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT
> > to DRM_XE_EU_STALL_PROP_WAIT_NUM_REPORTS to be consistent with
> > OA. Renamed the corresponding internal variables.
> > b. Fixed some commit messages based on review feedback.
> > c. Changed sampling_rates from a pointer to flexible array.
> >
> > 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)
> >
> > Test-with: cover.1739901972.git.harish.chegondi@intel.com
> >
> > Reviewed-by: Ben Olson <matthew.olson@intel.com>
> > Acked-by: Felix Degrood <felix.j.degrood@intel.com>
> > Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
> > Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> >
> > Harish Chegondi (8):
> > 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: Add support to init, enable and disable EU stall
> > sampling
> > drm/xe/eustall: Add support to read() and poll() EU stall data
> > drm/xe/eustall: Add support to handle dropped EU stall 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 | 960 +++++++++++++++++++++
> > drivers/gpu/drm/xe/xe_eu_stall.h | 24 +
> > drivers/gpu/drm/xe/xe_gt.c | 5 +
> > 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 | 30 +
> > drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
> > include/uapi/drm/xe_drm.h | 74 ++
> > 12 files changed, 1197 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.48.1
> >
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v12 2/8] drm/xe/uapi: Introduce API for EU stall sampling
2025-02-26 1:47 ` [PATCH v12 2/8] drm/xe/uapi: Introduce API for EU stall sampling Harish Chegondi
@ 2025-04-04 17:55 ` Kees Cook
2025-04-15 17:47 ` Chegondi, Harish
0 siblings, 1 reply; 23+ messages in thread
From: Kees Cook @ 2025-04-04 17:55 UTC (permalink / raw)
To: Harish Chegondi
Cc: intel-xe, ashutosh.dixit, james.ausmus, felix.j.degrood,
matthew.olson, shubham.kumar, joshua.santosh.ranjan,
lucas.demarchi, David Airlie, Simona Vetter, dri-devel
On Tue, Feb 25, 2025 at 05:47:06PM -0800, Harish Chegondi wrote:
> +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));
Why is this safe? (i.e. why is it not copy_from_user()?) I see no
access_ok() check anywhere in the ioctl call path to this function.
--
Kees Cook
^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: [PATCH v12 2/8] drm/xe/uapi: Introduce API for EU stall sampling
2025-04-04 17:55 ` Kees Cook
@ 2025-04-15 17:47 ` Chegondi, Harish
0 siblings, 0 replies; 23+ messages in thread
From: Chegondi, Harish @ 2025-04-15 17:47 UTC (permalink / raw)
To: Kees Cook
Cc: intel-xe@lists.freedesktop.org, Dixit, Ashutosh, Ausmus, James,
De Marchi, Lucas, David Airlie, Simona Vetter,
dri-devel@lists.freedesktop.org
I will send out a patch to replace __copy_from_user() with copy_from_user().
-Harish
PS: Having issues with mutt, hence replying from Outlook
-----Original Message-----
From: Kees Cook <kees@kernel.org>
Sent: Friday, April 4, 2025 10:56 AM
To: Chegondi, Harish <harish.chegondi@intel.com>
Cc: intel-xe@lists.freedesktop.org; Dixit, Ashutosh <ashutosh.dixit@intel.com>; Ausmus, James <james.ausmus@intel.com>; Degrood, Felix J <felix.j.degrood@intel.com>; Olson, Matthew <matthew.olson@intel.com>; Kumar, Shubham <shubham.kumar@intel.com>; Ranjan, Joshua Santhosh <joshua.santosh.ranjan@intel.com>; De Marchi, Lucas <lucas.demarchi@intel.com>; David Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v12 2/8] drm/xe/uapi: Introduce API for EU stall sampling
On Tue, Feb 25, 2025 at 05:47:06PM -0800, Harish Chegondi wrote:
> +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));
Why is this safe? (i.e. why is it not copy_from_user()?) I see no
access_ok() check anywhere in the ioctl call path to this function.
--
Kees Cook
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v12 4/8] drm/xe/eustall: Add support to read() and poll() EU stall data
2025-02-26 1:47 ` [PATCH v12 4/8] drm/xe/eustall: Add support to read() and poll() EU stall data Harish Chegondi
@ 2025-04-16 9:22 ` Matthew Auld
2025-04-17 4:50 ` Harish Chegondi
0 siblings, 1 reply; 23+ messages in thread
From: Matthew Auld @ 2025-04-16 9:22 UTC (permalink / raw)
To: Harish Chegondi, intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, matthew.olson,
shubham.kumar, joshua.santosh.ranjan, lucas.demarchi
On 26/02/2025 01:47, Harish Chegondi wrote:
> Implement the EU stall sampling APIs to read() and poll() EU stall data.
> A work function 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.
>
> v11: Used gt->eu_stall->stream_lock instead of stream->buf_lock.
> Removed read and write offsets from trace and added read size.
> Moved workqueue from struct xe_eu_stall_data_stream to
> struct xe_eu_stall_gt.
> v10: Used cancel_delayed_work_sync() instead of flush_delayed_work()
> Replaced per xecore lock with a lock for all the xecore buffers
> Code movement and optimizations as per review feedback
> v9: New patch split from the previous patch.
> Used *_delayed_work functions instead of hrtimer
> Addressed the review feedback in read and poll functions
>
> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
> ---
> drivers/gpu/drm/xe/xe_eu_stall.c | 267 ++++++++++++++++++++++++++++++-
> drivers/gpu/drm/xe/xe_trace.h | 30 ++++
> 2 files changed, 294 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
> index 2e7d00f8ff40..e82a6ebfe979 100644
> --- a/drivers/gpu/drm/xe/xe_eu_stall.c
> +++ b/drivers/gpu/drm/xe/xe_eu_stall.c
> @@ -21,10 +21,13 @@
> #include "xe_macros.h"
> #include "xe_observation.h"
> #include "xe_pm.h"
> +#include "xe_trace.h"
>
> #include "regs/xe_eu_stall_regs.h"
> #include "regs/xe_gt_regs.h"
>
> +#define POLL_PERIOD_MS 5
> +
> static size_t per_xecore_buf_size = SZ_512K;
>
> struct per_xecore_buf {
> @@ -37,15 +40,18 @@ struct per_xecore_buf {
> };
>
> struct xe_eu_stall_data_stream {
> + bool pollin;
> bool enabled;
> int wait_num_reports;
> int sampling_rate_mult;
> + wait_queue_head_t poll_wq;
> size_t data_record_size;
> size_t per_xecore_buf_size;
>
> struct xe_gt *gt;
> struct xe_bo *bo;
> struct per_xecore_buf *xecore_buf;
> + struct delayed_work buf_poll_work;
> };
>
> struct xe_eu_stall_gt {
> @@ -53,6 +59,8 @@ struct xe_eu_stall_gt {
> struct mutex stream_lock;
> /* EU stall data stream */
> struct xe_eu_stall_data_stream *stream;
> + /* Workqueue to schedule buffer pointers polling work */
> + struct workqueue_struct *buf_ptr_poll_wq;
> };
>
> /**
> @@ -114,6 +122,7 @@ static void xe_eu_stall_fini(void *arg)
> {
> struct xe_gt *gt = arg;
>
> + destroy_workqueue(gt->eu_stall->buf_ptr_poll_wq);
> mutex_destroy(>->eu_stall->stream_lock);
> kfree(gt->eu_stall);
> }
> @@ -139,11 +148,19 @@ int xe_eu_stall_init(struct xe_gt *gt)
>
> mutex_init(>->eu_stall->stream_lock);
>
> + gt->eu_stall->buf_ptr_poll_wq = alloc_ordered_workqueue("xe_eu_stall", 0);
> + if (!gt->eu_stall->buf_ptr_poll_wq) {
> + ret = -ENOMEM;
> + goto exit_free;
> + }
> +
> ret = devm_add_action_or_reset(xe->drm.dev, xe_eu_stall_fini, gt);
> if (ret)
> - goto exit_free;
> + goto exit_destroy;
>
> return 0;
> +exit_destroy:
> + destroy_workqueue(gt->eu_stall->buf_ptr_poll_wq);
> exit_free:
> mutex_destroy(>->eu_stall->stream_lock);
> kfree(gt->eu_stall);
> @@ -248,6 +265,172 @@ 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;
> +
> + if (read_ptr == write_ptr)
> + goto exit;
> +
> + 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;
> +exit:
> + return size;
> +}
> +
> +/**
> + * eu_stall_data_buf_poll - Poll 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_poll(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 per_xecore_buf *xecore_buf;
> + struct xe_gt *gt = stream->gt;
> + bool min_data_present = false;
> + u16 group, instance;
> + unsigned int xecore;
> +
> + mutex_lock(>->eu_stall->stream_lock);
> + for_each_dss_steering(xecore, gt, group, instance) {
> + xecore_buf = &stream->xecore_buf[xecore];
> + 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 (!min_data_present) {
> + total_data += buf_data_size(buf_size, read_ptr, write_ptr);
> + if (num_data_rows(total_data) >= stream->wait_num_reports)
> + min_data_present = true;
> + }
> + xecore_buf->write = write_ptr;
> + }
> + mutex_unlock(>->eu_stall->stream_lock);
> +
> + return min_data_present;
> +}
> +
> +static int xe_eu_stall_data_buf_read(struct xe_eu_stall_data_stream *stream,
> + char __user *buf, size_t count,
> + size_t *total_data_size, struct xe_gt *gt,
> + u16 group, u16 instance, unsigned int xecore)
> +{
> + size_t read_data_size, copy_size, buf_size;
> + u32 read_ptr_reg, read_ptr, write_ptr;
> + u8 *xecore_start_vaddr, *read_vaddr;
> + struct per_xecore_buf *xecore_buf;
> + u32 read_offset, write_offset;
> +
> + /* 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];
> + xecore_start_vaddr = xecore_buf->vaddr;
> + read_ptr = xecore_buf->read;
> + write_ptr = xecore_buf->write;
> + buf_size = stream->per_xecore_buf_size;
> +
> + read_data_size = buf_data_size(buf_size, read_ptr, write_ptr);
> + /* Read only the data that the user space buffer can accommodate */
> + read_data_size = min_t(size_t, count - *total_data_size, read_data_size);
> + if (read_data_size == 0)
> + return 0;
> +
> + read_offset = read_ptr & (buf_size - 1);
> + write_offset = write_ptr & (buf_size - 1);
> + read_vaddr = xecore_start_vaddr + read_offset;
> +
> + if (write_offset > read_offset) {
> + if (copy_to_user(buf + *total_data_size, read_vaddr, read_data_size))
> + return -EFAULT;
> + } else {
> + if (read_data_size >= buf_size - read_offset)
> + copy_size = buf_size - read_offset;
> + else
> + copy_size = read_data_size;
> + if (copy_to_user(buf + *total_data_size, read_vaddr, copy_size))
> + return -EFAULT;
> + if (copy_to_user(buf + *total_data_size + copy_size,
> + xecore_start_vaddr, read_data_size - copy_size))
> + return -EFAULT;
> + }
> +
> + *total_data_size += read_data_size;
> + read_ptr += read_data_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 = _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->read = read_ptr;
> + trace_xe_eu_stall_data_read(group, instance, read_ptr, write_ptr,
> + read_data_size, *total_data_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
> + * @file: An xe EU stall data stream file
> + * @buf: destination buffer given by userspace
> + * @count: the number of bytes userspace wants to read
> + *
> + * 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)
> +{
> + struct xe_gt *gt = stream->gt;
> + size_t total_size = 0;
> + u16 group, instance;
> + unsigned int xecore;
> + int ret = 0;
> +
> + 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)
> + break;
> + }
> + return total_size ?: (ret ?: -EAGAIN);
> +}
> +
> /*
> * Userspace must enable the EU stall stream with DRM_XE_OBSERVATION_IOCTL_ENABLE
> * before calling read().
> @@ -255,7 +438,41 @@ 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, aligned_count;
> +
> + aligned_count = ALIGN_DOWN(count, stream->data_record_size);
> + if (aligned_count == 0)
> + return -EINVAL;
> +
> + 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 {
> + ret = wait_event_interruptible(stream->poll_wq, stream->pollin);
> + if (ret)
> + return -EINTR;
> +
> + mutex_lock(>->eu_stall->stream_lock);
> + ret = xe_eu_stall_stream_read_locked(stream, file, buf, aligned_count);
> + mutex_unlock(>->eu_stall->stream_lock);
> + } while (ret == -EAGAIN);
> + } else {
> + mutex_lock(>->eu_stall->stream_lock);
> + ret = xe_eu_stall_stream_read_locked(stream, file, buf, aligned_count);
> + mutex_unlock(>->eu_stall->stream_lock);
> + }
> +
> + /*
> + * This may not work correctly if the user buffer is very small.
> + * We don't want to block the next read() when there is data in the buffer
> + * now, but couldn't be accommodated in the small user buffer.
> + */
> + stream->pollin = false;
>
> return ret;
> }
> @@ -348,6 +565,21 @@ static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
> return 0;
> }
>
> +static void eu_stall_data_buf_poll_work_fn(struct work_struct *work)
> +{
> + struct xe_eu_stall_data_stream *stream =
> + container_of(work, typeof(*stream), buf_poll_work.work);
> + struct xe_gt *gt = stream->gt;
> +
> + if (eu_stall_data_buf_poll(stream)) {
> + stream->pollin = true;
> + wake_up(&stream->poll_wq);
> + }
> + queue_delayed_work(gt->eu_stall->buf_ptr_poll_wq,
> + &stream->buf_poll_work,
> + msecs_to_jiffies(POLL_PERIOD_MS));
> +}
> +
> static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
> struct eu_stall_open_properties *props)
> {
> @@ -372,6 +604,9 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
> max_wait_num_reports);
> return -EINVAL;
> }
> +
> + init_waitqueue_head(&stream->poll_wq);
> + INIT_DELAYED_WORK(&stream->buf_poll_work, eu_stall_data_buf_poll_work_fn);
> stream->per_xecore_buf_size = per_xecore_buf_size;
> stream->sampling_rate_mult = props->sampling_rate_mult;
> stream->wait_num_reports = props->wait_num_reports;
> @@ -389,15 +624,35 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
> 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;
> +}
> +
> 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(>->eu_stall->stream_lock);
> + ret = xe_eu_stall_stream_poll_locked(stream, file, wait);
> + mutex_unlock(>->eu_stall->stream_lock);
>
> return ret;
> }
>
> static int xe_eu_stall_enable_locked(struct xe_eu_stall_data_stream *stream)
> {
> + struct xe_gt *gt = stream->gt;
> int ret = 0;
>
> if (stream->enabled)
> @@ -406,6 +661,10 @@ static int xe_eu_stall_enable_locked(struct xe_eu_stall_data_stream *stream)
> stream->enabled = true;
>
> ret = xe_eu_stall_stream_enable(stream);
> +
> + queue_delayed_work(gt->eu_stall->buf_ptr_poll_wq,
> + &stream->buf_poll_work,
> + msecs_to_jiffies(POLL_PERIOD_MS));
> return ret;
> }
>
> @@ -420,6 +679,8 @@ static int xe_eu_stall_disable_locked(struct xe_eu_stall_data_stream *stream)
>
> xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, 0);
>
> + cancel_delayed_work_sync(&stream->buf_poll_work);
> +
There looks to be a possible deadlock here:
https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/4598
Can you please take a look?
> 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_trace.h b/drivers/gpu/drm/xe/xe_trace.h
> index d5281de04d54..b4a3577df70c 100644
> --- a/drivers/gpu/drm/xe/xe_trace.h
> +++ b/drivers/gpu/drm/xe/xe_trace.h
> @@ -427,6 +427,36 @@ 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,
> + size_t read_size, size_t total_size),
> + TP_ARGS(slice, subslice,
> + read_ptr, write_ptr,
> + read_size, total_size),
> +
> + TP_STRUCT__entry(__field(u8, slice)
> + __field(u8, subslice)
> + __field(u32, read_ptr)
> + __field(u32, write_ptr)
> + __field(size_t, read_size)
> + __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_size = read_size;
> + __entry->total_size = total_size;
> + ),
> +
> + TP_printk("slice: %u subslice: %u read ptr: 0x%x write ptr: 0x%x read size: %zu total read size: %zu",
> + __entry->slice, __entry->subslice,
> + __entry->read_ptr, __entry->write_ptr,
> + __entry->read_size, __entry->total_size)
> +);
> +
> #endif
>
> /* This part must be outside protection */
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v12 4/8] drm/xe/eustall: Add support to read() and poll() EU stall data
2025-04-16 9:22 ` Matthew Auld
@ 2025-04-17 4:50 ` Harish Chegondi
0 siblings, 0 replies; 23+ messages in thread
From: Harish Chegondi @ 2025-04-17 4:50 UTC (permalink / raw)
To: Matthew Auld
Cc: intel-xe, ashutosh.dixit, james.ausmus, felix.j.degrood,
matthew.olson, shubham.kumar, joshua.santosh.ranjan,
lucas.demarchi
On Wed, Apr 16, 2025 at 10:22:36AM +0100, Matthew Auld wrote:
> On 26/02/2025 01:47, Harish Chegondi wrote:
> > Implement the EU stall sampling APIs to read() and poll() EU stall data.
> > A work function 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.
> >
> > v11: Used gt->eu_stall->stream_lock instead of stream->buf_lock.
> > Removed read and write offsets from trace and added read size.
> > Moved workqueue from struct xe_eu_stall_data_stream to
> > struct xe_eu_stall_gt.
> > v10: Used cancel_delayed_work_sync() instead of flush_delayed_work()
> > Replaced per xecore lock with a lock for all the xecore buffers
> > Code movement and optimizations as per review feedback
> > v9: New patch split from the previous patch.
> > Used *_delayed_work functions instead of hrtimer
> > Addressed the review feedback in read and poll functions
> >
> > Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> > Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
> > ---
> > drivers/gpu/drm/xe/xe_eu_stall.c | 267 ++++++++++++++++++++++++++++++-
> > drivers/gpu/drm/xe/xe_trace.h | 30 ++++
> > 2 files changed, 294 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c
> > index 2e7d00f8ff40..e82a6ebfe979 100644
> > --- a/drivers/gpu/drm/xe/xe_eu_stall.c
> > +++ b/drivers/gpu/drm/xe/xe_eu_stall.c
> > @@ -21,10 +21,13 @@
> > #include "xe_macros.h"
> > #include "xe_observation.h"
> > #include "xe_pm.h"
> > +#include "xe_trace.h"
> > #include "regs/xe_eu_stall_regs.h"
> > #include "regs/xe_gt_regs.h"
> > +#define POLL_PERIOD_MS 5
> > +
> > static size_t per_xecore_buf_size = SZ_512K;
> > struct per_xecore_buf {
> > @@ -37,15 +40,18 @@ struct per_xecore_buf {
> > };
> > struct xe_eu_stall_data_stream {
> > + bool pollin;
> > bool enabled;
> > int wait_num_reports;
> > int sampling_rate_mult;
> > + wait_queue_head_t poll_wq;
> > size_t data_record_size;
> > size_t per_xecore_buf_size;
> > struct xe_gt *gt;
> > struct xe_bo *bo;
> > struct per_xecore_buf *xecore_buf;
> > + struct delayed_work buf_poll_work;
> > };
> > struct xe_eu_stall_gt {
> > @@ -53,6 +59,8 @@ struct xe_eu_stall_gt {
> > struct mutex stream_lock;
> > /* EU stall data stream */
> > struct xe_eu_stall_data_stream *stream;
> > + /* Workqueue to schedule buffer pointers polling work */
> > + struct workqueue_struct *buf_ptr_poll_wq;
> > };
> > /**
> > @@ -114,6 +122,7 @@ static void xe_eu_stall_fini(void *arg)
> > {
> > struct xe_gt *gt = arg;
> > + destroy_workqueue(gt->eu_stall->buf_ptr_poll_wq);
> > mutex_destroy(>->eu_stall->stream_lock);
> > kfree(gt->eu_stall);
> > }
> > @@ -139,11 +148,19 @@ int xe_eu_stall_init(struct xe_gt *gt)
> > mutex_init(>->eu_stall->stream_lock);
> > + gt->eu_stall->buf_ptr_poll_wq = alloc_ordered_workqueue("xe_eu_stall", 0);
> > + if (!gt->eu_stall->buf_ptr_poll_wq) {
> > + ret = -ENOMEM;
> > + goto exit_free;
> > + }
> > +
> > ret = devm_add_action_or_reset(xe->drm.dev, xe_eu_stall_fini, gt);
> > if (ret)
> > - goto exit_free;
> > + goto exit_destroy;
> > return 0;
> > +exit_destroy:
> > + destroy_workqueue(gt->eu_stall->buf_ptr_poll_wq);
> > exit_free:
> > mutex_destroy(>->eu_stall->stream_lock);
> > kfree(gt->eu_stall);
> > @@ -248,6 +265,172 @@ 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;
> > +
> > + if (read_ptr == write_ptr)
> > + goto exit;
> > +
> > + 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;
> > +exit:
> > + return size;
> > +}
> > +
> > +/**
> > + * eu_stall_data_buf_poll - Poll 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_poll(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 per_xecore_buf *xecore_buf;
> > + struct xe_gt *gt = stream->gt;
> > + bool min_data_present = false;
> > + u16 group, instance;
> > + unsigned int xecore;
> > +
> > + mutex_lock(>->eu_stall->stream_lock);
> > + for_each_dss_steering(xecore, gt, group, instance) {
> > + xecore_buf = &stream->xecore_buf[xecore];
> > + 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 (!min_data_present) {
> > + total_data += buf_data_size(buf_size, read_ptr, write_ptr);
> > + if (num_data_rows(total_data) >= stream->wait_num_reports)
> > + min_data_present = true;
> > + }
> > + xecore_buf->write = write_ptr;
> > + }
> > + mutex_unlock(>->eu_stall->stream_lock);
> > +
> > + return min_data_present;
> > +}
> > +
> > +static int xe_eu_stall_data_buf_read(struct xe_eu_stall_data_stream *stream,
> > + char __user *buf, size_t count,
> > + size_t *total_data_size, struct xe_gt *gt,
> > + u16 group, u16 instance, unsigned int xecore)
> > +{
> > + size_t read_data_size, copy_size, buf_size;
> > + u32 read_ptr_reg, read_ptr, write_ptr;
> > + u8 *xecore_start_vaddr, *read_vaddr;
> > + struct per_xecore_buf *xecore_buf;
> > + u32 read_offset, write_offset;
> > +
> > + /* 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];
> > + xecore_start_vaddr = xecore_buf->vaddr;
> > + read_ptr = xecore_buf->read;
> > + write_ptr = xecore_buf->write;
> > + buf_size = stream->per_xecore_buf_size;
> > +
> > + read_data_size = buf_data_size(buf_size, read_ptr, write_ptr);
> > + /* Read only the data that the user space buffer can accommodate */
> > + read_data_size = min_t(size_t, count - *total_data_size, read_data_size);
> > + if (read_data_size == 0)
> > + return 0;
> > +
> > + read_offset = read_ptr & (buf_size - 1);
> > + write_offset = write_ptr & (buf_size - 1);
> > + read_vaddr = xecore_start_vaddr + read_offset;
> > +
> > + if (write_offset > read_offset) {
> > + if (copy_to_user(buf + *total_data_size, read_vaddr, read_data_size))
> > + return -EFAULT;
> > + } else {
> > + if (read_data_size >= buf_size - read_offset)
> > + copy_size = buf_size - read_offset;
> > + else
> > + copy_size = read_data_size;
> > + if (copy_to_user(buf + *total_data_size, read_vaddr, copy_size))
> > + return -EFAULT;
> > + if (copy_to_user(buf + *total_data_size + copy_size,
> > + xecore_start_vaddr, read_data_size - copy_size))
> > + return -EFAULT;
> > + }
> > +
> > + *total_data_size += read_data_size;
> > + read_ptr += read_data_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 = _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->read = read_ptr;
> > + trace_xe_eu_stall_data_read(group, instance, read_ptr, write_ptr,
> > + read_data_size, *total_data_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
> > + * @file: An xe EU stall data stream file
> > + * @buf: destination buffer given by userspace
> > + * @count: the number of bytes userspace wants to read
> > + *
> > + * 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)
> > +{
> > + struct xe_gt *gt = stream->gt;
> > + size_t total_size = 0;
> > + u16 group, instance;
> > + unsigned int xecore;
> > + int ret = 0;
> > +
> > + 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)
> > + break;
> > + }
> > + return total_size ?: (ret ?: -EAGAIN);
> > +}
> > +
> > /*
> > * Userspace must enable the EU stall stream with DRM_XE_OBSERVATION_IOCTL_ENABLE
> > * before calling read().
> > @@ -255,7 +438,41 @@ 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, aligned_count;
> > +
> > + aligned_count = ALIGN_DOWN(count, stream->data_record_size);
> > + if (aligned_count == 0)
> > + return -EINVAL;
> > +
> > + 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 {
> > + ret = wait_event_interruptible(stream->poll_wq, stream->pollin);
> > + if (ret)
> > + return -EINTR;
> > +
> > + mutex_lock(>->eu_stall->stream_lock);
> > + ret = xe_eu_stall_stream_read_locked(stream, file, buf, aligned_count);
> > + mutex_unlock(>->eu_stall->stream_lock);
> > + } while (ret == -EAGAIN);
> > + } else {
> > + mutex_lock(>->eu_stall->stream_lock);
> > + ret = xe_eu_stall_stream_read_locked(stream, file, buf, aligned_count);
> > + mutex_unlock(>->eu_stall->stream_lock);
> > + }
> > +
> > + /*
> > + * This may not work correctly if the user buffer is very small.
> > + * We don't want to block the next read() when there is data in the buffer
> > + * now, but couldn't be accommodated in the small user buffer.
> > + */
> > + stream->pollin = false;
> > return ret;
> > }
> > @@ -348,6 +565,21 @@ static int xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream)
> > return 0;
> > }
> > +static void eu_stall_data_buf_poll_work_fn(struct work_struct *work)
> > +{
> > + struct xe_eu_stall_data_stream *stream =
> > + container_of(work, typeof(*stream), buf_poll_work.work);
> > + struct xe_gt *gt = stream->gt;
> > +
> > + if (eu_stall_data_buf_poll(stream)) {
> > + stream->pollin = true;
> > + wake_up(&stream->poll_wq);
> > + }
> > + queue_delayed_work(gt->eu_stall->buf_ptr_poll_wq,
> > + &stream->buf_poll_work,
> > + msecs_to_jiffies(POLL_PERIOD_MS));
> > +}
> > +
> > static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
> > struct eu_stall_open_properties *props)
> > {
> > @@ -372,6 +604,9 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
> > max_wait_num_reports);
> > return -EINVAL;
> > }
> > +
> > + init_waitqueue_head(&stream->poll_wq);
> > + INIT_DELAYED_WORK(&stream->buf_poll_work, eu_stall_data_buf_poll_work_fn);
> > stream->per_xecore_buf_size = per_xecore_buf_size;
> > stream->sampling_rate_mult = props->sampling_rate_mult;
> > stream->wait_num_reports = props->wait_num_reports;
> > @@ -389,15 +624,35 @@ static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream,
> > 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;
> > +}
> > +
> > 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(>->eu_stall->stream_lock);
> > + ret = xe_eu_stall_stream_poll_locked(stream, file, wait);
> > + mutex_unlock(>->eu_stall->stream_lock);
> > return ret;
> > }
> > static int xe_eu_stall_enable_locked(struct xe_eu_stall_data_stream *stream)
> > {
> > + struct xe_gt *gt = stream->gt;
> > int ret = 0;
> > if (stream->enabled)
> > @@ -406,6 +661,10 @@ static int xe_eu_stall_enable_locked(struct xe_eu_stall_data_stream *stream)
> > stream->enabled = true;
Adding a delay here is helping me to consistently reproduce the
deadlock. This is just for testing the fix.
> > ret = xe_eu_stall_stream_enable(stream);
> > +
> > + queue_delayed_work(gt->eu_stall->buf_ptr_poll_wq,
> > + &stream->buf_poll_work,
> > + msecs_to_jiffies(POLL_PERIOD_MS));
> > return ret;
> > }
> > @@ -420,6 +679,8 @@ static int xe_eu_stall_disable_locked(struct xe_eu_stall_data_stream *stream)
> > xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, 0);
> > + cancel_delayed_work_sync(&stream->buf_poll_work);
> > +
>
> There looks to be a possible deadlock here:
> https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/4598
>
> Can you please take a look?
I am working on a fix for this issue. I have seen this deadlock warning
only once in my testing so far. In order to consistently create the
deadlock, I had to add delay in xe_eu_stall_enable_locked for testing.
I will send out the patch soon.
Thank You
Harish.
>
> > 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_trace.h b/drivers/gpu/drm/xe/xe_trace.h
> > index d5281de04d54..b4a3577df70c 100644
> > --- a/drivers/gpu/drm/xe/xe_trace.h
> > +++ b/drivers/gpu/drm/xe/xe_trace.h
> > @@ -427,6 +427,36 @@ 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,
> > + size_t read_size, size_t total_size),
> > + TP_ARGS(slice, subslice,
> > + read_ptr, write_ptr,
> > + read_size, total_size),
> > +
> > + TP_STRUCT__entry(__field(u8, slice)
> > + __field(u8, subslice)
> > + __field(u32, read_ptr)
> > + __field(u32, write_ptr)
> > + __field(size_t, read_size)
> > + __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_size = read_size;
> > + __entry->total_size = total_size;
> > + ),
> > +
> > + TP_printk("slice: %u subslice: %u read ptr: 0x%x write ptr: 0x%x read size: %zu total read size: %zu",
> > + __entry->slice, __entry->subslice,
> > + __entry->read_ptr, __entry->write_ptr,
> > + __entry->read_size, __entry->total_size)
> > +);
> > +
> > #endif
> > /* This part must be outside protection */
>
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2025-04-17 4:50 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-26 1:47 [PATCH v12 0/8] Add support for EU stall sampling Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 1/8] drm/xe/topology: Add a function to find the index of the last enabled DSS in a mask Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 2/8] drm/xe/uapi: Introduce API for EU stall sampling Harish Chegondi
2025-04-04 17:55 ` Kees Cook
2025-04-15 17:47 ` Chegondi, Harish
2025-02-26 1:47 ` [PATCH v12 3/8] drm/xe/eustall: Add support to init, enable and disable " Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 4/8] drm/xe/eustall: Add support to read() and poll() EU stall data Harish Chegondi
2025-04-16 9:22 ` Matthew Auld
2025-04-17 4:50 ` Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 5/8] drm/xe/eustall: Add support to handle dropped " Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 6/8] drm/xe/eustall: Add EU stall sampling support for Xe2 Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 7/8] drm/xe/uapi: Add a device query to get EU stall sampling information Harish Chegondi
2025-02-26 1:47 ` [PATCH v12 8/8] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi
2025-02-26 1:52 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork
2025-02-26 1:53 ` ✗ CI.checkpatch: warning " Patchwork
2025-02-26 1:54 ` ✓ CI.KUnit: success " Patchwork
2025-02-26 2:10 ` ✓ CI.Build: " Patchwork
2025-02-26 2:13 ` ✓ CI.Hooks: " Patchwork
2025-02-26 2:14 ` ✓ CI.checksparse: " Patchwork
2025-02-26 2:32 ` ✓ Xe.CI.BAT: " Patchwork
2025-02-26 2:34 ` [PATCH v12 0/8] " Dixit, Ashutosh
2025-02-26 19:43 ` Dixit, Ashutosh
2025-02-26 3:52 ` ✗ Xe.CI.Full: failure for " 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).