* [PATCH v4 0/5] Add support for EU stall sampling
@ 2024-10-14 6:00 Harish Chegondi
2024-10-14 6:00 ` [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask Harish Chegondi
` (12 more replies)
0 siblings, 13 replies; 30+ messages in thread
From: Harish Chegondi @ 2024-10-14 6:00 UTC (permalink / raw)
To: intel-xe
Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza,
matias.a.cabral, joshua.santosh.ranjan, shubham.kumar,
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
A new test in the IGT repo:
https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
is also under development to test this feature in the driver. This
patch has undergone basic testing with the new IGT test that is under
development.
Thank You.
v4: Addressed review feedback from v3 including
a. Split the patch into multiple patches (Matt R)
b. Added a new device query to get EU stall info (Ashutosh)
c. Renamed all Dss to xecore (Matt R)
d. Removed buffer size and disable at open input properties. (Matt R)
e. Removed the "_SHIFT" macros (Matt R)
f. Allocate the EU stall buffer only on system memory.
g. Changed the work arounds to OOB (Matt R)
h. Other review feedback.
v3: a. Removed data header and changed read() to return -EIO when data is dropped by the HW.
b. Added a new DRM_XE_OBSERVATION_IOCTL_INFO to query EU stall data record info
c. Added struct drm_xe_eu_stall_data_pvc and struct drm_xe_eu_stall_data_xe2
to xe_drm.h. These declarations would help user space to parse the
EU stall data
d. Addressed other review comments from v2
v2: Rename xe perf layer as xe observation layer (Ashutosh)
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Harish Chegondi (5):
drm/xe/topology: Add a function to find the index of the last DSS in a
mask
drm/xe/eustall: Introduce API for EU stall sampling
drm/xe/eustall: Implement EU stall sampling APIs
drm/xe/query: Add a device query to get EU stall data 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 | 1031 ++++++++++++++++++++
drivers/gpu/drm/xe/xe_eu_stall.h | 60 ++
drivers/gpu/drm/xe/xe_gt.c | 6 +
drivers/gpu/drm/xe/xe_gt_topology.c | 9 +
drivers/gpu/drm/xe/xe_gt_topology.h | 3 +
drivers/gpu/drm/xe/xe_gt_types.h | 3 +
drivers/gpu/drm/xe/xe_observation.c | 14 +
drivers/gpu/drm/xe/xe_query.c | 30 +
drivers/gpu/drm/xe/xe_trace.h | 35 +
drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
include/uapi/drm/xe_drm.h | 62 ++
13 files changed, 1284 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.45.1
^ permalink raw reply [flat|nested] 30+ messages in thread* [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi @ 2024-10-14 6:00 ` Harish Chegondi 2024-10-14 21:26 ` Dixit, Ashutosh 2024-10-18 21:26 ` Matt Roper 2024-10-14 6:00 ` [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling Harish Chegondi ` (11 subsequent siblings) 12 siblings, 2 replies; 30+ messages in thread From: Harish Chegondi @ 2024-10-14 6:00 UTC (permalink / raw) To: intel-xe Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar, Harish Chegondi Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> --- drivers/gpu/drm/xe/xe_gt_topology.c | 9 +++++++++ drivers/gpu/drm/xe/xe_gt_topology.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_gt_topology.c b/drivers/gpu/drm/xe/xe_gt_topology.c index df2042db7ee6..1e7476f71906 100644 --- a/drivers/gpu/drm/xe/xe_gt_topology.c +++ b/drivers/gpu/drm/xe/xe_gt_topology.c @@ -278,6 +278,15 @@ xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum) return find_next_bit(mask, XE_MAX_DSS_FUSE_BITS, groupnum * groupsize); } +/* + * Used to obtain the index of the last DSS. + */ +unsigned int +xe_dss_mask_last_dss(const xe_dss_mask_t mask) +{ + return find_last_bit(mask, XE_MAX_DSS_FUSE_BITS); +} + bool xe_dss_mask_empty(const xe_dss_mask_t mask) { return bitmap_empty(mask, XE_MAX_DSS_FUSE_BITS); diff --git a/drivers/gpu/drm/xe/xe_gt_topology.h b/drivers/gpu/drm/xe/xe_gt_topology.h index 746b325bbf6e..7ee022784397 100644 --- a/drivers/gpu/drm/xe/xe_gt_topology.h +++ b/drivers/gpu/drm/xe/xe_gt_topology.h @@ -28,6 +28,9 @@ void xe_gt_topology_dump(struct xe_gt *gt, struct drm_printer *p); unsigned int xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum); +unsigned int +xe_dss_mask_last_dss(const xe_dss_mask_t mask); + bool xe_dss_mask_empty(const xe_dss_mask_t mask); bool -- 2.45.1 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask 2024-10-14 6:00 ` [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask Harish Chegondi @ 2024-10-14 21:26 ` Dixit, Ashutosh 2024-10-16 3:44 ` Harish Chegondi 2024-10-18 21:26 ` Matt Roper 1 sibling, 1 reply; 30+ messages in thread From: Dixit, Ashutosh @ 2024-10-14 21:26 UTC (permalink / raw) To: Harish Chegondi Cc: intel-xe, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Sun, 13 Oct 2024 23:00:32 -0700, Harish Chegondi wrote: > > Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> > --- > drivers/gpu/drm/xe/xe_gt_topology.c | 9 +++++++++ > drivers/gpu/drm/xe/xe_gt_topology.h | 3 +++ > 2 files changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/xe/xe_gt_topology.c b/drivers/gpu/drm/xe/xe_gt_topology.c > index df2042db7ee6..1e7476f71906 100644 > --- a/drivers/gpu/drm/xe/xe_gt_topology.c > +++ b/drivers/gpu/drm/xe/xe_gt_topology.c > @@ -278,6 +278,15 @@ xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum) > return find_next_bit(mask, XE_MAX_DSS_FUSE_BITS, groupnum * groupsize); > } > > +/* > + * Used to obtain the index of the last DSS. > + */ > +unsigned int > +xe_dss_mask_last_dss(const xe_dss_mask_t mask) > +{ > + return find_last_bit(mask, XE_MAX_DSS_FUSE_BITS); Does this need to be exposed from xe_gt_topology.c/.h, can't this just be local to eu stall? > +} > + > bool xe_dss_mask_empty(const xe_dss_mask_t mask) > { > return bitmap_empty(mask, XE_MAX_DSS_FUSE_BITS); > diff --git a/drivers/gpu/drm/xe/xe_gt_topology.h b/drivers/gpu/drm/xe/xe_gt_topology.h > index 746b325bbf6e..7ee022784397 100644 > --- a/drivers/gpu/drm/xe/xe_gt_topology.h > +++ b/drivers/gpu/drm/xe/xe_gt_topology.h > @@ -28,6 +28,9 @@ void xe_gt_topology_dump(struct xe_gt *gt, struct drm_printer *p); > unsigned int > xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum); > > +unsigned int > +xe_dss_mask_last_dss(const xe_dss_mask_t mask); > + > bool xe_dss_mask_empty(const xe_dss_mask_t mask); > > bool > -- > 2.45.1 > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask 2024-10-14 21:26 ` Dixit, Ashutosh @ 2024-10-16 3:44 ` Harish Chegondi 0 siblings, 0 replies; 30+ messages in thread From: Harish Chegondi @ 2024-10-16 3:44 UTC (permalink / raw) To: Dixit, Ashutosh Cc: intel-xe, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Mon, Oct 14, 2024 at 02:26:49PM -0700, Dixit, Ashutosh wrote: > On Sun, 13 Oct 2024 23:00:32 -0700, Harish Chegondi wrote: > > > > Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> > > --- > > drivers/gpu/drm/xe/xe_gt_topology.c | 9 +++++++++ > > drivers/gpu/drm/xe/xe_gt_topology.h | 3 +++ > > 2 files changed, 12 insertions(+) > > > > diff --git a/drivers/gpu/drm/xe/xe_gt_topology.c b/drivers/gpu/drm/xe/xe_gt_topology.c > > index df2042db7ee6..1e7476f71906 100644 > > --- a/drivers/gpu/drm/xe/xe_gt_topology.c > > +++ b/drivers/gpu/drm/xe/xe_gt_topology.c > > @@ -278,6 +278,15 @@ xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum) > > return find_next_bit(mask, XE_MAX_DSS_FUSE_BITS, groupnum * groupsize); > > } > > > > +/* > > + * Used to obtain the index of the last DSS. > > + */ > > +unsigned int > > +xe_dss_mask_last_dss(const xe_dss_mask_t mask) > > +{ > > + return find_last_bit(mask, XE_MAX_DSS_FUSE_BITS); > > Does this need to be exposed from xe_gt_topology.c/.h, can't this just be > local to eu stall? The reason I exposed this is - there is another function xe_dss_mask_group_ffs() to find the index of the first DSS in xe_gt_topology.c/.h This new function is to find the last DSS which is some what related to xe_dss_mask_group_ffs() and can be useful if exposed. So, I exposed it instead of keeping it local to EU stall code. Thanks Harish. > > > +} > > + > > bool xe_dss_mask_empty(const xe_dss_mask_t mask) > > { > > return bitmap_empty(mask, XE_MAX_DSS_FUSE_BITS); > > diff --git a/drivers/gpu/drm/xe/xe_gt_topology.h b/drivers/gpu/drm/xe/xe_gt_topology.h > > index 746b325bbf6e..7ee022784397 100644 > > --- a/drivers/gpu/drm/xe/xe_gt_topology.h > > +++ b/drivers/gpu/drm/xe/xe_gt_topology.h > > @@ -28,6 +28,9 @@ void xe_gt_topology_dump(struct xe_gt *gt, struct drm_printer *p); > > unsigned int > > xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum); > > > > +unsigned int > > +xe_dss_mask_last_dss(const xe_dss_mask_t mask); > > + > > bool xe_dss_mask_empty(const xe_dss_mask_t mask); > > > > bool > > -- > > 2.45.1 > > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask 2024-10-14 6:00 ` [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask Harish Chegondi 2024-10-14 21:26 ` Dixit, Ashutosh @ 2024-10-18 21:26 ` Matt Roper 1 sibling, 0 replies; 30+ messages in thread From: Matt Roper @ 2024-10-18 21:26 UTC (permalink / raw) To: Harish Chegondi Cc: intel-xe, ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Sun, Oct 13, 2024 at 11:00:32PM -0700, Harish Chegondi wrote: > Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> > --- > drivers/gpu/drm/xe/xe_gt_topology.c | 9 +++++++++ > drivers/gpu/drm/xe/xe_gt_topology.h | 3 +++ > 2 files changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/xe/xe_gt_topology.c b/drivers/gpu/drm/xe/xe_gt_topology.c > index df2042db7ee6..1e7476f71906 100644 > --- a/drivers/gpu/drm/xe/xe_gt_topology.c > +++ b/drivers/gpu/drm/xe/xe_gt_topology.c > @@ -278,6 +278,15 @@ xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum) > return find_next_bit(mask, XE_MAX_DSS_FUSE_BITS, groupnum * groupsize); > } > > +/* > + * Used to obtain the index of the last DSS. > + */ We should probably have a true kerneldoc comment here. And indicate what happens if the mask is empty, since it isn't obvious without looking at the implementation here. > +unsigned int > +xe_dss_mask_last_dss(const xe_dss_mask_t mask) We're not 100% successful, but usually we try to prefix non-static functions with the same name as the file they're defined in. So this would be better as something along the lines of xe_gt_topology_mask_last_dss . > +{ > + return find_last_bit(mask, XE_MAX_DSS_FUSE_BITS); Since this is just a 1-liner, it might be fine to just put it in the header file as a static inline. Matt > +} > + > bool xe_dss_mask_empty(const xe_dss_mask_t mask) > { > return bitmap_empty(mask, XE_MAX_DSS_FUSE_BITS); > diff --git a/drivers/gpu/drm/xe/xe_gt_topology.h b/drivers/gpu/drm/xe/xe_gt_topology.h > index 746b325bbf6e..7ee022784397 100644 > --- a/drivers/gpu/drm/xe/xe_gt_topology.h > +++ b/drivers/gpu/drm/xe/xe_gt_topology.h > @@ -28,6 +28,9 @@ void xe_gt_topology_dump(struct xe_gt *gt, struct drm_printer *p); > unsigned int > xe_dss_mask_group_ffs(const xe_dss_mask_t mask, int groupsize, int groupnum); > > +unsigned int > +xe_dss_mask_last_dss(const xe_dss_mask_t mask); > + > bool xe_dss_mask_empty(const xe_dss_mask_t mask); > > bool > -- > 2.45.1 > -- Matt Roper Graphics Software Engineer Linux GPU Platform Enablement Intel Corporation ^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi 2024-10-14 6:00 ` [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask Harish Chegondi @ 2024-10-14 6:00 ` Harish Chegondi 2024-10-14 22:21 ` Dixit, Ashutosh ` (2 more replies) 2024-10-14 6:00 ` [PATCH v4 3/5] drm/xe/eustall: Implement EU stall sampling APIs Harish Chegondi ` (10 subsequent siblings) 12 siblings, 3 replies; 30+ messages in thread From: Harish Chegondi @ 2024-10-14 6:00 UTC (permalink / raw) To: intel-xe Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar, 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 interface into the driver from the user space to do initial setup and obtain a file descriptor for the EU stall counter 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(). Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> --- drivers/gpu/drm/xe/Makefile | 1 + drivers/gpu/drm/xe/xe_eu_stall.c | 275 ++++++++++++++++++++++++++++ drivers/gpu/drm/xe/xe_eu_stall.h | 12 ++ drivers/gpu/drm/xe/xe_observation.c | 14 ++ include/uapi/drm/xe_drm.h | 42 +++++ 5 files changed, 344 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 cb6c625bdef0..bf21feae6950 100644 --- a/drivers/gpu/drm/xe/Makefile +++ b/drivers/gpu/drm/xe/Makefile @@ -33,6 +33,7 @@ xe-y += xe_bb.o \ xe_device_sysfs.o \ xe_dma_buf.o \ xe_drm_client.o \ + xe_eu_stall.o \ xe_exec.o \ xe_execlist.o \ xe_exec_queue.o \ diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c new file mode 100644 index 000000000000..5e4c90f9614d --- /dev/null +++ b/drivers/gpu/drm/xe/xe_eu_stall.c @@ -0,0 +1,275 @@ +// SPDX-License-Identifier: MIT +/* + * Copyright © 2024 Intel Corporation + */ + +#include <linux/anon_inodes.h> +#include <linux/types.h> +#include <linux/poll.h> +#include <linux/fs.h> + +#include <uapi/drm/xe_drm.h> + +#include "xe_macros.h" +#include "xe_device.h" +#include "xe_eu_stall.h" +#include "xe_gt_printk.h" +#include "xe_gt_topology.h" +#include "xe_observation.h" + +/** + * struct eu_stall_open_properties + * + * @eu_stall_sampling_rate: Hardware EU stall sampling rate. + * @event_report_count: Minimum no of EU stall data rows for poll to set POLLIN. + * @poll_period: The period in nanoseconds at which the CPU will check for + * EU stall data in the buffer. + * @gt: GT on which EU stall data will be captured. + */ +struct eu_stall_open_properties { + u8 eu_stall_sampling_rate; + u32 event_report_count; + u64 poll_period; + struct xe_gt *gt; +}; + +/** + * num_data_rows - Return the number of EU stall data rows of 64B each + * for a given data size. + * + * @data_size: EU stall data size + */ +static inline u32 +num_data_rows(u32 data_size) +{ + return (data_size >> 6); +} + +static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value, + struct eu_stall_open_properties *props) +{ + if (value == 0 || value > 7) { + drm_dbg(&xe->drm, "Invalid EU stall sampling rate %llu\n", value); + return -EINVAL; + } + props->eu_stall_sampling_rate = value; + return 0; +} + +static int set_prop_eu_stall_poll_period(struct xe_device *xe, u64 value, + struct eu_stall_open_properties *props) +{ + if (value < 100000 /* 100us */) { + drm_dbg(&xe->drm, "EU stall data poll period %lluns less than 100us\n", value); + return -EINVAL; + } + props->poll_period = value; + return 0; +} + +static int set_prop_eu_stall_event_report_count(struct xe_device *xe, u64 value, + struct eu_stall_open_properties *props) +{ + if (value == 0) { + drm_dbg(&xe->drm, "Invalid EU stall poll event report count %llu\n", value); + return -EINVAL; + } + props->event_report_count = (u32)value; + return 0; +} + +static int set_prop_eu_stall_gt_id(struct xe_device *xe, u64 value, + struct eu_stall_open_properties *props) +{ + props->gt = xe_device_get_gt(xe, (u8)value); + if (!props->gt) { + drm_dbg(&xe->drm, "Invalid GT ID %llu for EU stall sampling\n", value); + return -EINVAL; + } + 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_POLL_PERIOD] = set_prop_eu_stall_poll_period, + [DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT] = set_prop_eu_stall_event_report_count, + [DRM_XE_EU_STALL_PROP_GT_ID] = set_prop_eu_stall_gt_id, +}; + +static int xe_eu_stall_user_ext_set_property(struct xe_device *xe, u64 extension, + struct eu_stall_open_properties *props) +{ + u64 __user *address = u64_to_user_ptr(extension); + struct drm_xe_ext_set_property ext; + int err; + u32 idx; + + err = __copy_from_user(&ext, address, sizeof(ext)); + if (XE_IOCTL_DBG(xe, err)) + return -EFAULT; + + if (XE_IOCTL_DBG(xe, ext.property >= ARRAY_SIZE(xe_set_eu_stall_property_funcs)) || + XE_IOCTL_DBG(xe, ext.pad)) + return -EINVAL; + + idx = array_index_nospec(ext.property, ARRAY_SIZE(xe_set_eu_stall_property_funcs)); + return xe_set_eu_stall_property_funcs[idx](xe, ext.value, props); +} + +typedef int (*xe_eu_stall_user_extension_fn)(struct xe_device *xe, u64 extension, + struct eu_stall_open_properties *props); +static const xe_eu_stall_user_extension_fn xe_eu_stall_user_extension_funcs[] = { + [DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY] = xe_eu_stall_user_ext_set_property, +}; + +static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension, + struct eu_stall_open_properties *props) +{ + u64 __user *address = u64_to_user_ptr(extension); + struct drm_xe_user_extension ext; + int err; + u32 idx; + + err = __copy_from_user(&ext, address, sizeof(ext)); + if (XE_IOCTL_DBG(xe, err)) + return -EFAULT; + + if (XE_IOCTL_DBG(xe, ext.pad) || + XE_IOCTL_DBG(xe, ext.name >= ARRAY_SIZE(xe_eu_stall_user_extension_funcs))) + return -EINVAL; + + idx = array_index_nospec(ext.name, ARRAY_SIZE(xe_eu_stall_user_extension_funcs)); + err = xe_eu_stall_user_extension_funcs[idx](xe, extension, props); + if (XE_IOCTL_DBG(xe, err)) + return err; + + if (ext.next_extension) + return xe_eu_stall_user_extensions(xe, ext.next_extension, props); + + return 0; +} + +/** + * xe_eu_stall_stream_read - handles userspace read() of a EU stall data stream fd. + * + * @file: An xe EU stall data stream file + * @buf: destination buffer given by userspace + * @count: the number of bytes userspace wants to read + * @ppos: (inout) file seek position (unused) + * + * Returns: The number of bytes copied or a negative error code on failure. + */ +static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf, + size_t count, loff_t *ppos) +{ + ssize_t ret = 0; + + return ret; +} + +/** + * xe_eu_stall_stream_poll - handles userspace poll() of a EU stall data stream fd. + * + * @file: An xe EU stall data stream file + * @wait: Poll table + * + * Returns: Bit mask of returned events. + */ +static __poll_t +xe_eu_stall_stream_poll(struct file *file, poll_table *wait) +{ + __poll_t ret = 0; + + return ret; +} + +/** + * xe_eu_stall_stream_ioctl - support ioctl() usage with xe EU stall data + * stream fd + * @file: An xe EU stall data stream file + * @cmd: the ioctl request + * @arg: the ioctl data + * + * Returns: zero on success or a negative error code. Returns -EINVAL for + * an unknown ioctl request. + */ +static long xe_eu_stall_stream_ioctl(struct file *file, + unsigned int cmd, + unsigned long arg) +{ + switch (cmd) { + case DRM_XE_OBSERVATION_IOCTL_ENABLE: + return 0; + case DRM_XE_OBSERVATION_IOCTL_DISABLE: + return 0; + } + + return -EINVAL; +} + +/** + * xe_eu_stall_stream_close - handles userspace close() of a EU stall data + * stream file. + * @inode: anonymous inode associated with file + * @file: An xe EU stall data stream file + * + * Cleans up any resources associated with an open EU stall data stream file. + */ +static int xe_eu_stall_stream_close(struct inode *inode, struct file *file) +{ + return 0; +} + +static const struct file_operations fops_eu_stall = { + .owner = THIS_MODULE, + .llseek = noop_llseek, + .release = xe_eu_stall_stream_close, + .poll = xe_eu_stall_stream_poll, + .read = xe_eu_stall_stream_read, + .unlocked_ioctl = xe_eu_stall_stream_ioctl, + .compat_ioctl = xe_eu_stall_stream_ioctl, +}; + +static inline bool has_eu_stall_sampling_support(struct xe_device *xe) +{ + return false; +} + +int xe_eu_stall_stream_open(struct drm_device *dev, + u64 data, + struct drm_file *file) +{ + struct xe_device *xe = to_xe_device(dev); + struct eu_stall_open_properties props; + int ret, stream_fd; + + memset(&props, 0, sizeof(struct eu_stall_open_properties)); + + ret = xe_eu_stall_user_extensions(xe, data, &props); + if (ret) + return ret; + + if (!props.gt) { + drm_dbg(&xe->drm, "GT ID not provided for EU stall sampling\n"); + return -EINVAL; + } + + if (xe_observation_paranoid && !perfmon_capable()) { + xe_gt_dbg(props.gt, "Insufficient privileges for EU stall monitoring\n"); + return -EACCES; + } + + if (!has_eu_stall_sampling_support(xe)) { + xe_gt_dbg(props.gt, "EU stall monitoring is not supported on this platform\n"); + return -EPERM; + } + stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall, + NULL, 0); + if (stream_fd < 0) + xe_gt_dbg(props.gt, "EU stall inode get fd failed : %d\n", stream_fd); + + return stream_fd; +} diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h new file mode 100644 index 000000000000..70fc89480df2 --- /dev/null +++ b/drivers/gpu/drm/xe/xe_eu_stall.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: MIT */ +/* + * Copyright © 2024 Intel Corporation + */ + +#ifndef __XE_EU_STALL_H__ +#define __XE_EU_STALL_H__ + +int xe_eu_stall_stream_open(struct drm_device *dev, + u64 data, + struct drm_file *file); +#endif diff --git a/drivers/gpu/drm/xe/xe_observation.c b/drivers/gpu/drm/xe/xe_observation.c index 8ec1b84cbb9e..cca661de60ac 100644 --- a/drivers/gpu/drm/xe/xe_observation.c +++ b/drivers/gpu/drm/xe/xe_observation.c @@ -9,6 +9,7 @@ #include <uapi/drm/xe_drm.h> #include "xe_oa.h" +#include "xe_eu_stall.h" #include "xe_observation.h" u32 xe_observation_paranoid = true; @@ -29,6 +30,17 @@ static int xe_oa_ioctl(struct drm_device *dev, struct drm_xe_observation_param * } } +static int xe_eu_stall_ioctl(struct drm_device *dev, struct drm_xe_observation_param *arg, + struct drm_file *file) +{ + switch (arg->observation_op) { + case DRM_XE_OBSERVATION_OP_STREAM_OPEN: + return xe_eu_stall_stream_open(dev, arg->param, file); + default: + return -EINVAL; + } +} + /** * xe_observation_ioctl - The top level observation layer ioctl * @dev: @drm_device @@ -51,6 +63,8 @@ int xe_observation_ioctl(struct drm_device *dev, void *data, struct drm_file *fi switch (arg->observation_type) { case DRM_XE_OBSERVATION_TYPE_OA: return xe_oa_ioctl(dev, arg, file); + case DRM_XE_OBSERVATION_TYPE_EU_STALL: + return xe_eu_stall_ioctl(dev, arg, file); default: return -EINVAL; } diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h index c4182e95a619..50ad6b2e1450 100644 --- a/include/uapi/drm/xe_drm.h +++ b/include/uapi/drm/xe_drm.h @@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence { enum drm_xe_observation_type { /** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */ DRM_XE_OBSERVATION_TYPE_OA, + /** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */ + DRM_XE_OBSERVATION_TYPE_EU_STALL, }; /** @@ -1696,6 +1698,46 @@ struct drm_xe_oa_stream_info { __u64 reserved[3]; }; +/** + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. + * + * These properties are passed to the driver 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. + */ +enum drm_xe_eu_stall_property_id { +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 + /** + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate + * in multiples of 251 cycles. Valid values are 1 to 7. + * If the value is 1, sampling interval is 251 cycles. + * If the value is 7, sampling interval is 7 x 251 cycles. + */ + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, + + /** + * @DRM_XE_EU_STALL_PROP_POLL_PERIOD: EU stall data + * poll period in nanoseconds at which the driver polls + * for EU stall data in the buffer. Should be at least 100000 ns. + */ + DRM_XE_EU_STALL_PROP_POLL_PERIOD, + + /** + * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of + * EU stall data rows to be present in the kernel buffer for + * poll() to set POLLIN (data present). + */ + DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT, + + /** + * @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, +}; + #if defined(__cplusplus) } #endif -- 2.45.1 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-10-14 6:00 ` [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling Harish Chegondi @ 2024-10-14 22:21 ` Dixit, Ashutosh 2024-10-18 22:03 ` Matt Roper 2024-11-14 16:23 ` Umesh Nerlige Ramappa 2 siblings, 0 replies; 30+ messages in thread From: Dixit, Ashutosh @ 2024-10-14 22:21 UTC (permalink / raw) To: Harish Chegondi Cc: intel-xe, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Sun, 13 Oct 2024 23:00:33 -0700, Harish Chegondi wrote: > Hi Harish, Once again only reviewing the uapi (changes to xe_drm.h) for now. > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h > index c4182e95a619..50ad6b2e1450 100644 > --- a/include/uapi/drm/xe_drm.h > +++ b/include/uapi/drm/xe_drm.h > @@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence { > enum drm_xe_observation_type { > /** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */ > DRM_XE_OBSERVATION_TYPE_OA, > + /** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */ > + DRM_XE_OBSERVATION_TYPE_EU_STALL, > }; > > /** > @@ -1696,6 +1698,46 @@ struct drm_xe_oa_stream_info { > __u64 reserved[3]; > }; > > +/** > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. > + * > + * These properties are passed to the driver 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. We need to add a comment here saying that EU stall stream has to be enabled using @DRM_XE_OBSERVATION_IOCTL_ENABLE before reading data. Also, another comment that EIO return from read() indicates buffer overflow. We are not using DRM_XE_OBSERVATION_IOCTL_STATUS here the way OA does to return the reason for EIO return. I think that is OK for now. If later it turns out we have other reasons (apart from overflow) for returning EIO, we can handle it via capabilities. > + */ > +enum drm_xe_eu_stall_property_id { > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 > + /** > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate > + * in multiples of 251 cycles. Valid values are 1 to 7. > + * If the value is 1, sampling interval is 251 cycles. > + * If the value is 7, sampling interval is 7 x 251 cycles. > + */ > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, > + > + /** > + * @DRM_XE_EU_STALL_PROP_POLL_PERIOD: EU stall data > + * poll period in nanoseconds at which the driver polls > + * for EU stall data in the buffer. Should be at least 100000 ns. > + */ > + DRM_XE_EU_STALL_PROP_POLL_PERIOD, > + > + /** > + * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of > + * EU stall data rows to be present in the kernel buffer for > + * poll() to set POLLIN (data present). > + */ > + DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT, > + > + /** > + * @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, Note that we need to show UMD usage of /each/ of these properties in order to merge them. So are we sure at least one UMD is using each of these properties? If not we need to drop them from xe_drm.h. I don't like DRM_XE_EU_STALL_PROP_POLL_PERIOD in particular because it is exposing a parameter related to internal implemenation in the kernel. OA had a similar property but turned out it was never used. Not sure what the situation here is. > +}; > + > #if defined(__cplusplus) > } > #endif > -- > 2.45.1 > Thanks. -- Ashutosh ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-10-14 6:00 ` [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling Harish Chegondi 2024-10-14 22:21 ` Dixit, Ashutosh @ 2024-10-18 22:03 ` Matt Roper 2024-11-14 16:23 ` Umesh Nerlige Ramappa 2 siblings, 0 replies; 30+ messages in thread From: Matt Roper @ 2024-10-18 22:03 UTC (permalink / raw) To: Harish Chegondi Cc: intel-xe, ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Sun, Oct 13, 2024 at 11:00:33PM -0700, Harish Chegondi wrote: > 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 interface into the driver > from the user space to do initial setup and obtain a file descriptor for > the EU stall counter 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(). > > Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> In order to merge this new uapi, we'll eventually need to have Cc's for the various UMD developers here, as well as Link:'s to the corresponding PR's in the UMD codebases (fully reviewed and ready to apply on their side). I'm not sure if any of that is available yet or not, but something to keep in mind before we can merge this. > --- > drivers/gpu/drm/xe/Makefile | 1 + > drivers/gpu/drm/xe/xe_eu_stall.c | 275 ++++++++++++++++++++++++++++ > drivers/gpu/drm/xe/xe_eu_stall.h | 12 ++ > drivers/gpu/drm/xe/xe_observation.c | 14 ++ > include/uapi/drm/xe_drm.h | 42 +++++ > 5 files changed, 344 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 cb6c625bdef0..bf21feae6950 100644 > --- a/drivers/gpu/drm/xe/Makefile > +++ b/drivers/gpu/drm/xe/Makefile > @@ -33,6 +33,7 @@ xe-y += xe_bb.o \ > xe_device_sysfs.o \ > xe_dma_buf.o \ > xe_drm_client.o \ > + xe_eu_stall.o \ > xe_exec.o \ > xe_execlist.o \ > xe_exec_queue.o \ > diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c > new file mode 100644 > index 000000000000..5e4c90f9614d > --- /dev/null > +++ b/drivers/gpu/drm/xe/xe_eu_stall.c > @@ -0,0 +1,275 @@ > +// SPDX-License-Identifier: MIT > +/* > + * Copyright © 2024 Intel Corporation > + */ > + > +#include <linux/anon_inodes.h> > +#include <linux/types.h> > +#include <linux/poll.h> > +#include <linux/fs.h> > + > +#include <uapi/drm/xe_drm.h> > + > +#include "xe_macros.h" > +#include "xe_device.h" > +#include "xe_eu_stall.h" > +#include "xe_gt_printk.h" > +#include "xe_gt_topology.h" > +#include "xe_observation.h" > + > +/** > + * struct eu_stall_open_properties > + * > + * @eu_stall_sampling_rate: Hardware EU stall sampling rate. > + * @event_report_count: Minimum no of EU stall data rows for poll to set POLLIN. > + * @poll_period: The period in nanoseconds at which the CPU will check for > + * EU stall data in the buffer. > + * @gt: GT on which EU stall data will be captured. > + */ > +struct eu_stall_open_properties { > + u8 eu_stall_sampling_rate; > + u32 event_report_count; > + u64 poll_period; > + struct xe_gt *gt; > +}; > + > +/** > + * num_data_rows - Return the number of EU stall data rows of 64B each > + * for a given data size. > + * > + * @data_size: EU stall data size > + */ > +static inline u32 > +num_data_rows(u32 data_size) > +{ > + return (data_size >> 6); > +} > + > +static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value, > + struct eu_stall_open_properties *props) > +{ > + if (value == 0 || value > 7) { > + drm_dbg(&xe->drm, "Invalid EU stall sampling rate %llu\n", value); > + return -EINVAL; > + } > + props->eu_stall_sampling_rate = value; > + return 0; > +} > + > +static int set_prop_eu_stall_poll_period(struct xe_device *xe, u64 value, > + struct eu_stall_open_properties *props) > +{ > + if (value < 100000 /* 100us */) { > + drm_dbg(&xe->drm, "EU stall data poll period %lluns less than 100us\n", value); > + return -EINVAL; > + } > + props->poll_period = value; > + return 0; > +} > + > +static int set_prop_eu_stall_event_report_count(struct xe_device *xe, u64 value, > + struct eu_stall_open_properties *props) > +{ > + if (value == 0) { > + drm_dbg(&xe->drm, "Invalid EU stall poll event report count %llu\n", value); > + return -EINVAL; > + } > + props->event_report_count = (u32)value; I don't think we want to just silently cast this down from 64-bit to 32-bit. There may not be a legitimate need to ever pass in such a large value for this interface, but in that case we should have some kind of check and error rather than silently allowing bogus values through from userspace that we're not truly going to support. > + return 0; > +} > + > +static int set_prop_eu_stall_gt_id(struct xe_device *xe, u64 value, > + struct eu_stall_open_properties *props) > +{ > + props->gt = xe_device_get_gt(xe, (u8)value); Same as above --- if userspace passes in something like 0x1000 as the GT ID we should flag that as an error, rather than just silently treating it as GT 0 and moving forward. Matt > + if (!props->gt) { > + drm_dbg(&xe->drm, "Invalid GT ID %llu for EU stall sampling\n", value); > + return -EINVAL; > + } > + 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_POLL_PERIOD] = set_prop_eu_stall_poll_period, > + [DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT] = set_prop_eu_stall_event_report_count, > + [DRM_XE_EU_STALL_PROP_GT_ID] = set_prop_eu_stall_gt_id, > +}; > + > +static int xe_eu_stall_user_ext_set_property(struct xe_device *xe, u64 extension, > + struct eu_stall_open_properties *props) > +{ > + u64 __user *address = u64_to_user_ptr(extension); > + struct drm_xe_ext_set_property ext; > + int err; > + u32 idx; > + > + err = __copy_from_user(&ext, address, sizeof(ext)); > + if (XE_IOCTL_DBG(xe, err)) > + return -EFAULT; > + > + if (XE_IOCTL_DBG(xe, ext.property >= ARRAY_SIZE(xe_set_eu_stall_property_funcs)) || > + XE_IOCTL_DBG(xe, ext.pad)) > + return -EINVAL; > + > + idx = array_index_nospec(ext.property, ARRAY_SIZE(xe_set_eu_stall_property_funcs)); > + return xe_set_eu_stall_property_funcs[idx](xe, ext.value, props); > +} > + > +typedef int (*xe_eu_stall_user_extension_fn)(struct xe_device *xe, u64 extension, > + struct eu_stall_open_properties *props); > +static const xe_eu_stall_user_extension_fn xe_eu_stall_user_extension_funcs[] = { > + [DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY] = xe_eu_stall_user_ext_set_property, > +}; > + > +static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension, > + struct eu_stall_open_properties *props) > +{ > + u64 __user *address = u64_to_user_ptr(extension); > + struct drm_xe_user_extension ext; > + int err; > + u32 idx; > + > + err = __copy_from_user(&ext, address, sizeof(ext)); > + if (XE_IOCTL_DBG(xe, err)) > + return -EFAULT; > + > + if (XE_IOCTL_DBG(xe, ext.pad) || > + XE_IOCTL_DBG(xe, ext.name >= ARRAY_SIZE(xe_eu_stall_user_extension_funcs))) > + return -EINVAL; > + > + idx = array_index_nospec(ext.name, ARRAY_SIZE(xe_eu_stall_user_extension_funcs)); > + err = xe_eu_stall_user_extension_funcs[idx](xe, extension, props); > + if (XE_IOCTL_DBG(xe, err)) > + return err; > + > + if (ext.next_extension) > + return xe_eu_stall_user_extensions(xe, ext.next_extension, props); > + > + return 0; > +} > + > +/** > + * xe_eu_stall_stream_read - handles userspace read() of a EU stall data stream fd. > + * > + * @file: An xe EU stall data stream file > + * @buf: destination buffer given by userspace > + * @count: the number of bytes userspace wants to read > + * @ppos: (inout) file seek position (unused) > + * > + * Returns: The number of bytes copied or a negative error code on failure. > + */ > +static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf, > + size_t count, loff_t *ppos) > +{ > + ssize_t ret = 0; > + > + return ret; > +} > + > +/** > + * xe_eu_stall_stream_poll - handles userspace poll() of a EU stall data stream fd. > + * > + * @file: An xe EU stall data stream file > + * @wait: Poll table > + * > + * Returns: Bit mask of returned events. > + */ > +static __poll_t > +xe_eu_stall_stream_poll(struct file *file, poll_table *wait) > +{ > + __poll_t ret = 0; > + > + return ret; > +} > + > +/** > + * xe_eu_stall_stream_ioctl - support ioctl() usage with xe EU stall data > + * stream fd > + * @file: An xe EU stall data stream file > + * @cmd: the ioctl request > + * @arg: the ioctl data > + * > + * Returns: zero on success or a negative error code. Returns -EINVAL for > + * an unknown ioctl request. > + */ > +static long xe_eu_stall_stream_ioctl(struct file *file, > + unsigned int cmd, > + unsigned long arg) > +{ > + switch (cmd) { > + case DRM_XE_OBSERVATION_IOCTL_ENABLE: > + return 0; > + case DRM_XE_OBSERVATION_IOCTL_DISABLE: > + return 0; > + } > + > + return -EINVAL; > +} > + > +/** > + * xe_eu_stall_stream_close - handles userspace close() of a EU stall data > + * stream file. > + * @inode: anonymous inode associated with file > + * @file: An xe EU stall data stream file > + * > + * Cleans up any resources associated with an open EU stall data stream file. > + */ > +static int xe_eu_stall_stream_close(struct inode *inode, struct file *file) > +{ > + return 0; > +} > + > +static const struct file_operations fops_eu_stall = { > + .owner = THIS_MODULE, > + .llseek = noop_llseek, > + .release = xe_eu_stall_stream_close, > + .poll = xe_eu_stall_stream_poll, > + .read = xe_eu_stall_stream_read, > + .unlocked_ioctl = xe_eu_stall_stream_ioctl, > + .compat_ioctl = xe_eu_stall_stream_ioctl, > +}; > + > +static inline bool has_eu_stall_sampling_support(struct xe_device *xe) > +{ > + return false; > +} > + > +int xe_eu_stall_stream_open(struct drm_device *dev, > + u64 data, > + struct drm_file *file) > +{ > + struct xe_device *xe = to_xe_device(dev); > + struct eu_stall_open_properties props; > + int ret, stream_fd; > + > + memset(&props, 0, sizeof(struct eu_stall_open_properties)); > + > + ret = xe_eu_stall_user_extensions(xe, data, &props); > + if (ret) > + return ret; > + > + if (!props.gt) { > + drm_dbg(&xe->drm, "GT ID not provided for EU stall sampling\n"); > + return -EINVAL; > + } > + > + if (xe_observation_paranoid && !perfmon_capable()) { > + xe_gt_dbg(props.gt, "Insufficient privileges for EU stall monitoring\n"); > + return -EACCES; > + } > + > + if (!has_eu_stall_sampling_support(xe)) { > + xe_gt_dbg(props.gt, "EU stall monitoring is not supported on this platform\n"); > + return -EPERM; > + } > + stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall, > + NULL, 0); > + if (stream_fd < 0) > + xe_gt_dbg(props.gt, "EU stall inode get fd failed : %d\n", stream_fd); > + > + return stream_fd; > +} > diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h > new file mode 100644 > index 000000000000..70fc89480df2 > --- /dev/null > +++ b/drivers/gpu/drm/xe/xe_eu_stall.h > @@ -0,0 +1,12 @@ > +/* SPDX-License-Identifier: MIT */ > +/* > + * Copyright © 2024 Intel Corporation > + */ > + > +#ifndef __XE_EU_STALL_H__ > +#define __XE_EU_STALL_H__ > + > +int xe_eu_stall_stream_open(struct drm_device *dev, > + u64 data, > + struct drm_file *file); > +#endif > diff --git a/drivers/gpu/drm/xe/xe_observation.c b/drivers/gpu/drm/xe/xe_observation.c > index 8ec1b84cbb9e..cca661de60ac 100644 > --- a/drivers/gpu/drm/xe/xe_observation.c > +++ b/drivers/gpu/drm/xe/xe_observation.c > @@ -9,6 +9,7 @@ > #include <uapi/drm/xe_drm.h> > > #include "xe_oa.h" > +#include "xe_eu_stall.h" > #include "xe_observation.h" > > u32 xe_observation_paranoid = true; > @@ -29,6 +30,17 @@ static int xe_oa_ioctl(struct drm_device *dev, struct drm_xe_observation_param * > } > } > > +static int xe_eu_stall_ioctl(struct drm_device *dev, struct drm_xe_observation_param *arg, > + struct drm_file *file) > +{ > + switch (arg->observation_op) { > + case DRM_XE_OBSERVATION_OP_STREAM_OPEN: > + return xe_eu_stall_stream_open(dev, arg->param, file); > + default: > + return -EINVAL; > + } > +} > + > /** > * xe_observation_ioctl - The top level observation layer ioctl > * @dev: @drm_device > @@ -51,6 +63,8 @@ int xe_observation_ioctl(struct drm_device *dev, void *data, struct drm_file *fi > switch (arg->observation_type) { > case DRM_XE_OBSERVATION_TYPE_OA: > return xe_oa_ioctl(dev, arg, file); > + case DRM_XE_OBSERVATION_TYPE_EU_STALL: > + return xe_eu_stall_ioctl(dev, arg, file); > default: > return -EINVAL; > } > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h > index c4182e95a619..50ad6b2e1450 100644 > --- a/include/uapi/drm/xe_drm.h > +++ b/include/uapi/drm/xe_drm.h > @@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence { > enum drm_xe_observation_type { > /** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */ > DRM_XE_OBSERVATION_TYPE_OA, > + /** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */ > + DRM_XE_OBSERVATION_TYPE_EU_STALL, > }; > > /** > @@ -1696,6 +1698,46 @@ struct drm_xe_oa_stream_info { > __u64 reserved[3]; > }; > > +/** > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. > + * > + * These properties are passed to the driver 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. > + */ > +enum drm_xe_eu_stall_property_id { > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 > + /** > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate > + * in multiples of 251 cycles. Valid values are 1 to 7. > + * If the value is 1, sampling interval is 251 cycles. > + * If the value is 7, sampling interval is 7 x 251 cycles. > + */ > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, > + > + /** > + * @DRM_XE_EU_STALL_PROP_POLL_PERIOD: EU stall data > + * poll period in nanoseconds at which the driver polls > + * for EU stall data in the buffer. Should be at least 100000 ns. > + */ > + DRM_XE_EU_STALL_PROP_POLL_PERIOD, > + > + /** > + * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of > + * EU stall data rows to be present in the kernel buffer for > + * poll() to set POLLIN (data present). > + */ > + DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT, > + > + /** > + * @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, > +}; > + > #if defined(__cplusplus) > } > #endif > -- > 2.45.1 > -- Matt Roper Graphics Software Engineer Linux GPU Platform Enablement Intel Corporation ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-10-14 6:00 ` [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling Harish Chegondi 2024-10-14 22:21 ` Dixit, Ashutosh 2024-10-18 22:03 ` Matt Roper @ 2024-11-14 16:23 ` Umesh Nerlige Ramappa 2024-11-19 23:59 ` Harish Chegondi 2 siblings, 1 reply; 30+ messages in thread From: Umesh Nerlige Ramappa @ 2024-11-14 16:23 UTC (permalink / raw) To: Harish Chegondi Cc: intel-xe, ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Sun, Oct 13, 2024 at 11:00:33PM -0700, Harish Chegondi wrote: >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 interface into the driver >from the user space to do initial setup and obtain a file descriptor for >the EU stall counter 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(). > >Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> >--- > drivers/gpu/drm/xe/Makefile | 1 + > drivers/gpu/drm/xe/xe_eu_stall.c | 275 ++++++++++++++++++++++++++++ > drivers/gpu/drm/xe/xe_eu_stall.h | 12 ++ > drivers/gpu/drm/xe/xe_observation.c | 14 ++ > include/uapi/drm/xe_drm.h | 42 +++++ > 5 files changed, 344 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 cb6c625bdef0..bf21feae6950 100644 >--- a/drivers/gpu/drm/xe/Makefile >+++ b/drivers/gpu/drm/xe/Makefile >@@ -33,6 +33,7 @@ xe-y += xe_bb.o \ > xe_device_sysfs.o \ > xe_dma_buf.o \ > xe_drm_client.o \ >+ xe_eu_stall.o \ > xe_exec.o \ > xe_execlist.o \ > xe_exec_queue.o \ >diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c >new file mode 100644 >index 000000000000..5e4c90f9614d >--- /dev/null >+++ b/drivers/gpu/drm/xe/xe_eu_stall.c >@@ -0,0 +1,275 @@ >+// SPDX-License-Identifier: MIT >+/* >+ * Copyright © 2024 Intel Corporation >+ */ >+ >+#include <linux/anon_inodes.h> >+#include <linux/types.h> >+#include <linux/poll.h> >+#include <linux/fs.h> >+ >+#include <uapi/drm/xe_drm.h> >+ >+#include "xe_macros.h" >+#include "xe_device.h" >+#include "xe_eu_stall.h" >+#include "xe_gt_printk.h" >+#include "xe_gt_topology.h" >+#include "xe_observation.h" >+ >+/** >+ * struct eu_stall_open_properties >+ * >+ * @eu_stall_sampling_rate: Hardware EU stall sampling rate. >+ * @event_report_count: Minimum no of EU stall data rows for poll to set POLLIN. >+ * @poll_period: The period in nanoseconds at which the CPU will check for >+ * EU stall data in the buffer. >+ * @gt: GT on which EU stall data will be captured. >+ */ >+struct eu_stall_open_properties { >+ u8 eu_stall_sampling_rate; >+ u32 event_report_count; >+ u64 poll_period; >+ struct xe_gt *gt; >+}; >+ >+/** >+ * num_data_rows - Return the number of EU stall data rows of 64B each >+ * for a given data size. >+ * >+ * @data_size: EU stall data size >+ */ >+static inline u32 >+num_data_rows(u32 data_size) >+{ >+ return (data_size >> 6); >+} >+ >+static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value, >+ struct eu_stall_open_properties *props) >+{ >+ if (value == 0 || value > 7) { >+ drm_dbg(&xe->drm, "Invalid EU stall sampling rate %llu\n", value); >+ return -EINVAL; >+ } >+ props->eu_stall_sampling_rate = value; >+ return 0; >+} >+ >+static int set_prop_eu_stall_poll_period(struct xe_device *xe, u64 value, >+ struct eu_stall_open_properties *props) >+{ >+ if (value < 100000 /* 100us */) { >+ drm_dbg(&xe->drm, "EU stall data poll period %lluns less than 100us\n", value); >+ return -EINVAL; >+ } >+ props->poll_period = value; >+ return 0; >+} >+ >+static int set_prop_eu_stall_event_report_count(struct xe_device *xe, u64 value, >+ struct eu_stall_open_properties *props) >+{ >+ if (value == 0) { >+ drm_dbg(&xe->drm, "Invalid EU stall poll event report count %llu\n", value); >+ return -EINVAL; >+ } >+ props->event_report_count = (u32)value; >+ return 0; >+} >+ >+static int set_prop_eu_stall_gt_id(struct xe_device *xe, u64 value, >+ struct eu_stall_open_properties *props) >+{ >+ props->gt = xe_device_get_gt(xe, (u8)value); >+ if (!props->gt) { >+ drm_dbg(&xe->drm, "Invalid GT ID %llu for EU stall sampling\n", value); >+ return -EINVAL; >+ } >+ 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_POLL_PERIOD] = set_prop_eu_stall_poll_period, >+ [DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT] = set_prop_eu_stall_event_report_count, >+ [DRM_XE_EU_STALL_PROP_GT_ID] = set_prop_eu_stall_gt_id, >+}; >+ >+static int xe_eu_stall_user_ext_set_property(struct xe_device *xe, u64 extension, >+ struct eu_stall_open_properties *props) >+{ >+ u64 __user *address = u64_to_user_ptr(extension); >+ struct drm_xe_ext_set_property ext; >+ int err; >+ u32 idx; >+ >+ err = __copy_from_user(&ext, address, sizeof(ext)); >+ if (XE_IOCTL_DBG(xe, err)) >+ return -EFAULT; >+ >+ if (XE_IOCTL_DBG(xe, ext.property >= ARRAY_SIZE(xe_set_eu_stall_property_funcs)) || >+ XE_IOCTL_DBG(xe, ext.pad)) >+ return -EINVAL; >+ >+ idx = array_index_nospec(ext.property, ARRAY_SIZE(xe_set_eu_stall_property_funcs)); >+ return xe_set_eu_stall_property_funcs[idx](xe, ext.value, props); >+} >+ >+typedef int (*xe_eu_stall_user_extension_fn)(struct xe_device *xe, u64 extension, >+ struct eu_stall_open_properties *props); >+static const xe_eu_stall_user_extension_fn xe_eu_stall_user_extension_funcs[] = { >+ [DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY] = xe_eu_stall_user_ext_set_property, >+}; >+ >+static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension, >+ struct eu_stall_open_properties *props) >+{ >+ u64 __user *address = u64_to_user_ptr(extension); >+ struct drm_xe_user_extension ext; >+ int err; >+ u32 idx; >+ >+ err = __copy_from_user(&ext, address, sizeof(ext)); >+ if (XE_IOCTL_DBG(xe, err)) >+ return -EFAULT; >+ >+ if (XE_IOCTL_DBG(xe, ext.pad) || >+ XE_IOCTL_DBG(xe, ext.name >= ARRAY_SIZE(xe_eu_stall_user_extension_funcs))) >+ return -EINVAL; >+ >+ idx = array_index_nospec(ext.name, ARRAY_SIZE(xe_eu_stall_user_extension_funcs)); >+ err = xe_eu_stall_user_extension_funcs[idx](xe, extension, props); >+ if (XE_IOCTL_DBG(xe, err)) >+ return err; >+ >+ if (ext.next_extension) >+ return xe_eu_stall_user_extensions(xe, ext.next_extension, props); >+ >+ return 0; >+} >+ >+/** >+ * xe_eu_stall_stream_read - handles userspace read() of a EU stall data stream fd. >+ * >+ * @file: An xe EU stall data stream file >+ * @buf: destination buffer given by userspace >+ * @count: the number of bytes userspace wants to read >+ * @ppos: (inout) file seek position (unused) >+ * >+ * Returns: The number of bytes copied or a negative error code on failure. >+ */ >+static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf, >+ size_t count, loff_t *ppos) >+{ >+ ssize_t ret = 0; >+ >+ return ret; >+} >+ >+/** >+ * xe_eu_stall_stream_poll - handles userspace poll() of a EU stall data stream fd. >+ * >+ * @file: An xe EU stall data stream file >+ * @wait: Poll table >+ * >+ * Returns: Bit mask of returned events. >+ */ >+static __poll_t >+xe_eu_stall_stream_poll(struct file *file, poll_table *wait) >+{ >+ __poll_t ret = 0; >+ >+ return ret; >+} >+ >+/** >+ * xe_eu_stall_stream_ioctl - support ioctl() usage with xe EU stall data >+ * stream fd >+ * @file: An xe EU stall data stream file >+ * @cmd: the ioctl request >+ * @arg: the ioctl data >+ * >+ * Returns: zero on success or a negative error code. Returns -EINVAL for >+ * an unknown ioctl request. >+ */ >+static long xe_eu_stall_stream_ioctl(struct file *file, >+ unsigned int cmd, >+ unsigned long arg) >+{ >+ switch (cmd) { >+ case DRM_XE_OBSERVATION_IOCTL_ENABLE: >+ return 0; >+ case DRM_XE_OBSERVATION_IOCTL_DISABLE: >+ return 0; >+ } >+ >+ return -EINVAL; >+} >+ >+/** >+ * xe_eu_stall_stream_close - handles userspace close() of a EU stall data >+ * stream file. >+ * @inode: anonymous inode associated with file >+ * @file: An xe EU stall data stream file >+ * >+ * Cleans up any resources associated with an open EU stall data stream file. >+ */ >+static int xe_eu_stall_stream_close(struct inode *inode, struct file *file) >+{ >+ return 0; >+} >+ >+static const struct file_operations fops_eu_stall = { >+ .owner = THIS_MODULE, >+ .llseek = noop_llseek, >+ .release = xe_eu_stall_stream_close, >+ .poll = xe_eu_stall_stream_poll, >+ .read = xe_eu_stall_stream_read, >+ .unlocked_ioctl = xe_eu_stall_stream_ioctl, >+ .compat_ioctl = xe_eu_stall_stream_ioctl, >+}; >+ >+static inline bool has_eu_stall_sampling_support(struct xe_device *xe) >+{ >+ return false; >+} >+ >+int xe_eu_stall_stream_open(struct drm_device *dev, >+ u64 data, >+ struct drm_file *file) >+{ >+ struct xe_device *xe = to_xe_device(dev); >+ struct eu_stall_open_properties props; >+ int ret, stream_fd; >+ >+ memset(&props, 0, sizeof(struct eu_stall_open_properties)); >+ >+ ret = xe_eu_stall_user_extensions(xe, data, &props); >+ if (ret) >+ return ret; >+ >+ if (!props.gt) { >+ drm_dbg(&xe->drm, "GT ID not provided for EU stall sampling\n"); >+ return -EINVAL; >+ } >+ >+ if (xe_observation_paranoid && !perfmon_capable()) { >+ xe_gt_dbg(props.gt, "Insufficient privileges for EU stall monitoring\n"); >+ return -EACCES; >+ } >+ >+ if (!has_eu_stall_sampling_support(xe)) { >+ xe_gt_dbg(props.gt, "EU stall monitoring is not supported on this platform\n"); >+ return -EPERM; >+ } >+ stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall, >+ NULL, 0); >+ if (stream_fd < 0) >+ xe_gt_dbg(props.gt, "EU stall inode get fd failed : %d\n", stream_fd); >+ >+ return stream_fd; >+} >diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h >new file mode 100644 >index 000000000000..70fc89480df2 >--- /dev/null >+++ b/drivers/gpu/drm/xe/xe_eu_stall.h >@@ -0,0 +1,12 @@ >+/* SPDX-License-Identifier: MIT */ >+/* >+ * Copyright © 2024 Intel Corporation >+ */ >+ >+#ifndef __XE_EU_STALL_H__ >+#define __XE_EU_STALL_H__ >+ >+int xe_eu_stall_stream_open(struct drm_device *dev, >+ u64 data, >+ struct drm_file *file); >+#endif >diff --git a/drivers/gpu/drm/xe/xe_observation.c b/drivers/gpu/drm/xe/xe_observation.c >index 8ec1b84cbb9e..cca661de60ac 100644 >--- a/drivers/gpu/drm/xe/xe_observation.c >+++ b/drivers/gpu/drm/xe/xe_observation.c >@@ -9,6 +9,7 @@ > #include <uapi/drm/xe_drm.h> > > #include "xe_oa.h" >+#include "xe_eu_stall.h" > #include "xe_observation.h" > > u32 xe_observation_paranoid = true; >@@ -29,6 +30,17 @@ static int xe_oa_ioctl(struct drm_device *dev, struct drm_xe_observation_param * > } > } > >+static int xe_eu_stall_ioctl(struct drm_device *dev, struct drm_xe_observation_param *arg, >+ struct drm_file *file) >+{ >+ switch (arg->observation_op) { >+ case DRM_XE_OBSERVATION_OP_STREAM_OPEN: >+ return xe_eu_stall_stream_open(dev, arg->param, file); >+ default: >+ return -EINVAL; >+ } >+} >+ > /** > * xe_observation_ioctl - The top level observation layer ioctl > * @dev: @drm_device >@@ -51,6 +63,8 @@ int xe_observation_ioctl(struct drm_device *dev, void *data, struct drm_file *fi > switch (arg->observation_type) { > case DRM_XE_OBSERVATION_TYPE_OA: > return xe_oa_ioctl(dev, arg, file); >+ case DRM_XE_OBSERVATION_TYPE_EU_STALL: >+ return xe_eu_stall_ioctl(dev, arg, file); > default: > return -EINVAL; > } >diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h >index c4182e95a619..50ad6b2e1450 100644 >--- a/include/uapi/drm/xe_drm.h >+++ b/include/uapi/drm/xe_drm.h >@@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence { > enum drm_xe_observation_type { > /** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */ > DRM_XE_OBSERVATION_TYPE_OA, >+ /** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */ >+ DRM_XE_OBSERVATION_TYPE_EU_STALL, > }; > > /** >@@ -1696,6 +1698,46 @@ struct drm_xe_oa_stream_info { > __u64 reserved[3]; > }; > >+/** >+ * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. >+ * >+ * These properties are passed to the driver 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. >+ */ >+enum drm_xe_eu_stall_property_id { >+#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 >+ /** >+ * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate >+ * in multiples of 251 cycles. Valid values are 1 to 7. >+ * If the value is 1, sampling interval is 251 cycles. >+ * If the value is 7, sampling interval is 7 x 251 cycles. >+ */ >+ DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, What is the rate of 251 cycles? If that can be clearly defined, then at first glance, I would think it's better to define this in terms of frequency. The implementation can decide how to translate that to HW configuration. Regards, Umesh >+ >+ /** >+ * @DRM_XE_EU_STALL_PROP_POLL_PERIOD: EU stall data >+ * poll period in nanoseconds at which the driver polls >+ * for EU stall data in the buffer. Should be at least 100000 ns. >+ */ >+ DRM_XE_EU_STALL_PROP_POLL_PERIOD, >+ >+ /** >+ * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of >+ * EU stall data rows to be present in the kernel buffer for >+ * poll() to set POLLIN (data present). >+ */ >+ DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT, >+ >+ /** >+ * @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, >+}; >+ > #if defined(__cplusplus) > } > #endif >-- >2.45.1 > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-11-14 16:23 ` Umesh Nerlige Ramappa @ 2024-11-19 23:59 ` Harish Chegondi 2024-11-20 19:04 ` Dixit, Ashutosh 0 siblings, 1 reply; 30+ messages in thread From: Harish Chegondi @ 2024-11-19 23:59 UTC (permalink / raw) To: Umesh Nerlige Ramappa Cc: intel-xe, ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Thu, Nov 14, 2024 at 08:23:03AM -0800, Umesh Nerlige Ramappa wrote: > On Sun, Oct 13, 2024 at 11:00:33PM -0700, Harish Chegondi wrote: > > 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 interface into the driver > > from the user space to do initial setup and obtain a file descriptor for > > the EU stall counter 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(). > > > > Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> > > --- > > drivers/gpu/drm/xe/Makefile | 1 + > > drivers/gpu/drm/xe/xe_eu_stall.c | 275 ++++++++++++++++++++++++++++ > > drivers/gpu/drm/xe/xe_eu_stall.h | 12 ++ > > drivers/gpu/drm/xe/xe_observation.c | 14 ++ > > include/uapi/drm/xe_drm.h | 42 +++++ > > 5 files changed, 344 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 cb6c625bdef0..bf21feae6950 100644 > > --- a/drivers/gpu/drm/xe/Makefile > > +++ b/drivers/gpu/drm/xe/Makefile > > @@ -33,6 +33,7 @@ xe-y += xe_bb.o \ > > xe_device_sysfs.o \ > > xe_dma_buf.o \ > > xe_drm_client.o \ > > + xe_eu_stall.o \ > > xe_exec.o \ > > xe_execlist.o \ > > xe_exec_queue.o \ > > diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c > > new file mode 100644 > > index 000000000000..5e4c90f9614d > > --- /dev/null > > +++ b/drivers/gpu/drm/xe/xe_eu_stall.c > > @@ -0,0 +1,275 @@ > > +// SPDX-License-Identifier: MIT > > +/* > > + * Copyright © 2024 Intel Corporation > > + */ > > + > > +#include <linux/anon_inodes.h> > > +#include <linux/types.h> > > +#include <linux/poll.h> > > +#include <linux/fs.h> > > + > > +#include <uapi/drm/xe_drm.h> > > + > > +#include "xe_macros.h" > > +#include "xe_device.h" > > +#include "xe_eu_stall.h" > > +#include "xe_gt_printk.h" > > +#include "xe_gt_topology.h" > > +#include "xe_observation.h" > > + > > +/** > > + * struct eu_stall_open_properties > > + * > > + * @eu_stall_sampling_rate: Hardware EU stall sampling rate. > > + * @event_report_count: Minimum no of EU stall data rows for poll to set POLLIN. > > + * @poll_period: The period in nanoseconds at which the CPU will check for > > + * EU stall data in the buffer. > > + * @gt: GT on which EU stall data will be captured. > > + */ > > +struct eu_stall_open_properties { > > + u8 eu_stall_sampling_rate; > > + u32 event_report_count; > > + u64 poll_period; > > + struct xe_gt *gt; > > +}; > > + > > +/** > > + * num_data_rows - Return the number of EU stall data rows of 64B each > > + * for a given data size. > > + * > > + * @data_size: EU stall data size > > + */ > > +static inline u32 > > +num_data_rows(u32 data_size) > > +{ > > + return (data_size >> 6); > > +} > > + > > +static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value, > > + struct eu_stall_open_properties *props) > > +{ > > + if (value == 0 || value > 7) { > > + drm_dbg(&xe->drm, "Invalid EU stall sampling rate %llu\n", value); > > + return -EINVAL; > > + } > > + props->eu_stall_sampling_rate = value; > > + return 0; > > +} > > + > > +static int set_prop_eu_stall_poll_period(struct xe_device *xe, u64 value, > > + struct eu_stall_open_properties *props) > > +{ > > + if (value < 100000 /* 100us */) { > > + drm_dbg(&xe->drm, "EU stall data poll period %lluns less than 100us\n", value); > > + return -EINVAL; > > + } > > + props->poll_period = value; > > + return 0; > > +} > > + > > +static int set_prop_eu_stall_event_report_count(struct xe_device *xe, u64 value, > > + struct eu_stall_open_properties *props) > > +{ > > + if (value == 0) { > > + drm_dbg(&xe->drm, "Invalid EU stall poll event report count %llu\n", value); > > + return -EINVAL; > > + } > > + props->event_report_count = (u32)value; > > + return 0; > > +} > > + > > +static int set_prop_eu_stall_gt_id(struct xe_device *xe, u64 value, > > + struct eu_stall_open_properties *props) > > +{ > > + props->gt = xe_device_get_gt(xe, (u8)value); > > + if (!props->gt) { > > + drm_dbg(&xe->drm, "Invalid GT ID %llu for EU stall sampling\n", value); > > + return -EINVAL; > > + } > > + 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_POLL_PERIOD] = set_prop_eu_stall_poll_period, > > + [DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT] = set_prop_eu_stall_event_report_count, > > + [DRM_XE_EU_STALL_PROP_GT_ID] = set_prop_eu_stall_gt_id, > > +}; > > + > > +static int xe_eu_stall_user_ext_set_property(struct xe_device *xe, u64 extension, > > + struct eu_stall_open_properties *props) > > +{ > > + u64 __user *address = u64_to_user_ptr(extension); > > + struct drm_xe_ext_set_property ext; > > + int err; > > + u32 idx; > > + > > + err = __copy_from_user(&ext, address, sizeof(ext)); > > + if (XE_IOCTL_DBG(xe, err)) > > + return -EFAULT; > > + > > + if (XE_IOCTL_DBG(xe, ext.property >= ARRAY_SIZE(xe_set_eu_stall_property_funcs)) || > > + XE_IOCTL_DBG(xe, ext.pad)) > > + return -EINVAL; > > + > > + idx = array_index_nospec(ext.property, ARRAY_SIZE(xe_set_eu_stall_property_funcs)); > > + return xe_set_eu_stall_property_funcs[idx](xe, ext.value, props); > > +} > > + > > +typedef int (*xe_eu_stall_user_extension_fn)(struct xe_device *xe, u64 extension, > > + struct eu_stall_open_properties *props); > > +static const xe_eu_stall_user_extension_fn xe_eu_stall_user_extension_funcs[] = { > > + [DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY] = xe_eu_stall_user_ext_set_property, > > +}; > > + > > +static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension, > > + struct eu_stall_open_properties *props) > > +{ > > + u64 __user *address = u64_to_user_ptr(extension); > > + struct drm_xe_user_extension ext; > > + int err; > > + u32 idx; > > + > > + err = __copy_from_user(&ext, address, sizeof(ext)); > > + if (XE_IOCTL_DBG(xe, err)) > > + return -EFAULT; > > + > > + if (XE_IOCTL_DBG(xe, ext.pad) || > > + XE_IOCTL_DBG(xe, ext.name >= ARRAY_SIZE(xe_eu_stall_user_extension_funcs))) > > + return -EINVAL; > > + > > + idx = array_index_nospec(ext.name, ARRAY_SIZE(xe_eu_stall_user_extension_funcs)); > > + err = xe_eu_stall_user_extension_funcs[idx](xe, extension, props); > > + if (XE_IOCTL_DBG(xe, err)) > > + return err; > > + > > + if (ext.next_extension) > > + return xe_eu_stall_user_extensions(xe, ext.next_extension, props); > > + > > + return 0; > > +} > > + > > +/** > > + * xe_eu_stall_stream_read - handles userspace read() of a EU stall data stream fd. > > + * > > + * @file: An xe EU stall data stream file > > + * @buf: destination buffer given by userspace > > + * @count: the number of bytes userspace wants to read > > + * @ppos: (inout) file seek position (unused) > > + * > > + * Returns: The number of bytes copied or a negative error code on failure. > > + */ > > +static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf, > > + size_t count, loff_t *ppos) > > +{ > > + ssize_t ret = 0; > > + > > + return ret; > > +} > > + > > +/** > > + * xe_eu_stall_stream_poll - handles userspace poll() of a EU stall data stream fd. > > + * > > + * @file: An xe EU stall data stream file > > + * @wait: Poll table > > + * > > + * Returns: Bit mask of returned events. > > + */ > > +static __poll_t > > +xe_eu_stall_stream_poll(struct file *file, poll_table *wait) > > +{ > > + __poll_t ret = 0; > > + > > + return ret; > > +} > > + > > +/** > > + * xe_eu_stall_stream_ioctl - support ioctl() usage with xe EU stall data > > + * stream fd > > + * @file: An xe EU stall data stream file > > + * @cmd: the ioctl request > > + * @arg: the ioctl data > > + * > > + * Returns: zero on success or a negative error code. Returns -EINVAL for > > + * an unknown ioctl request. > > + */ > > +static long xe_eu_stall_stream_ioctl(struct file *file, > > + unsigned int cmd, > > + unsigned long arg) > > +{ > > + switch (cmd) { > > + case DRM_XE_OBSERVATION_IOCTL_ENABLE: > > + return 0; > > + case DRM_XE_OBSERVATION_IOCTL_DISABLE: > > + return 0; > > + } > > + > > + return -EINVAL; > > +} > > + > > +/** > > + * xe_eu_stall_stream_close - handles userspace close() of a EU stall data > > + * stream file. > > + * @inode: anonymous inode associated with file > > + * @file: An xe EU stall data stream file > > + * > > + * Cleans up any resources associated with an open EU stall data stream file. > > + */ > > +static int xe_eu_stall_stream_close(struct inode *inode, struct file *file) > > +{ > > + return 0; > > +} > > + > > +static const struct file_operations fops_eu_stall = { > > + .owner = THIS_MODULE, > > + .llseek = noop_llseek, > > + .release = xe_eu_stall_stream_close, > > + .poll = xe_eu_stall_stream_poll, > > + .read = xe_eu_stall_stream_read, > > + .unlocked_ioctl = xe_eu_stall_stream_ioctl, > > + .compat_ioctl = xe_eu_stall_stream_ioctl, > > +}; > > + > > +static inline bool has_eu_stall_sampling_support(struct xe_device *xe) > > +{ > > + return false; > > +} > > + > > +int xe_eu_stall_stream_open(struct drm_device *dev, > > + u64 data, > > + struct drm_file *file) > > +{ > > + struct xe_device *xe = to_xe_device(dev); > > + struct eu_stall_open_properties props; > > + int ret, stream_fd; > > + > > + memset(&props, 0, sizeof(struct eu_stall_open_properties)); > > + > > + ret = xe_eu_stall_user_extensions(xe, data, &props); > > + if (ret) > > + return ret; > > + > > + if (!props.gt) { > > + drm_dbg(&xe->drm, "GT ID not provided for EU stall sampling\n"); > > + return -EINVAL; > > + } > > + > > + if (xe_observation_paranoid && !perfmon_capable()) { > > + xe_gt_dbg(props.gt, "Insufficient privileges for EU stall monitoring\n"); > > + return -EACCES; > > + } > > + > > + if (!has_eu_stall_sampling_support(xe)) { > > + xe_gt_dbg(props.gt, "EU stall monitoring is not supported on this platform\n"); > > + return -EPERM; > > + } > > + stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall, > > + NULL, 0); > > + if (stream_fd < 0) > > + xe_gt_dbg(props.gt, "EU stall inode get fd failed : %d\n", stream_fd); > > + > > + return stream_fd; > > +} > > diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h > > new file mode 100644 > > index 000000000000..70fc89480df2 > > --- /dev/null > > +++ b/drivers/gpu/drm/xe/xe_eu_stall.h > > @@ -0,0 +1,12 @@ > > +/* SPDX-License-Identifier: MIT */ > > +/* > > + * Copyright © 2024 Intel Corporation > > + */ > > + > > +#ifndef __XE_EU_STALL_H__ > > +#define __XE_EU_STALL_H__ > > + > > +int xe_eu_stall_stream_open(struct drm_device *dev, > > + u64 data, > > + struct drm_file *file); > > +#endif > > diff --git a/drivers/gpu/drm/xe/xe_observation.c b/drivers/gpu/drm/xe/xe_observation.c > > index 8ec1b84cbb9e..cca661de60ac 100644 > > --- a/drivers/gpu/drm/xe/xe_observation.c > > +++ b/drivers/gpu/drm/xe/xe_observation.c > > @@ -9,6 +9,7 @@ > > #include <uapi/drm/xe_drm.h> > > > > #include "xe_oa.h" > > +#include "xe_eu_stall.h" > > #include "xe_observation.h" > > > > u32 xe_observation_paranoid = true; > > @@ -29,6 +30,17 @@ static int xe_oa_ioctl(struct drm_device *dev, struct drm_xe_observation_param * > > } > > } > > > > +static int xe_eu_stall_ioctl(struct drm_device *dev, struct drm_xe_observation_param *arg, > > + struct drm_file *file) > > +{ > > + switch (arg->observation_op) { > > + case DRM_XE_OBSERVATION_OP_STREAM_OPEN: > > + return xe_eu_stall_stream_open(dev, arg->param, file); > > + default: > > + return -EINVAL; > > + } > > +} > > + > > /** > > * xe_observation_ioctl - The top level observation layer ioctl > > * @dev: @drm_device > > @@ -51,6 +63,8 @@ int xe_observation_ioctl(struct drm_device *dev, void *data, struct drm_file *fi > > switch (arg->observation_type) { > > case DRM_XE_OBSERVATION_TYPE_OA: > > return xe_oa_ioctl(dev, arg, file); > > + case DRM_XE_OBSERVATION_TYPE_EU_STALL: > > + return xe_eu_stall_ioctl(dev, arg, file); > > default: > > return -EINVAL; > > } > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h > > index c4182e95a619..50ad6b2e1450 100644 > > --- a/include/uapi/drm/xe_drm.h > > +++ b/include/uapi/drm/xe_drm.h > > @@ -1397,6 +1397,8 @@ struct drm_xe_wait_user_fence { > > enum drm_xe_observation_type { > > /** @DRM_XE_OBSERVATION_TYPE_OA: OA observation stream type */ > > DRM_XE_OBSERVATION_TYPE_OA, > > + /** @DRM_XE_OBSERVATION_TYPE_EU_STALL: EU stall sampling observation stream type */ > > + DRM_XE_OBSERVATION_TYPE_EU_STALL, > > }; > > > > /** > > @@ -1696,6 +1698,46 @@ struct drm_xe_oa_stream_info { > > __u64 reserved[3]; > > }; > > > > +/** > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. > > + * > > + * These properties are passed to the driver 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. > > + */ > > +enum drm_xe_eu_stall_property_id { > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 > > + /** > > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate > > + * in multiples of 251 cycles. Valid values are 1 to 7. > > + * If the value is 1, sampling interval is 251 cycles. > > + * If the value is 7, sampling interval is 7 x 251 cycles. > > + */ > > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, > > What is the rate of 251 cycles? If that can be clearly defined, then at > first glance, I would think it's better to define this in terms of > frequency. The implementation can decide how to translate that to HW > configuration. > > Regards, > Umesh Since the duration of a cycle depends on the GPU clock, it can very from GPU to GPU. So, if there is any translation in the driver, it will have to be different for each GPU. I think keeping this input as a multiplier of cycles may be more future proof for the uAPI. I am trying to get more information and feedback from the user space regarding your suggestion. If it is feasible, I will implement in v6. Thank You Harish. > > > + > > + /** > > + * @DRM_XE_EU_STALL_PROP_POLL_PERIOD: EU stall data > > + * poll period in nanoseconds at which the driver polls > > + * for EU stall data in the buffer. Should be at least 100000 ns. > > + */ > > + DRM_XE_EU_STALL_PROP_POLL_PERIOD, > > + > > + /** > > + * @DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT: Minimum number of > > + * EU stall data rows to be present in the kernel buffer for > > + * poll() to set POLLIN (data present). > > + */ > > + DRM_XE_EU_STALL_PROP_EVENT_REPORT_COUNT, > > + > > + /** > > + * @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, > > +}; > > + > > #if defined(__cplusplus) > > } > > #endif > > -- > > 2.45.1 > > ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-11-19 23:59 ` Harish Chegondi @ 2024-11-20 19:04 ` Dixit, Ashutosh 2024-11-21 1:05 ` Umesh Nerlige Ramappa 0 siblings, 1 reply; 30+ messages in thread From: Dixit, Ashutosh @ 2024-11-20 19:04 UTC (permalink / raw) To: Harish Chegondi Cc: Umesh Nerlige Ramappa, intel-xe, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Tue, 19 Nov 2024 15:59:12 -0800, Harish Chegondi wrote: > > > > +/** > > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. > > > + * > > > + * These properties are passed to the driver 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. > > > + */ > > > +enum drm_xe_eu_stall_property_id { > > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 > > > + /** > > > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate > > > + * in multiples of 251 cycles. Valid values are 1 to 7. > > > + * If the value is 1, sampling interval is 251 cycles. > > > + * If the value is 7, sampling interval is 7 x 251 cycles. > > > + */ > > > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, > > > > What is the rate of 251 cycles? If that can be clearly defined, then at > > first glance, I would think it's better to define this in terms of > > frequency. The implementation can decide how to translate that to HW > > configuration. > > > Since the duration of a cycle depends on the GPU clock, it can very from > GPU to GPU. So, if there is any translation in the driver, it will have > to be different for each GPU. I think keeping this input as a multiplier > of cycles may be more future proof for the uAPI. I am trying to get more > information and feedback from the user space regarding your suggestion. > If it is feasible, I will implement in v6. Umesh has a point but I sort of agree with Harish because this value is directly fed into a register. But we do need some changes: 1. This 251 value showing up here doesn't make any sense and needs to go. 2. According to Bspec 64036, HW supports "127 * N" sampling rates (in terms of cycles), so we should support those too. 3. Even higher sampling rates (say 10x) are being proposed for the future. So these should also be supported. So my proposal is simple, but let's see if it can be made to work. The uapi will directly input the sampling rate in number of cycles (so the value coming in is what the GPU freq is divided by). So e.g. if "3 * 251" is required "3 * 251" will come in through the uapi. If UMD wants "7 * 127", they will send in "7 * 127". The driver will internally map this value into the "closest" sampling rate supported by HW. I am assuming that UMD's already know what sampling rates are supported by a particular HW platform so they can send in the exact value they need. Otherwise the driver can always map the value sent by userspace. Say UMD sends a value 10, this will be mapped into "1 * 127" which is the closest sampling rate supported to 10. So this way all sampling rates can be supported. UMD just says I want a sampling rate of "GPU_freq divided by 10" and they automatically get whatever is the closest available. They probably do need to have an idea of what rates are supported on a particular HW platform, I am assuming they have this information from Bspec, so they can send in exact values if they know and driver will be able to set the exact value UMD has specified. Ashutosh ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-11-20 19:04 ` Dixit, Ashutosh @ 2024-11-21 1:05 ` Umesh Nerlige Ramappa 2024-11-21 3:18 ` Dixit, Ashutosh 0 siblings, 1 reply; 30+ messages in thread From: Umesh Nerlige Ramappa @ 2024-11-21 1:05 UTC (permalink / raw) To: Dixit, Ashutosh Cc: Harish Chegondi, intel-xe, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Wed, Nov 20, 2024 at 11:04:28AM -0800, Dixit, Ashutosh wrote: >On Tue, 19 Nov 2024 15:59:12 -0800, Harish Chegondi wrote: >> >> > > +/** >> > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. >> > > + * >> > > + * These properties are passed to the driver 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. >> > > + */ >> > > +enum drm_xe_eu_stall_property_id { >> > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 >> > > + /** >> > > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate >> > > + * in multiples of 251 cycles. Valid values are 1 to 7. >> > > + * If the value is 1, sampling interval is 251 cycles. >> > > + * If the value is 7, sampling interval is 7 x 251 cycles. >> > > + */ >> > > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, >> > >> > What is the rate of 251 cycles? If that can be clearly defined, then at >> > first glance, I would think it's better to define this in terms of >> > frequency. The implementation can decide how to translate that to HW >> > configuration. >> > >> Since the duration of a cycle depends on the GPU clock, it can very from >> GPU to GPU. So, if there is any translation in the driver, it will have >> to be different for each GPU. I think keeping this input as a multiplier >> of cycles may be more future proof for the uAPI. I am trying to get more >> information and feedback from the user space regarding your suggestion. >> If it is feasible, I will implement in v6. > >Umesh has a point but I sort of agree with Harish because this value is >directly fed into a register. But we do need some changes: > >1. This 251 value showing up here doesn't make any sense and needs to go. >2. According to Bspec 64036, HW supports "127 * N" sampling rates > (in terms of cycles), so we should support those too. >3. Even higher sampling rates (say 10x) are being proposed for the > future. So these should also be supported. > >So my proposal is simple, but let's see if it can be made to work. The uapi >will directly input the sampling rate in number of cycles (so the value >coming in is what the GPU freq is divided by). So e.g. if "3 * 251" is >required "3 * 251" will come in through the uapi. If UMD wants "7 * 127", >they will send in "7 * 127". The driver will internally map this value into >the "closest" sampling rate supported by HW. > >I am assuming that UMD's already know what sampling rates are supported by >a particular HW platform so they can send in the exact value they >need. Otherwise the driver can always map the value sent by userspace. Say >UMD sends a value 10, this will be mapped into "1 * 127" which is the >closest sampling rate supported to 10. > >So this way all sampling rates can be supported. UMD just says I want a >sampling rate of "GPU_freq divided by 10" and they automatically get >whatever is the closest available. They probably do need to have an idea of >what rates are supported on a particular HW platform, I am assuming they >have this information from Bspec, so they can send in exact values if they >know and driver will be able to set the exact value UMD has specified. I am okay with whatever makes sense from a UMD perspective and whatever can be extended easily in future. Just the cycles as you are suggesting should be good as well. Just curious, since the gpu frequency is may vary, any idea how the UMDs map this data to their timeline? Thanks, Umesh > >Ashutosh ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-11-21 1:05 ` Umesh Nerlige Ramappa @ 2024-11-21 3:18 ` Dixit, Ashutosh 2024-11-22 18:18 ` Dixit, Ashutosh 0 siblings, 1 reply; 30+ messages in thread From: Dixit, Ashutosh @ 2024-11-21 3:18 UTC (permalink / raw) To: Umesh Nerlige Ramappa Cc: Harish Chegondi, intel-xe, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Wed, 20 Nov 2024 17:05:27 -0800, Umesh Nerlige Ramappa wrote: > > On Wed, Nov 20, 2024 at 11:04:28AM -0800, Dixit, Ashutosh wrote: > > On Tue, 19 Nov 2024 15:59:12 -0800, Harish Chegondi wrote: > >> > >> > > +/** > >> > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. > >> > > + * > >> > > + * These properties are passed to the driver 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. > >> > > + */ > >> > > +enum drm_xe_eu_stall_property_id { > >> > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 > >> > > + /** > >> > > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate > >> > > + * in multiples of 251 cycles. Valid values are 1 to 7. > >> > > + * If the value is 1, sampling interval is 251 cycles. > >> > > + * If the value is 7, sampling interval is 7 x 251 cycles. > >> > > + */ > >> > > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, > >> > > >> > What is the rate of 251 cycles? If that can be clearly defined, then at > >> > first glance, I would think it's better to define this in terms of > >> > frequency. The implementation can decide how to translate that to HW > >> > configuration. > >> > > >> Since the duration of a cycle depends on the GPU clock, it can very from > >> GPU to GPU. So, if there is any translation in the driver, it will have > >> to be different for each GPU. I think keeping this input as a multiplier > >> of cycles may be more future proof for the uAPI. I am trying to get more > >> information and feedback from the user space regarding your suggestion. > >> If it is feasible, I will implement in v6. > > > > Umesh has a point but I sort of agree with Harish because this value is > > directly fed into a register. But we do need some changes: > > > > 1. This 251 value showing up here doesn't make any sense and needs to go. > > 2. According to Bspec 64036, HW supports "127 * N" sampling rates > > (in terms of cycles), so we should support those too. > > 3. Even higher sampling rates (say 10x) are being proposed for the > > future. So these should also be supported. > > > > So my proposal is simple, but let's see if it can be made to work. The uapi > > will directly input the sampling rate in number of cycles (so the value > > coming in is what the GPU freq is divided by). So e.g. if "3 * 251" is > > required "3 * 251" will come in through the uapi. If UMD wants "7 * 127", > > they will send in "7 * 127". The driver will internally map this value into > > the "closest" sampling rate supported by HW. > > > > I am assuming that UMD's already know what sampling rates are supported by > > a particular HW platform so they can send in the exact value they > > need. Otherwise the driver can always map the value sent by userspace. Say > > UMD sends a value 10, this will be mapped into "1 * 127" which is the > > closest sampling rate supported to 10. > > > > So this way all sampling rates can be supported. UMD just says I want a > > sampling rate of "GPU_freq divided by 10" and they automatically get > > whatever is the closest available. They probably do need to have an idea of > > what rates are supported on a particular HW platform, I am assuming they > > have this information from Bspec, so they can send in exact values if they > > know and driver will be able to set the exact value UMD has specified. > > I am okay with whatever makes sense from a UMD perspective and whatever can > be extended easily in future. Just the cycles as you are suggesting should > be good as well. My suggestion is just the inverse of sampling freq, in a sense, i.e. eu stall sampling freq = gpu freq / N So we get N through the uapi. > Just curious, since the gpu frequency is may vary, any idea how the UMDs > map this data to their timeline? Note that we are dealing with the sampling freq here, the freq at which eu stall data is sampled, say 1 / n * 251 or 1 / n * 127 of gpu freq. But yes sampling freq can vary with gpu freq. But otherwise UMD's don't deal with time very much, only the IP (instruction pointer). So e.g. eu stall data contains: basically IP x was stalled for y cycles in this snapshot/sample. Since IP is unique, it can be mapped to a line of code for an eu kernel e.g. So I guess there is also an approximate notion of time, so when this eu kernel was sampled (or ran) the first time, IP x was stalled for y cycles, when it was sampled the next time, IP w was stalled for z cycles. So you would have a kind of moving window for the stall times for a particular IP. So it's based on IP, rather than time directly. At least that's how I think it works :/ ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-11-21 3:18 ` Dixit, Ashutosh @ 2024-11-22 18:18 ` Dixit, Ashutosh 2024-11-27 18:47 ` Harish Chegondi 0 siblings, 1 reply; 30+ messages in thread From: Dixit, Ashutosh @ 2024-11-22 18:18 UTC (permalink / raw) To: Umesh Nerlige Ramappa Cc: Harish Chegondi, intel-xe, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar, Umesh Nerlige Ramappa On Wed, 20 Nov 2024 19:18:24 -0800, Dixit, Ashutosh wrote: > > On Wed, 20 Nov 2024 17:05:27 -0800, Umesh Nerlige Ramappa wrote: > > > > On Wed, Nov 20, 2024 at 11:04:28AM -0800, Dixit, Ashutosh wrote: > > > On Tue, 19 Nov 2024 15:59:12 -0800, Harish Chegondi wrote: > > >> > > >> > > +/** > > >> > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. > > >> > > + * > > >> > > + * These properties are passed to the driver 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. > > >> > > + */ > > >> > > +enum drm_xe_eu_stall_property_id { > > >> > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 > > >> > > + /** > > >> > > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate > > >> > > + * in multiples of 251 cycles. Valid values are 1 to 7. > > >> > > + * If the value is 1, sampling interval is 251 cycles. > > >> > > + * If the value is 7, sampling interval is 7 x 251 cycles. > > >> > > + */ > > >> > > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, > > >> > > > >> > What is the rate of 251 cycles? If that can be clearly defined, then at > > >> > first glance, I would think it's better to define this in terms of > > >> > frequency. The implementation can decide how to translate that to HW > > >> > configuration. > > >> > > > >> Since the duration of a cycle depends on the GPU clock, it can very from > > >> GPU to GPU. So, if there is any translation in the driver, it will have > > >> to be different for each GPU. I think keeping this input as a multiplier > > >> of cycles may be more future proof for the uAPI. I am trying to get more > > >> information and feedback from the user space regarding your suggestion. > > >> If it is feasible, I will implement in v6. > > > > > > Umesh has a point but I sort of agree with Harish because this value is > > > directly fed into a register. But we do need some changes: > > > > > > 1. This 251 value showing up here doesn't make any sense and needs to go. > > > 2. According to Bspec 64036, HW supports "127 * N" sampling rates > > > (in terms of cycles), so we should support those too. > > > 3. Even higher sampling rates (say 10x) are being proposed for the > > > future. So these should also be supported. > > > > > > So my proposal is simple, but let's see if it can be made to work. The uapi > > > will directly input the sampling rate in number of cycles (so the value > > > coming in is what the GPU freq is divided by). So e.g. if "3 * 251" is > > > required "3 * 251" will come in through the uapi. If UMD wants "7 * 127", > > > they will send in "7 * 127". The driver will internally map this value into > > > the "closest" sampling rate supported by HW. > > > > > > I am assuming that UMD's already know what sampling rates are supported by > > > a particular HW platform so they can send in the exact value they > > > need. Otherwise the driver can always map the value sent by userspace. Say > > > UMD sends a value 10, this will be mapped into "1 * 127" which is the > > > closest sampling rate supported to 10. > > > > > > So this way all sampling rates can be supported. UMD just says I want a > > > sampling rate of "GPU_freq divided by 10" and they automatically get > > > whatever is the closest available. They probably do need to have an idea of > > > what rates are supported on a particular HW platform, I am assuming they > > > have this information from Bspec, so they can send in exact values if they > > > know and driver will be able to set the exact value UMD has specified. This is an important point here. Can we assume UMD's already know the sampling rates available or not? KMD can handle whatever value UMD sends in but UMD still has to have an idea of what sampling rates are supported by KMD, to be able to set an acceptable sampling rate. Otherwise, KMD will need to expose what sampling rates are supported to UMD. There seem to be a couple of ways of doing this: 1. KMD can expose the available sampling rates in drm_xe_query_eu_stall Or, 2. The UMD can set their sampling rate and the actual sampling rate set by KMD for that stream can exposed through DRM_XE_OBSERVATION_IOCTL_INFO ioctl. If UMD doesn't like the sampling rate set by KMD they can close the stream and reopen a new stream. Basically they would need to iterate to arrive at an acceptable sampling rate. Or, 3. KMD does nothing, assumes UMD's know the sampling rate "out of band" via things such as Bspec. I'm thinking maybe should expose the min and max sampling rates through 1. and UMD's can select something in between and KMD can map that to one of the sampling rates available in HW and maybe also expose the final sampling rate through 2. So e.g. for now min and max exposed would be 1*251 through 7*251 (ignoring the 127 stuff for now). Min/max might be more future proof since HW changes to a different scheme, rather than have 7 or 14 fixed sampling rates they have now. > > > > I am okay with whatever makes sense from a UMD perspective and whatever can > > be extended easily in future. Just the cycles as you are suggesting should > > be good as well. > > My suggestion is just the inverse of sampling freq, in a sense, i.e. > > eu stall sampling freq = gpu freq / N > > So we get N through the uapi. > > > Just curious, since the gpu frequency is may vary, any idea how the UMDs > > map this data to their timeline? > > Note that we are dealing with the sampling freq here, the freq at which eu > stall data is sampled, say 1 / n * 251 or 1 / n * 127 of gpu freq. But yes > sampling freq can vary with gpu freq. > > But otherwise UMD's don't deal with time very much, only the IP > (instruction pointer). So e.g. eu stall data contains: basically IP x was > stalled for y cycles in this snapshot/sample. Since IP is unique, it can be > mapped to a line of code for an eu kernel e.g. > > So I guess there is also an approximate notion of time, so when this eu > kernel was sampled (or ran) the first time, IP x was stalled for y cycles, > when it was sampled the next time, IP w was stalled for z cycles. So you > would have a kind of moving window for the stall times for a particular > IP. So it's based on IP, rather than time directly. > > At least that's how I think it works :/ ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-11-22 18:18 ` Dixit, Ashutosh @ 2024-11-27 18:47 ` Harish Chegondi 2024-11-29 4:31 ` Kumar, Shubham 2024-11-29 4:35 ` Kumar, Shubham 0 siblings, 2 replies; 30+ messages in thread From: Harish Chegondi @ 2024-11-27 18:47 UTC (permalink / raw) To: Dixit, Ashutosh Cc: Umesh Nerlige Ramappa, intel-xe, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Fri, Nov 22, 2024 at 10:18:14AM -0800, Dixit, Ashutosh wrote: > On Wed, 20 Nov 2024 19:18:24 -0800, Dixit, Ashutosh wrote: > > > > On Wed, 20 Nov 2024 17:05:27 -0800, Umesh Nerlige Ramappa wrote: > > > > > > On Wed, Nov 20, 2024 at 11:04:28AM -0800, Dixit, Ashutosh wrote: > > > > On Tue, 19 Nov 2024 15:59:12 -0800, Harish Chegondi wrote: > > > >> > > > >> > > +/** > > > >> > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. > > > >> > > + * > > > >> > > + * These properties are passed to the driver 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. > > > >> > > + */ > > > >> > > +enum drm_xe_eu_stall_property_id { > > > >> > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 > > > >> > > + /** > > > >> > > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate > > > >> > > + * in multiples of 251 cycles. Valid values are 1 to 7. > > > >> > > + * If the value is 1, sampling interval is 251 cycles. > > > >> > > + * If the value is 7, sampling interval is 7 x 251 cycles. > > > >> > > + */ > > > >> > > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, > > > >> > > > > >> > What is the rate of 251 cycles? If that can be clearly defined, then at > > > >> > first glance, I would think it's better to define this in terms of > > > >> > frequency. The implementation can decide how to translate that to HW > > > >> > configuration. > > > >> > > > > >> Since the duration of a cycle depends on the GPU clock, it can very from > > > >> GPU to GPU. So, if there is any translation in the driver, it will have > > > >> to be different for each GPU. I think keeping this input as a multiplier > > > >> of cycles may be more future proof for the uAPI. I am trying to get more > > > >> information and feedback from the user space regarding your suggestion. > > > >> If it is feasible, I will implement in v6. > > > > > > > > Umesh has a point but I sort of agree with Harish because this value is > > > > directly fed into a register. But we do need some changes: > > > > > > > > 1. This 251 value showing up here doesn't make any sense and needs to go. > > > > 2. According to Bspec 64036, HW supports "127 * N" sampling rates > > > > (in terms of cycles), so we should support those too. > > > > 3. Even higher sampling rates (say 10x) are being proposed for the > > > > future. So these should also be supported. > > > > > > > > So my proposal is simple, but let's see if it can be made to work. The uapi > > > > will directly input the sampling rate in number of cycles (so the value > > > > coming in is what the GPU freq is divided by). So e.g. if "3 * 251" is > > > > required "3 * 251" will come in through the uapi. If UMD wants "7 * 127", > > > > they will send in "7 * 127". The driver will internally map this value into > > > > the "closest" sampling rate supported by HW. > > > > > > > > I am assuming that UMD's already know what sampling rates are supported by > > > > a particular HW platform so they can send in the exact value they > > > > need. Otherwise the driver can always map the value sent by userspace. Say > > > > UMD sends a value 10, this will be mapped into "1 * 127" which is the > > > > closest sampling rate supported to 10. > > > > > > > > So this way all sampling rates can be supported. UMD just says I want a > > > > sampling rate of "GPU_freq divided by 10" and they automatically get > > > > whatever is the closest available. They probably do need to have an idea of > > > > what rates are supported on a particular HW platform, I am assuming they > > > > have this information from Bspec, so they can send in exact values if they > > > > know and driver will be able to set the exact value UMD has specified. > > This is an important point here. Can we assume UMD's already know the > sampling rates available or not? KMD can handle whatever value UMD sends in > but UMD still has to have an idea of what sampling rates are supported by > KMD, to be able to set an acceptable sampling rate. > > Otherwise, KMD will need to expose what sampling rates are supported to > UMD. There seem to be a couple of ways of doing this: > > 1. KMD can expose the available sampling rates in drm_xe_query_eu_stall > > Or, > > 2. The UMD can set their sampling rate and the actual sampling rate set by > KMD for that stream can exposed through DRM_XE_OBSERVATION_IOCTL_INFO > ioctl. If UMD doesn't like the sampling rate set by KMD they can close > the stream and reopen a new stream. Basically they would need to iterate > to arrive at an acceptable sampling rate. > > Or, > > 3. KMD does nothing, assumes UMD's know the sampling rate "out of band" via > things such as Bspec. > > I'm thinking maybe should expose the min and max sampling rates through 1. > and UMD's can select something in between and KMD can map that to one of > the sampling rates available in HW and maybe also expose the final sampling > rate through 2. > > So e.g. for now min and max exposed would be 1*251 through 7*251 (ignoring > the 127 stuff for now). Min/max might be more future proof since HW changes > to a different scheme, rather than have 7 or 14 fixed sampling rates they > have now. As of now, the driver sets a medium sampling rate as default if the user doesn't pass any sampling rate through the properties. In this patch series, 4 is the default sampling rate which is the mid point between 1, the fastest sampling rate and 7, the slowest sampling rate. It would be good to get feedback from the UMDs on which sampling rates are typically used. As of now, Mesa is setting the sampling rate to the fastest - 1. If the driver exposes the min and max sampling rates and sets the mid point as the default sampling rate, the user can override with the fastest or the slowest sampling rate or any other rate in between. Thanks Harish. > > > > > > > I am okay with whatever makes sense from a UMD perspective and whatever can > > > be extended easily in future. Just the cycles as you are suggesting should > > > be good as well. > > > > My suggestion is just the inverse of sampling freq, in a sense, i.e. > > > > eu stall sampling freq = gpu freq / N > > > > So we get N through the uapi. > > > > > Just curious, since the gpu frequency is may vary, any idea how the UMDs > > > map this data to their timeline? > > > > Note that we are dealing with the sampling freq here, the freq at which eu > > stall data is sampled, say 1 / n * 251 or 1 / n * 127 of gpu freq. But yes > > sampling freq can vary with gpu freq. > > > > But otherwise UMD's don't deal with time very much, only the IP > > (instruction pointer). So e.g. eu stall data contains: basically IP x was > > stalled for y cycles in this snapshot/sample. Since IP is unique, it can be > > mapped to a line of code for an eu kernel e.g. > > > > So I guess there is also an approximate notion of time, so when this eu > > kernel was sampled (or ran) the first time, IP x was stalled for y cycles, > > when it was sampled the next time, IP w was stalled for z cycles. So you > > would have a kind of moving window for the stall times for a particular > > IP. So it's based on IP, rather than time directly. > > > > At least that's how I think it works :/ ^ permalink raw reply [flat|nested] 30+ messages in thread
* RE: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-11-27 18:47 ` Harish Chegondi @ 2024-11-29 4:31 ` Kumar, Shubham 2024-11-29 4:35 ` Kumar, Shubham 1 sibling, 0 replies; 30+ messages in thread From: Kumar, Shubham @ 2024-11-29 4:31 UTC (permalink / raw) To: Chegondi, Harish, Dixit, Ashutosh Cc: Nerlige Ramappa, Umesh, intel-xe@lists.freedesktop.org, Ausmus, James, Degrood, Felix J, Souza, Jose, Cabral, Matias A, Ranjan, Joshua Santhosh Hi @Chegondi, Harish, From L0 UMD side we would prefer to calculate the supported sampling rates and pass it on to KMD. For this we need an query that can expose 1. Sampling clock granularity in nanoseconds - E.g 251 * gpuClockPeriodNs 2. Min and max sampling input rates supported - [1, 7] Thanks, Shubham -----Original Message----- From: Chegondi, Harish <harish.chegondi@intel.com> Sent: Thursday, November 28, 2024 12:18 AM To: Dixit, Ashutosh <ashutosh.dixit@intel.com> Cc: Nerlige Ramappa, Umesh <umesh.nerlige.ramappa@intel.com>; intel-xe@lists.freedesktop.org; Ausmus, James <james.ausmus@intel.com>; Degrood, Felix J <felix.j.degrood@intel.com>; Souza, Jose <jose.souza@intel.com>; Cabral, Matias A <matias.a.cabral@intel.com>; Ranjan, Joshua Santhosh <joshua.santosh.ranjan@intel.com>; Kumar, Shubham <shubham.kumar@intel.com> Subject: Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling On Fri, Nov 22, 2024 at 10:18:14AM -0800, Dixit, Ashutosh wrote: > On Wed, 20 Nov 2024 19:18:24 -0800, Dixit, Ashutosh wrote: > > > > On Wed, 20 Nov 2024 17:05:27 -0800, Umesh Nerlige Ramappa wrote: > > > > > > On Wed, Nov 20, 2024 at 11:04:28AM -0800, Dixit, Ashutosh wrote: > > > > On Tue, 19 Nov 2024 15:59:12 -0800, Harish Chegondi wrote: > > > >> > > > >> > > +/** > > > >> > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. > > > >> > > + * > > > >> > > + * These properties are passed to the driver 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. > > > >> > > + */ > > > >> > > +enum drm_xe_eu_stall_property_id { > > > >> > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 > > > >> > > + /** > > > >> > > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate > > > >> > > + * in multiples of 251 cycles. Valid values are 1 to 7. > > > >> > > + * If the value is 1, sampling interval is 251 cycles. > > > >> > > + * If the value is 7, sampling interval is 7 x 251 cycles. > > > >> > > + */ > > > >> > > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, > > > >> > > > > >> > What is the rate of 251 cycles? If that can be clearly > > > >> > defined, then at first glance, I would think it's better to > > > >> > define this in terms of frequency. The implementation can > > > >> > decide how to translate that to HW configuration. > > > >> > > > > >> Since the duration of a cycle depends on the GPU clock, it can > > > >> very from GPU to GPU. So, if there is any translation in the > > > >> driver, it will have to be different for each GPU. I think > > > >> keeping this input as a multiplier of cycles may be more future > > > >> proof for the uAPI. I am trying to get more information and feedback from the user space regarding your suggestion. > > > >> If it is feasible, I will implement in v6. > > > > > > > > Umesh has a point but I sort of agree with Harish because this > > > > value is directly fed into a register. But we do need some changes: > > > > > > > > 1. This 251 value showing up here doesn't make any sense and needs to go. > > > > 2. According to Bspec 64036, HW supports "127 * N" sampling rates > > > > (in terms of cycles), so we should support those too. > > > > 3. Even higher sampling rates (say 10x) are being proposed for the > > > > future. So these should also be supported. > > > > > > > > So my proposal is simple, but let's see if it can be made to > > > > work. The uapi will directly input the sampling rate in number > > > > of cycles (so the value coming in is what the GPU freq is > > > > divided by). So e.g. if "3 * 251" is required "3 * 251" will > > > > come in through the uapi. If UMD wants "7 * 127", they will send > > > > in "7 * 127". The driver will internally map this value into the "closest" sampling rate supported by HW. > > > > > > > > I am assuming that UMD's already know what sampling rates are > > > > supported by a particular HW platform so they can send in the > > > > exact value they need. Otherwise the driver can always map the > > > > value sent by userspace. Say UMD sends a value 10, this will be > > > > mapped into "1 * 127" which is the closest sampling rate supported to 10. > > > > > > > > So this way all sampling rates can be supported. UMD just says I > > > > want a sampling rate of "GPU_freq divided by 10" and they > > > > automatically get whatever is the closest available. They > > > > probably do need to have an idea of what rates are supported on > > > > a particular HW platform, I am assuming they have this > > > > information from Bspec, so they can send in exact values if they know and driver will be able to set the exact value UMD has specified. > > This is an important point here. Can we assume UMD's already know the > sampling rates available or not? KMD can handle whatever value UMD > sends in but UMD still has to have an idea of what sampling rates are > supported by KMD, to be able to set an acceptable sampling rate. > > Otherwise, KMD will need to expose what sampling rates are supported > to UMD. There seem to be a couple of ways of doing this: > > 1. KMD can expose the available sampling rates in > drm_xe_query_eu_stall > > Or, > > 2. The UMD can set their sampling rate and the actual sampling rate set by > KMD for that stream can exposed through DRM_XE_OBSERVATION_IOCTL_INFO > ioctl. If UMD doesn't like the sampling rate set by KMD they can close > the stream and reopen a new stream. Basically they would need to iterate > to arrive at an acceptable sampling rate. > > Or, > > 3. KMD does nothing, assumes UMD's know the sampling rate "out of band" via > things such as Bspec. > > I'm thinking maybe should expose the min and max sampling rates through 1. > and UMD's can select something in between and KMD can map that to one > of the sampling rates available in HW and maybe also expose the final > sampling rate through 2. > > So e.g. for now min and max exposed would be 1*251 through 7*251 > (ignoring the 127 stuff for now). Min/max might be more future proof > since HW changes to a different scheme, rather than have 7 or 14 fixed > sampling rates they have now. As of now, the driver sets a medium sampling rate as default if the user doesn't pass any sampling rate through the properties. In this patch series, 4 is the default sampling rate which is the mid point between 1, the fastest sampling rate and 7, the slowest sampling rate. It would be good to get feedback from the UMDs on which sampling rates are typically used. As of now, Mesa is setting the sampling rate to the fastest - 1. If the driver exposes the min and max sampling rates and sets the mid point as the default sampling rate, the user can override with the fastest or the slowest sampling rate or any other rate in between. Thanks Harish. > > > > > > > I am okay with whatever makes sense from a UMD perspective and > > > whatever can be extended easily in future. Just the cycles as you > > > are suggesting should be good as well. > > > > My suggestion is just the inverse of sampling freq, in a sense, i.e. > > > > eu stall sampling freq = gpu freq / N > > > > So we get N through the uapi. > > > > > Just curious, since the gpu frequency is may vary, any idea how > > > the UMDs map this data to their timeline? > > > > Note that we are dealing with the sampling freq here, the freq at > > which eu stall data is sampled, say 1 / n * 251 or 1 / n * 127 of > > gpu freq. But yes sampling freq can vary with gpu freq. > > > > But otherwise UMD's don't deal with time very much, only the IP > > (instruction pointer). So e.g. eu stall data contains: basically IP > > x was stalled for y cycles in this snapshot/sample. Since IP is > > unique, it can be mapped to a line of code for an eu kernel e.g. > > > > So I guess there is also an approximate notion of time, so when this > > eu kernel was sampled (or ran) the first time, IP x was stalled for > > y cycles, when it was sampled the next time, IP w was stalled for z > > cycles. So you would have a kind of moving window for the stall > > times for a particular IP. So it's based on IP, rather than time directly. > > > > At least that's how I think it works :/ ^ permalink raw reply [flat|nested] 30+ messages in thread
* RE: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling 2024-11-27 18:47 ` Harish Chegondi 2024-11-29 4:31 ` Kumar, Shubham @ 2024-11-29 4:35 ` Kumar, Shubham 1 sibling, 0 replies; 30+ messages in thread From: Kumar, Shubham @ 2024-11-29 4:35 UTC (permalink / raw) To: Chegondi, Harish, Dixit, Ashutosh Cc: Nerlige Ramappa, Umesh, intel-xe@lists.freedesktop.org, Ausmus, James, Degrood, Felix J, Souza, Jose, Cabral, Matias A, Ranjan, Joshua Santhosh Hi @Chegondi, Harish, From L0 UMD side we would prefer to calculate the supported sampling rates and pass it on to KMD. For this we need an query that can expose 1. Sampling clock granularity in nanoseconds - E.g 251 * gpuClockPeriodNs 2. Min and max sampling input rates supported - [1, 7] Thanks, Shubham -----Original Message----- From: Chegondi, Harish <harish.chegondi@intel.com> Sent: Thursday, November 28, 2024 12:18 AM To: Dixit, Ashutosh <ashutosh.dixit@intel.com> Cc: Nerlige Ramappa, Umesh <umesh.nerlige.ramappa@intel.com>; intel-xe@lists.freedesktop.org; Ausmus, James <james.ausmus@intel.com>; Degrood, Felix J <felix.j.degrood@intel.com>; Souza, Jose <jose.souza@intel.com>; Cabral, Matias A <matias.a.cabral@intel.com>; Ranjan, Joshua Santhosh <joshua.santosh.ranjan@intel.com>; Kumar, Shubham <shubham.kumar@intel.com> Subject: Re: [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling On Fri, Nov 22, 2024 at 10:18:14AM -0800, Dixit, Ashutosh wrote: > On Wed, 20 Nov 2024 19:18:24 -0800, Dixit, Ashutosh wrote: > > > > On Wed, 20 Nov 2024 17:05:27 -0800, Umesh Nerlige Ramappa wrote: > > > > > > On Wed, Nov 20, 2024 at 11:04:28AM -0800, Dixit, Ashutosh wrote: > > > > On Tue, 19 Nov 2024 15:59:12 -0800, Harish Chegondi wrote: > > > >> > > > >> > > +/** > > > >> > > + * enum drm_xe_eu_stall_property_id - EU stall sampling input property ids. > > > >> > > + * > > > >> > > + * These properties are passed to the driver 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. > > > >> > > + */ > > > >> > > +enum drm_xe_eu_stall_property_id { > > > >> > > +#define DRM_XE_EU_STALL_EXTENSION_SET_PROPERTY 0 > > > >> > > + /** > > > >> > > + * @DRM_XE_EU_STALL_PROP_SAMPLE_RATE: Sampling rate > > > >> > > + * in multiples of 251 cycles. Valid values are 1 to 7. > > > >> > > + * If the value is 1, sampling interval is 251 cycles. > > > >> > > + * If the value is 7, sampling interval is 7 x 251 cycles. > > > >> > > + */ > > > >> > > + DRM_XE_EU_STALL_PROP_SAMPLE_RATE = 1, > > > >> > > > > >> > What is the rate of 251 cycles? If that can be clearly > > > >> > defined, then at first glance, I would think it's better to > > > >> > define this in terms of frequency. The implementation can > > > >> > decide how to translate that to HW configuration. > > > >> > > > > >> Since the duration of a cycle depends on the GPU clock, it can > > > >> very from GPU to GPU. So, if there is any translation in the > > > >> driver, it will have to be different for each GPU. I think > > > >> keeping this input as a multiplier of cycles may be more future > > > >> proof for the uAPI. I am trying to get more information and feedback from the user space regarding your suggestion. > > > >> If it is feasible, I will implement in v6. > > > > > > > > Umesh has a point but I sort of agree with Harish because this > > > > value is directly fed into a register. But we do need some changes: > > > > > > > > 1. This 251 value showing up here doesn't make any sense and needs to go. > > > > 2. According to Bspec 64036, HW supports "127 * N" sampling rates > > > > (in terms of cycles), so we should support those too. > > > > 3. Even higher sampling rates (say 10x) are being proposed for the > > > > future. So these should also be supported. > > > > > > > > So my proposal is simple, but let's see if it can be made to > > > > work. The uapi will directly input the sampling rate in number > > > > of cycles (so the value coming in is what the GPU freq is > > > > divided by). So e.g. if "3 * 251" is required "3 * 251" will > > > > come in through the uapi. If UMD wants "7 * 127", they will send > > > > in "7 * 127". The driver will internally map this value into the "closest" sampling rate supported by HW. > > > > > > > > I am assuming that UMD's already know what sampling rates are > > > > supported by a particular HW platform so they can send in the > > > > exact value they need. Otherwise the driver can always map the > > > > value sent by userspace. Say UMD sends a value 10, this will be > > > > mapped into "1 * 127" which is the closest sampling rate supported to 10. > > > > > > > > So this way all sampling rates can be supported. UMD just says I > > > > want a sampling rate of "GPU_freq divided by 10" and they > > > > automatically get whatever is the closest available. They > > > > probably do need to have an idea of what rates are supported on > > > > a particular HW platform, I am assuming they have this > > > > information from Bspec, so they can send in exact values if they know and driver will be able to set the exact value UMD has specified. > > This is an important point here. Can we assume UMD's already know the > sampling rates available or not? KMD can handle whatever value UMD > sends in but UMD still has to have an idea of what sampling rates are > supported by KMD, to be able to set an acceptable sampling rate. > > Otherwise, KMD will need to expose what sampling rates are supported > to UMD. There seem to be a couple of ways of doing this: > > 1. KMD can expose the available sampling rates in > drm_xe_query_eu_stall > > Or, > > 2. The UMD can set their sampling rate and the actual sampling rate set by > KMD for that stream can exposed through DRM_XE_OBSERVATION_IOCTL_INFO > ioctl. If UMD doesn't like the sampling rate set by KMD they can close > the stream and reopen a new stream. Basically they would need to iterate > to arrive at an acceptable sampling rate. > > Or, > > 3. KMD does nothing, assumes UMD's know the sampling rate "out of band" via > things such as Bspec. > > I'm thinking maybe should expose the min and max sampling rates through 1. > and UMD's can select something in between and KMD can map that to one > of the sampling rates available in HW and maybe also expose the final > sampling rate through 2. > > So e.g. for now min and max exposed would be 1*251 through 7*251 > (ignoring the 127 stuff for now). Min/max might be more future proof > since HW changes to a different scheme, rather than have 7 or 14 fixed > sampling rates they have now. As of now, the driver sets a medium sampling rate as default if the user doesn't pass any sampling rate through the properties. In this patch series, 4 is the default sampling rate which is the mid point between 1, the fastest sampling rate and 7, the slowest sampling rate. It would be good to get feedback from the UMDs on which sampling rates are typically used. As of now, Mesa is setting the sampling rate to the fastest - 1. If the driver exposes the min and max sampling rates and sets the mid point as the default sampling rate, the user can override with the fastest or the slowest sampling rate or any other rate in between. Thanks Harish. > > > > > > > I am okay with whatever makes sense from a UMD perspective and > > > whatever can be extended easily in future. Just the cycles as you > > > are suggesting should be good as well. > > > > My suggestion is just the inverse of sampling freq, in a sense, i.e. > > > > eu stall sampling freq = gpu freq / N > > > > So we get N through the uapi. > > > > > Just curious, since the gpu frequency is may vary, any idea how > > > the UMDs map this data to their timeline? > > > > Note that we are dealing with the sampling freq here, the freq at > > which eu stall data is sampled, say 1 / n * 251 or 1 / n * 127 of > > gpu freq. But yes sampling freq can vary with gpu freq. > > > > But otherwise UMD's don't deal with time very much, only the IP > > (instruction pointer). So e.g. eu stall data contains: basically IP > > x was stalled for y cycles in this snapshot/sample. Since IP is > > unique, it can be mapped to a line of code for an eu kernel e.g. > > > > So I guess there is also an approximate notion of time, so when this > > eu kernel was sampled (or ran) the first time, IP x was stalled for > > y cycles, when it was sampled the next time, IP w was stalled for z > > cycles. So you would have a kind of moving window for the stall > > times for a particular IP. So it's based on IP, rather than time directly. > > > > At least that's how I think it works :/ ^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH v4 3/5] drm/xe/eustall: Implement EU stall sampling APIs 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi 2024-10-14 6:00 ` [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask Harish Chegondi 2024-10-14 6:00 ` [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling Harish Chegondi @ 2024-10-14 6:00 ` Harish Chegondi 2024-10-18 23:31 ` Matt Roper 2024-10-14 6:00 ` [PATCH v4 4/5] drm/xe/query: Add a device query to get EU stall data information Harish Chegondi ` (9 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Harish Chegondi @ 2024-10-14 6:00 UTC (permalink / raw) To: intel-xe Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar, Harish Chegondi Add support to the EU stall sampling APIs introduced in the previous patch. Add register definitions and the code that accesses these registers to the APIs. A timer thread periodically polls the EU stall data buffer write pointer registers to look for any new data and caches the write pointer. The read function compares the cached read and write pointers and copies any new data to the user space. 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. The driver read() returns -EIO error to let the user space know that the hardware has dropped data. A subsequent read by the user space returns the remaining EU stall data. Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> --- drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h | 29 + drivers/gpu/drm/xe/xe_eu_stall.c | 710 ++++++++++++++++++++- drivers/gpu/drm/xe/xe_eu_stall.h | 46 ++ drivers/gpu/drm/xe/xe_gt.c | 6 + drivers/gpu/drm/xe/xe_gt_types.h | 3 + drivers/gpu/drm/xe/xe_trace.h | 35 + 6 files changed, 804 insertions(+), 25 deletions(-) create mode 100644 drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h diff --git a/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h b/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h new file mode 100644 index 000000000000..2b742890b283 --- /dev/null +++ b/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: MIT */ +/* + * Copyright © 2024 Intel Corporation + */ + +#ifndef _XE_EU_STALL_REGS_H_ +#define _XE_EU_STALL_REGS_H_ + +#include "regs/xe_reg_defs.h" + +#define XEHPC_EUSTALL_BASE XE_REG_MCR(0xe520) +#define XEHPC_EUSTALL_BASE_BUF_ADDR REG_GENMASK(31, 6) +#define XEHPC_EUSTALL_BASE_XECORE_BUF_SZ REG_GENMASK(5, 3) +#define XEHPC_EUSTALL_BASE_ENABLE_SAMPLING REG_BIT(1) + +#define XEHPC_EUSTALL_BASE_UPPER XE_REG_MCR(0xe524) + +#define XEHPC_EUSTALL_REPORT XE_REG_MCR(0xe528, XE_REG_OPTION_MASKED) +#define XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK REG_GENMASK(15, 2) +#define XEHPC_EUSTALL_REPORT_OVERFLOW_DROP REG_BIT(1) + +#define XEHPC_EUSTALL_REPORT1 XE_REG_MCR(0xe52c, XE_REG_OPTION_MASKED) +#define XEHPC_EUSTALL_REPORT1_READ_PTR_MASK REG_GENMASK(15, 2) + +#define XEHPC_EUSTALL_CTRL XE_REG_MCR(0xe53c, XE_REG_OPTION_MASKED) +#define EUSTALL_MOCS REG_GENMASK(9, 3) +#define EUSTALL_SAMPLE_RATE REG_GENMASK(2, 0) + +#endif diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c index 5e4c90f9614d..6a730ffa6d2f 100644 --- a/drivers/gpu/drm/xe/xe_eu_stall.c +++ b/drivers/gpu/drm/xe/xe_eu_stall.c @@ -8,15 +8,27 @@ #include <linux/poll.h> #include <linux/fs.h> +#include <drm/drm_drv.h> #include <uapi/drm/xe_drm.h> +#include "xe_bo.h" +#include "xe_pm.h" +#include "xe_trace.h" #include "xe_macros.h" #include "xe_device.h" +#include "xe_gt_mcr.h" #include "xe_eu_stall.h" #include "xe_gt_printk.h" +#include "xe_force_wake.h" #include "xe_gt_topology.h" #include "xe_observation.h" +#include "regs/xe_gt_regs.h" +#include "regs/xe_eu_stall_regs.h" + +#define DEFAULT_POLL_FREQUENCY_HZ 100 +#define DEFAULT_POLL_PERIOD_NS (NSEC_PER_SEC / DEFAULT_POLL_FREQUENCY_HZ) + /** * struct eu_stall_open_properties * @@ -45,6 +57,22 @@ num_data_rows(u32 data_size) return (data_size >> 6); } +int xe_eu_stall_init(struct xe_gt *gt) +{ + gt->eu_stall_cntr = kzalloc(sizeof(*gt->eu_stall_cntr), GFP_KERNEL); + if (!gt->eu_stall_cntr) + return -ENOMEM; + + mutex_init(>->eu_stall_cntr->lock); + return 0; +} + +void xe_eu_stall_fini(struct xe_gt *gt) +{ + mutex_destroy(>->eu_stall_cntr->lock); + kfree(gt->eu_stall_cntr); +} + static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value, struct eu_stall_open_properties *props) { @@ -152,6 +180,229 @@ 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 + * of size buf_size given the read and write pointers + * into the buffer. + * + * @read_ptr: Read pointer. Uses an additional overflow bit + * @write_ptr: Write pointer. Uses an additional overflow bit + * + * Returns: number of bytes of data in the buffer + */ +static u32 +buf_data_size(size_t buf_size, u32 read_ptr, u32 write_ptr) +{ + u32 read_offset, write_offset, size = 0; + + read_offset = read_ptr & (buf_size - 1); + write_offset = write_ptr & (buf_size - 1); + + if (write_offset > read_offset) + size = write_offset - read_offset; + else + size = buf_size - read_offset + write_offset; + + return size; +} + +/** + * eu_stall_data_buf_check - check for EU stall data in the buffer + * + * @stream: xe EU stall data stream instance + * + * Returns: true if the EU stall buffer contains minimum stall data as + * specified by the event report count, else false. + */ +static bool +eu_stall_data_buf_check(struct xe_eu_stall_data_stream *stream) +{ + u32 read_ptr, write_ptr_reg, write_ptr, total_data = 0; + u32 buf_size = stream->per_xecore_buf_size; + struct xe_gt *gt = stream->gt; + struct per_xecore_buf *xecore_buf; + bool min_data_present; + u16 group, instance; + unsigned int xecore; + + min_data_present = false; + for_each_dss_steering(xecore, gt, group, instance) { + xecore_buf = &stream->xecore_buf[xecore]; + mutex_lock(&xecore_buf->lock); + read_ptr = xecore_buf->read; + write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, + group, instance); + write_ptr = REG_FIELD_GET(XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK, write_ptr_reg); + write_ptr <<= 6; + write_ptr &= ((buf_size << 1) - 1); + if ((write_ptr != read_ptr) && !min_data_present) { + total_data += buf_data_size(buf_size, read_ptr, write_ptr); + /* + * Check if there are at least minimum number of stall data + * rows for poll() to indicate that the data is present. + * Each stall data row is 64B (cacheline size). + */ + if (num_data_rows(total_data) >= stream->event_report_count) + min_data_present = true; + } + if (write_ptr_reg & XEHPC_EUSTALL_REPORT_OVERFLOW_DROP) { + spin_lock(&stream->data_drop.lock); + set_bit(xecore, stream->data_drop.mask); + spin_unlock(&stream->data_drop.lock); + } + xecore_buf->write = write_ptr; + mutex_unlock(&xecore_buf->lock); + } + return min_data_present; +} + +static void +clear_dropped_eviction_line_bit(struct xe_gt *gt, u16 group, u16 instance) +{ + 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. + * On other GPUs, the bit has to be cleared by writing 0 to it. + */ + if (GRAPHICS_VER(xe) >= 20) + write_ptr_reg = _MASKED_BIT_DISABLE(XEHPC_EUSTALL_REPORT_OVERFLOW_DROP); + else + write_ptr_reg = _MASKED_BIT_ENABLE(XEHPC_EUSTALL_REPORT_OVERFLOW_DROP); + + xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT, write_ptr_reg, group, instance); +} + +static int +xe_eu_stall_data_buf_read(struct xe_eu_stall_data_stream *stream, + char __user *buf, size_t count, + size_t *total_size, struct xe_gt *gt, + u16 group, u16 instance, unsigned int xecore) +{ + u32 read_ptr_reg, read_ptr, write_ptr; + u8 *xecore_start_vaddr, *read_vaddr; + u32 read_offset, write_offset; + struct per_xecore_buf *xecore_buf; + size_t size, buf_size; + + /* Hardware increments the read and write pointers such that they can + * overflow into one additional bit. For example, a 256KB size buffer + * offset pointer needs 18 bits. But HW uses 19 bits for the read and + * write pointers. This technique avoids wasting a slot in the buffer. + * Read and write offsets are calculated from the pointers in order to + * check if the write pointer has wrapped around the array. + */ + xecore_buf = &stream->xecore_buf[xecore]; + mutex_lock(&xecore_buf->lock); + xecore_start_vaddr = xecore_buf->vaddr; + read_ptr = xecore_buf->read; + write_ptr = xecore_buf->write; + buf_size = stream->per_xecore_buf_size; + read_offset = read_ptr & (buf_size - 1); + write_offset = write_ptr & (buf_size - 1); + + if (write_ptr == read_ptr) { + mutex_unlock(&xecore_buf->lock); + return 0; + } + + trace_xe_eu_stall_cntr_read(group, instance, read_ptr, write_ptr, + read_offset, write_offset, *total_size); + /* If write pointer offset is less than the read pointer offset, + * it means, write pointer has wrapped around the array. + */ + if (write_offset > read_offset) + size = write_offset - read_offset; + else + size = buf_size - read_offset + write_offset; + + /* Read only the data that the user space buffer can accommodate */ + if ((*total_size + size) > count) { + mutex_unlock(&xecore_buf->lock); + return 0; + } + + read_vaddr = xecore_start_vaddr + read_offset; + + if (write_offset > read_offset) { + if (copy_to_user((buf + *total_size), read_vaddr, size)) { + mutex_unlock(&xecore_buf->lock); + return -EFAULT; + } + } else { + if (copy_to_user((buf + *total_size), read_vaddr, (buf_size - read_offset))) { + mutex_unlock(&xecore_buf->lock); + return -EFAULT; + } + if (copy_to_user((buf + *total_size), xecore_start_vaddr, write_offset)) { + mutex_unlock(&xecore_buf->lock); + return -EFAULT; + } + } + + *total_size += size; + read_ptr += size; + + /* Read pointer can overflow into one additional bit */ + read_ptr &= ((buf_size << 1) - 1); + read_ptr_reg = REG_FIELD_PREP(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, (read_ptr >> 6)); + read_ptr_reg &= XEHPC_EUSTALL_REPORT1_READ_PTR_MASK; + read_ptr_reg = _MASKED_FIELD(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, read_ptr_reg); + xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT1, read_ptr_reg, group, instance); + if (test_bit(xecore, stream->data_drop.mask)) { + clear_dropped_eviction_line_bit(gt, group, instance); + spin_lock(&stream->data_drop.lock); + clear_bit(xecore, stream->data_drop.mask); + spin_unlock(&stream->data_drop.lock); + } + xecore_buf->read = read_ptr; + mutex_unlock(&xecore_buf->lock); + trace_xe_eu_stall_cntr_read(group, instance, read_ptr, write_ptr, + read_offset, write_offset, *total_size); + return 0; +} + +/** + * xe_eu_stall_stream_read_locked - copy EU stall counters data from the + * per xecore buffers to the userspace buffer + * @stream: A stream opened for EU stall count metrics + * @buf: destination buffer given by userspace + * @count: the number of bytes userspace wants to read + * @ppos: (inout) file seek position (unused) + * + * Returns: Number of bytes copied or a negative error code + * If we've successfully copied any data then reporting that takes + * precedence over any internal error status, so the data isn't lost. + */ +static ssize_t +xe_eu_stall_stream_read_locked(struct xe_eu_stall_data_stream *stream, + struct file *file, char __user *buf, + size_t count, loff_t *ppos) +{ + struct xe_gt *gt = stream->gt; + size_t total_size = 0; + u16 group, instance; + unsigned int xecore; + int ret = 0; + + if (count == 0) + return -EINVAL; + + for_each_dss_steering(xecore, gt, group, instance) { + ret = xe_eu_stall_data_buf_read(stream, buf, count, &total_size, + gt, group, instance, xecore); + if (ret || count == total_size) + goto exit; + } +exit: + if (total_size) + return total_size; + else if (ret) + return ret; + else + return -EAGAIN; +} + /** * xe_eu_stall_stream_read - handles userspace read() of a EU stall data stream fd. * @@ -165,11 +416,263 @@ static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension, static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) { - ssize_t ret = 0; + struct xe_eu_stall_data_stream *stream = file->private_data; + struct xe_gt *gt = stream->gt; + ssize_t ret; + + if (!stream->enabled) { + xe_gt_dbg(gt, "EU stall data stream not enabled to read\n"); + return -EINVAL; + } + + if (bitmap_weight(stream->data_drop.mask, XE_MAX_DSS_FUSE_BITS)) { + if (!stream->data_drop.reported_to_user) { + stream->data_drop.reported_to_user = true; + xe_gt_dbg(gt, "EU stall data dropped in XeCores: %*pb\n", + XE_MAX_DSS_FUSE_BITS, stream->data_drop.mask); + return -EIO; + } + stream->data_drop.reported_to_user = false; + } + + if (!(file->f_flags & O_NONBLOCK)) { + do { + if (!stream->pollin) { + ret = wait_event_interruptible(stream->poll_wq, stream->pollin); + if (ret) + return -EINTR; + } + + mutex_lock(>->eu_stall_cntr->lock); + ret = xe_eu_stall_stream_read_locked(stream, file, buf, count, ppos); + mutex_unlock(>->eu_stall_cntr->lock); + } while (ret == -EAGAIN); + } else { + mutex_lock(>->eu_stall_cntr->lock); + ret = xe_eu_stall_stream_read_locked(stream, file, buf, count, ppos); + mutex_unlock(>->eu_stall_cntr->lock); + } + + stream->pollin = false; return ret; } +static void +free_eu_stall_cntr_buf(struct xe_eu_stall_data_stream *stream) +{ + if (stream->bo) { + xe_bo_unpin_map_no_vm(stream->bo); + stream->bo = NULL; + } + destroy_workqueue(stream->buf_check_wq); +} + +static int alloc_eu_stall_data_buf(struct xe_eu_stall_data_stream *stream, + u16 num_xecore) +{ + struct xe_tile *tile = stream->gt->tile; + struct xe_bo *bo; + u32 size; + + size = stream->per_xecore_buf_size * num_xecore; + + bo = xe_bo_create_pin_map(tile->xe, tile, NULL, + size, ttm_bo_type_kernel, + XE_BO_FLAG_SYSTEM | + XE_BO_FLAG_GGTT); + if (IS_ERR(bo)) + return PTR_ERR(bo); + + stream->bo = bo; + + return 0; +} + +static u32 +gen_eustall_base(struct xe_eu_stall_data_stream *stream, bool enable) +{ + u32 val = xe_bo_ggtt_addr(stream->bo); + u32 sz; + + XE_WARN_ON(!IS_ALIGNED(val, 64)); + + switch (stream->per_xecore_buf_size) { + case SZ_128K: + sz = 0; + break; + case SZ_256K: + sz = 1; + break; + case SZ_512K: + sz = 2; + break; + default: + xe_gt_warn(stream->gt, "Missing case per XeCore buffer size == %lu)\n", + (long)(stream->per_xecore_buf_size)); + sz = 2; + } + + val |= REG_FIELD_PREP(XEHPC_EUSTALL_BASE_XECORE_BUF_SZ, sz); + if (enable) + val |= XEHPC_EUSTALL_BASE_ENABLE_SAMPLING; + + return val; +} + +static void +xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream) +{ + struct xe_gt *gt = stream->gt; + u32 reg_value; + + /* Take runtime pm ref and forcewake to disable RC6 */ + xe_pm_runtime_get(gt_to_xe(gt)); + XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FW_RENDER)); + + reg_value = gen_eustall_base(stream, true); + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value); +} + +static void +xe_eu_stall_stream_disable(struct xe_eu_stall_data_stream *stream) +{ + struct xe_gt *gt = stream->gt; + u16 group, instance; + unsigned int xecore; + u32 reg_value; + + /* + * Before disabling EU stall sampling, check if any of the + * XEHPC_EUSTALL_REPORT registers have the drop bit set. If set, + * clear the bit. If the user space application reads all the + * stall data, the drop bit would be cleared during the read. + * But if there is any unread data and the drop bit is set for + * any subslice, the drop bit would continue to be set even + * after disabling EU stall sampling and may cause erroneous + * stall data in the subsequent stall data sampling run. + */ + for_each_dss_steering(xecore, gt, group, instance) { + reg_value = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, + group, instance); + if (reg_value & XEHPC_EUSTALL_REPORT_OVERFLOW_DROP) + clear_dropped_eviction_line_bit(gt, group, instance); + } + reg_value = gen_eustall_base(stream, false); + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value); + + XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FW_RENDER)); + xe_pm_runtime_put(gt_to_xe(gt)); +} + +static void eu_stall_buf_check_work_fn(struct work_struct *work) +{ + struct xe_eu_stall_data_stream *stream = + container_of(work, typeof(*stream), buf_check_work); + + if (eu_stall_data_buf_check(stream)) { + stream->pollin = true; + wake_up(&stream->poll_wq); + } +} + +static enum +hrtimer_restart eu_stall_poll_check_timer_cb(struct hrtimer *hrtimer) +{ + struct xe_eu_stall_data_stream *stream = + container_of(hrtimer, typeof(*stream), poll_check_timer); + + queue_work(stream->buf_check_wq, &stream->buf_check_work); + hrtimer_forward_now(hrtimer, ns_to_ktime(stream->poll_period)); + + return HRTIMER_RESTART; +} + +static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream, + struct eu_stall_open_properties *props, + u16 num_xecore) +{ + u32 write_ptr_reg, write_ptr, read_ptr_reg; + u32 vaddr_offset, base_reg_value; + struct xe_gt *gt = stream->gt; + struct per_xecore_buf *xecore_buf; + u16 group, instance; + int ret, xecore; + + init_waitqueue_head(&stream->poll_wq); + INIT_WORK(&stream->buf_check_work, eu_stall_buf_check_work_fn); + stream->buf_check_wq = alloc_ordered_workqueue("xe_eustall_cntr", 0); + if (!stream->buf_check_wq) + return -ENOMEM; + hrtimer_init(&stream->poll_check_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); + stream->poll_check_timer.function = eu_stall_poll_check_timer_cb; + stream->event_report_count = props->event_report_count; + stream->per_xecore_buf_size = SZ_512K; + stream->poll_period = props->poll_period; + + ret = alloc_eu_stall_data_buf(stream, num_xecore); + if (ret) + return ret; + + stream->xecore_buf = kcalloc(num_xecore, sizeof(*stream->xecore_buf), GFP_KERNEL); + if (!stream->xecore_buf) + return -ENOMEM; + + spin_lock_init(&stream->data_drop.lock); + stream->data_drop.reported_to_user = false; + bitmap_zero(stream->data_drop.mask, XE_MAX_DSS_FUSE_BITS); + + xe_pm_runtime_get(gt_to_xe(gt)); + XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL)); + + base_reg_value = gen_eustall_base(stream, false); + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, base_reg_value); + /* GGTT addresses can never be > 32 bits */ + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE_UPPER, 0); + base_reg_value = _MASKED_FIELD(EUSTALL_MOCS | EUSTALL_SAMPLE_RATE, + REG_FIELD_PREP(EUSTALL_MOCS, gt->mocs.uc_index << 1) | + REG_FIELD_PREP(EUSTALL_SAMPLE_RATE, + props->eu_stall_sampling_rate)); + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_CTRL, base_reg_value); + + for_each_dss_steering(xecore, gt, group, instance) { + write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, + group, instance); + write_ptr = REG_FIELD_GET(XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK, write_ptr_reg); + write_ptr <<= 6; + write_ptr &= ((stream->per_xecore_buf_size << 1) - 1); + read_ptr_reg = write_ptr >> 6; + read_ptr_reg = REG_FIELD_PREP(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, write_ptr); + read_ptr_reg &= XEHPC_EUSTALL_REPORT1_READ_PTR_MASK; + read_ptr_reg = _MASKED_FIELD(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, read_ptr_reg); + xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT1, + read_ptr_reg, group, instance); + xecore_buf = &stream->xecore_buf[xecore]; + vaddr_offset = xecore * stream->per_xecore_buf_size; + xecore_buf->vaddr = stream->bo->vmap.vaddr + vaddr_offset; + xecore_buf->write = write_ptr; + xecore_buf->read = write_ptr; + mutex_init(&xecore_buf->lock); + } + XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL)); + xe_pm_runtime_put(gt_to_xe(gt)); + return 0; +} + +static __poll_t +xe_eu_stall_stream_poll_locked(struct xe_eu_stall_data_stream *stream, + struct file *file, poll_table *wait) +{ + __poll_t events = 0; + + poll_wait(file, &stream->poll_wq, wait); + + if (stream->pollin) + events |= EPOLLIN; + + return events; +} + /** * xe_eu_stall_stream_poll - handles userspace poll() of a EU stall data stream fd. * @@ -181,11 +684,60 @@ static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf, static __poll_t xe_eu_stall_stream_poll(struct file *file, poll_table *wait) { - __poll_t ret = 0; + struct xe_eu_stall_data_stream *stream = file->private_data; + struct xe_gt *gt = stream->gt; + __poll_t ret; + + mutex_lock(>->eu_stall_cntr->lock); + ret = xe_eu_stall_stream_poll_locked(stream, file, wait); + mutex_unlock(>->eu_stall_cntr->lock); return ret; } +static void +xe_eu_stall_cntr_enable_locked(struct xe_eu_stall_data_stream *stream) +{ + if (stream->enabled) + return; + + stream->enabled = true; + + xe_eu_stall_stream_enable(stream); + hrtimer_start(&stream->poll_check_timer, + ns_to_ktime(stream->poll_period), + HRTIMER_MODE_REL); +} + +static void +xe_eu_stall_cntr_disable_locked(struct xe_eu_stall_data_stream *stream) +{ + if (!stream->enabled) + return; + + stream->enabled = false; + + hrtimer_cancel(&stream->poll_check_timer); + flush_workqueue(stream->buf_check_wq); + xe_eu_stall_stream_disable(stream); +} + +static long +xe_eu_stall_stream_ioctl_locked(struct xe_eu_stall_data_stream *stream, + unsigned int cmd, unsigned long arg) +{ + switch (cmd) { + case DRM_XE_OBSERVATION_IOCTL_ENABLE: + xe_eu_stall_cntr_enable_locked(stream); + return 0; + case DRM_XE_OBSERVATION_IOCTL_DISABLE: + xe_eu_stall_cntr_disable_locked(stream); + return 0; + } + + return -EINVAL; +} + /** * xe_eu_stall_stream_ioctl - support ioctl() usage with xe EU stall data * stream fd @@ -200,14 +752,22 @@ static long xe_eu_stall_stream_ioctl(struct file *file, unsigned int cmd, unsigned long arg) { - switch (cmd) { - case DRM_XE_OBSERVATION_IOCTL_ENABLE: - return 0; - case DRM_XE_OBSERVATION_IOCTL_DISABLE: - return 0; - } + struct xe_eu_stall_data_stream *stream = file->private_data; + struct xe_gt *gt = stream->gt; + long ret; - return -EINVAL; + mutex_lock(>->eu_stall_cntr->lock); + ret = xe_eu_stall_stream_ioctl_locked(stream, cmd, arg); + mutex_unlock(>->eu_stall_cntr->lock); + + return ret; +} + +static void +xe_eu_stall_stream_close_locked(struct xe_eu_stall_data_stream *stream) +{ + xe_eu_stall_cntr_disable_locked(stream); + free_eu_stall_cntr_buf(stream); } /** @@ -220,6 +780,19 @@ static long xe_eu_stall_stream_ioctl(struct file *file, */ static int xe_eu_stall_stream_close(struct inode *inode, struct file *file) { + struct xe_eu_stall_data_stream *stream = file->private_data; + struct xe_gt *gt = stream->gt; + + mutex_lock(>->eu_stall_cntr->lock); + xe_eu_stall_stream_close_locked(stream); + kfree(stream->xecore_buf); + kfree(stream); + gt->eu_stall_cntr->stream = NULL; + mutex_unlock(>->eu_stall_cntr->lock); + + /* Release the reference the EU stall stream kept on the driver */ + drm_dev_put(>->tile->xe->drm); + return 0; } @@ -235,7 +808,98 @@ 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 || GRAPHICS_VER(xe) >= 20) ? true : false); +} + +/** + * xe_eu_stall_stream_open_locked - Open a EU stall data stream FD. + * @dev: drm device instance + * @props: individually validated u64 property value pairs + * @file: drm file + * + * Returns: zero on success or a negative error code. + */ +static int +xe_eu_stall_stream_open_locked(struct drm_device *dev, + struct eu_stall_open_properties *props, + struct drm_file *file) +{ + struct xe_device *xe = to_xe_device(dev); + struct xe_eu_stall_data_stream *stream; + struct xe_gt *gt = props->gt; + unsigned long f_flags = 0; + xe_dss_mask_t all_xecore; + int ret, stream_fd; + u32 gt_buf_size; + u16 num_xecore; + + if (!has_eu_stall_sampling_support(xe)) { + xe_gt_dbg(gt, "EU stall monitoring is not supported on this platform\n"); + return -EPERM; + } + + if (xe_observation_paranoid && !perfmon_capable()) { + xe_gt_dbg(gt, "Insufficient privileges for EU stall monitoring\n"); + return -EACCES; + } + + /* Only one session can be active at any time */ + if (gt->eu_stall_cntr->stream) { + xe_gt_dbg(gt, "EU stall cntr session already active\n"); + return -EBUSY; + } + + bitmap_or(all_xecore, gt->fuse_topo.g_dss_mask, gt->fuse_topo.c_dss_mask, + XE_MAX_DSS_FUSE_BITS); + /* + * Enabled subslices can be discontiguous. Find the last subslice + * and calculate total buffer size based on that. + */ + num_xecore = xe_dss_mask_last_dss(all_xecore) + 1; + gt_buf_size = SZ_512K * num_xecore; + if (props->event_report_count > num_data_rows(gt_buf_size)) { + xe_gt_dbg(gt, "Invalid EU stall data poll event report count %u\n", + props->event_report_count); + xe_gt_dbg(gt, "Maximum event report count for the given buffer size is %u\n", + num_data_rows(gt_buf_size)); + return -EINVAL; + } + + stream = kzalloc(sizeof(*stream), GFP_KERNEL); + if (!stream) + return -ENOMEM; + + gt->eu_stall_cntr->stream = stream; + stream->gt = gt; + + ret = xe_eu_stall_stream_init(stream, props, num_xecore); + if (ret) { + xe_gt_dbg(gt, "EU stall stream init failed : %d\n", ret); + goto err_alloc; + } + + stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall, + stream, f_flags); + if (stream_fd < 0) { + ret = stream_fd; + xe_gt_dbg(gt, "EU stall inode get fd failed : %d\n", ret); + goto err_open; + } + + /* Take a reference on the driver that will be kept with stream_fd + * until its release. + */ + drm_dev_get(>->tile->xe->drm); + + return stream_fd; + +err_open: + free_eu_stall_cntr_buf(stream); +err_alloc: + gt->eu_stall_cntr->stream = NULL; + kfree(stream->xecore_buf); + kfree(stream); + return ret; } int xe_eu_stall_stream_open(struct drm_device *dev, @@ -244,10 +908,16 @@ int xe_eu_stall_stream_open(struct drm_device *dev, { struct xe_device *xe = to_xe_device(dev); struct eu_stall_open_properties props; - int ret, stream_fd; + int ret; memset(&props, 0, sizeof(struct eu_stall_open_properties)); + /* Set default values */ + props.gt = NULL; + props.eu_stall_sampling_rate = 4; + props.poll_period = DEFAULT_POLL_PERIOD_NS; + props.event_report_count = 1; + ret = xe_eu_stall_user_extensions(xe, data, &props); if (ret) return ret; @@ -257,19 +927,9 @@ int xe_eu_stall_stream_open(struct drm_device *dev, return -EINVAL; } - if (xe_observation_paranoid && !perfmon_capable()) { - xe_gt_dbg(props.gt, "Insufficient privileges for EU stall monitoring\n"); - return -EACCES; - } - - if (!has_eu_stall_sampling_support(xe)) { - xe_gt_dbg(props.gt, "EU stall monitoring is not supported on this platform\n"); - return -EPERM; - } - stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall, - NULL, 0); - if (stream_fd < 0) - xe_gt_dbg(props.gt, "EU stall inode get fd failed : %d\n", stream_fd); + mutex_lock(&props.gt->eu_stall_cntr->lock); + ret = xe_eu_stall_stream_open_locked(dev, &props, file); + mutex_unlock(&props.gt->eu_stall_cntr->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 70fc89480df2..ca83fe487278 100644 --- a/drivers/gpu/drm/xe/xe_eu_stall.h +++ b/drivers/gpu/drm/xe/xe_eu_stall.h @@ -6,6 +6,52 @@ #ifndef __XE_EU_STALL_H__ #define __XE_EU_STALL_H__ +#include "xe_gt_types.h" + +struct per_xecore_buf { + u8 *vaddr; + u32 write; + u32 read; + /* lock to protect read and write pointers */ + struct mutex lock; +}; + +/** + * struct xe_eu_stall_data_stream - state of EU stall data stream FD + */ +struct xe_eu_stall_data_stream { + bool pollin; + bool enabled; + u64 poll_period; + u32 event_report_count; + size_t per_xecore_buf_size; + wait_queue_head_t poll_wq; + + struct xe_gt *gt; + struct xe_bo *bo; + struct per_xecore_buf *xecore_buf; + struct { + bool reported_to_user; + xe_dss_mask_t mask; + /* lock to protect mask */ + spinlock_t lock; + } data_drop; + struct hrtimer poll_check_timer; + struct work_struct buf_check_work; + struct workqueue_struct *buf_check_wq; +}; + +struct xe_eu_stall_cntr_gt { + /* Lock to protect stream */ + struct mutex lock; + + /* Execution Unit (EU) stall data stream */ + struct xe_eu_stall_data_stream *stream; +}; + +int xe_eu_stall_init(struct xe_gt *gt); +void xe_eu_stall_fini(struct xe_gt *gt); + int xe_eu_stall_stream_open(struct drm_device *dev, u64 data, struct drm_file *file); diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c index 1c79660fb086..968ad733f49d 100644 --- a/drivers/gpu/drm/xe/xe_gt.c +++ b/drivers/gpu/drm/xe/xe_gt.c @@ -59,6 +59,7 @@ #include "xe_vm.h" #include "xe_wa.h" #include "xe_wopcm.h" +#include "xe_eu_stall.h" static void gt_fini(struct drm_device *drm, void *arg) { @@ -157,6 +158,7 @@ void xe_gt_remove(struct xe_gt *gt) xe_hw_fence_irq_finish(>->fence_irq[i]); xe_gt_disable_host_l2_vram(gt); + xe_eu_stall_fini(gt); } static void gt_reset_worker(struct work_struct *w); @@ -619,6 +621,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 a287b98ee70b..8160fa894409 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_cntr: EU stall counters subsystem per gt info */ + struct xe_eu_stall_cntr_gt *eu_stall_cntr; }; #endif diff --git a/drivers/gpu/drm/xe/xe_trace.h b/drivers/gpu/drm/xe/xe_trace.h index 91130ad8999c..e65bdd916d00 100644 --- a/drivers/gpu/drm/xe/xe_trace.h +++ b/drivers/gpu/drm/xe/xe_trace.h @@ -422,6 +422,41 @@ DEFINE_EVENT(xe_pm_runtime, xe_pm_runtime_get_ioctl, TP_ARGS(xe, caller) ); +TRACE_EVENT(xe_eu_stall_cntr_read, + TP_PROTO(u8 slice, u8 subslice, + u32 read_ptr, u32 write_ptr, + u32 read_offset, u32 write_offset, + size_t total_size), + TP_ARGS(slice, subslice, read_ptr, write_ptr, + read_offset, write_offset, total_size), + + TP_STRUCT__entry( + __field(u8, slice) + __field(u8, subslice) + __field(u32, read_ptr) + __field(u32, write_ptr) + __field(u32, read_offset) + __field(u32, write_offset) + __field(size_t, total_size) + ), + + TP_fast_assign( + __entry->slice = slice; + __entry->subslice = subslice; + __entry->read_ptr = read_ptr; + __entry->write_ptr = write_ptr; + __entry->read_offset = read_offset; + __entry->write_offset = write_offset; + __entry->total_size = total_size; + ), + + TP_printk("slice:%u subslice:%u readptr:0x%x writeptr:0x%x read off:%u write off:%u size:%zu ", + __entry->slice, __entry->subslice, + __entry->read_ptr, __entry->write_ptr, + __entry->read_offset, __entry->write_offset, + __entry->total_size) +); + #endif /* This part must be outside protection */ -- 2.45.1 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [PATCH v4 3/5] drm/xe/eustall: Implement EU stall sampling APIs 2024-10-14 6:00 ` [PATCH v4 3/5] drm/xe/eustall: Implement EU stall sampling APIs Harish Chegondi @ 2024-10-18 23:31 ` Matt Roper 0 siblings, 0 replies; 30+ messages in thread From: Matt Roper @ 2024-10-18 23:31 UTC (permalink / raw) To: Harish Chegondi Cc: intel-xe, ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Sun, Oct 13, 2024 at 11:00:34PM -0700, Harish Chegondi wrote: > Add support to the EU stall sampling APIs introduced in > the previous patch. Add register definitions and the code > that accesses these registers to the APIs. You should make it clear in the subject / commit message that this is only enabling stall sampling for Xe_HPC, Xe2, and beyond. It might actually be best if this patch only enabled Xe_HPC, and then a separate follow-up patch added the deltas necessary for Xe2. That would make it easier to ensure we don't miss anything. > > A timer thread periodically polls the EU stall data buffer write pointer > registers to look for any new data and caches the write pointer. The read > function compares the cached read and write pointers and copies any new > data to the user space. 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. > The driver read() returns -EIO error to let the user space know that > the hardware has dropped data. A subsequent read by the user space returns > the remaining EU stall data. > > Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> > --- > drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h | 29 + > drivers/gpu/drm/xe/xe_eu_stall.c | 710 ++++++++++++++++++++- > drivers/gpu/drm/xe/xe_eu_stall.h | 46 ++ > drivers/gpu/drm/xe/xe_gt.c | 6 + > drivers/gpu/drm/xe/xe_gt_types.h | 3 + > drivers/gpu/drm/xe/xe_trace.h | 35 + > 6 files changed, 804 insertions(+), 25 deletions(-) > create mode 100644 drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h > > diff --git a/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h b/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h > new file mode 100644 > index 000000000000..2b742890b283 > --- /dev/null > +++ b/drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h > @@ -0,0 +1,29 @@ > +/* SPDX-License-Identifier: MIT */ > +/* > + * Copyright © 2024 Intel Corporation > + */ > + > +#ifndef _XE_EU_STALL_REGS_H_ > +#define _XE_EU_STALL_REGS_H_ > + > +#include "regs/xe_reg_defs.h" > + > +#define XEHPC_EUSTALL_BASE XE_REG_MCR(0xe520) > +#define XEHPC_EUSTALL_BASE_BUF_ADDR REG_GENMASK(31, 6) > +#define XEHPC_EUSTALL_BASE_XECORE_BUF_SZ REG_GENMASK(5, 3) > +#define XEHPC_EUSTALL_BASE_ENABLE_SAMPLING REG_BIT(1) > + > +#define XEHPC_EUSTALL_BASE_UPPER XE_REG_MCR(0xe524) > + > +#define XEHPC_EUSTALL_REPORT XE_REG_MCR(0xe528, XE_REG_OPTION_MASKED) > +#define XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK REG_GENMASK(15, 2) > +#define XEHPC_EUSTALL_REPORT_OVERFLOW_DROP REG_BIT(1) > + > +#define XEHPC_EUSTALL_REPORT1 XE_REG_MCR(0xe52c, XE_REG_OPTION_MASKED) > +#define XEHPC_EUSTALL_REPORT1_READ_PTR_MASK REG_GENMASK(15, 2) > + > +#define XEHPC_EUSTALL_CTRL XE_REG_MCR(0xe53c, XE_REG_OPTION_MASKED) > +#define EUSTALL_MOCS REG_GENMASK(9, 3) > +#define EUSTALL_SAMPLE_RATE REG_GENMASK(2, 0) > + > +#endif > diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c > index 5e4c90f9614d..6a730ffa6d2f 100644 > --- a/drivers/gpu/drm/xe/xe_eu_stall.c > +++ b/drivers/gpu/drm/xe/xe_eu_stall.c > @@ -8,15 +8,27 @@ > #include <linux/poll.h> > #include <linux/fs.h> > > +#include <drm/drm_drv.h> > #include <uapi/drm/xe_drm.h> > > +#include "xe_bo.h" > +#include "xe_pm.h" > +#include "xe_trace.h" > #include "xe_macros.h" > #include "xe_device.h" > +#include "xe_gt_mcr.h" > #include "xe_eu_stall.h" > #include "xe_gt_printk.h" > +#include "xe_force_wake.h" > #include "xe_gt_topology.h" > #include "xe_observation.h" > > +#include "regs/xe_gt_regs.h" > +#include "regs/xe_eu_stall_regs.h" > + > +#define DEFAULT_POLL_FREQUENCY_HZ 100 > +#define DEFAULT_POLL_PERIOD_NS (NSEC_PER_SEC / DEFAULT_POLL_FREQUENCY_HZ) > + > /** > * struct eu_stall_open_properties > * > @@ -45,6 +57,22 @@ num_data_rows(u32 data_size) > return (data_size >> 6); > } > > +int xe_eu_stall_init(struct xe_gt *gt) > +{ > + gt->eu_stall_cntr = kzalloc(sizeof(*gt->eu_stall_cntr), GFP_KERNEL); Nitpick; like Jani mentioned on a different series recently, abbreviating words in ways that aren't already widely-used makes things a bit harder to read. Every time I see 'cntr' I read it as "control" before I remember that it's supposed to be "counter." I don't think we're really saving enough characters to make it worth abbreviating. Writing this out as "counter" would probably be best. > + if (!gt->eu_stall_cntr) > + return -ENOMEM; > + > + mutex_init(>->eu_stall_cntr->lock); > + return 0; > +} > + > +void xe_eu_stall_fini(struct xe_gt *gt) > +{ > + mutex_destroy(>->eu_stall_cntr->lock); > + kfree(gt->eu_stall_cntr); > +} > + > static int set_prop_eu_stall_sampling_rate(struct xe_device *xe, u64 value, > struct eu_stall_open_properties *props) > { > @@ -152,6 +180,229 @@ 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 > + * of size buf_size given the read and write pointers > + * into the buffer. > + * > + * @read_ptr: Read pointer. Uses an additional overflow bit > + * @write_ptr: Write pointer. Uses an additional overflow bit @buf_size is missing from the kerneldoc. Presumably this function only works if the size is a power of 2? The "uses an additional overflow bit" doesn't seem to be explained or used in the code below. > + * > + * Returns: number of bytes of data in the buffer > + */ > +static u32 > +buf_data_size(size_t buf_size, u32 read_ptr, u32 write_ptr) > +{ > + u32 read_offset, write_offset, size = 0; > + > + read_offset = read_ptr & (buf_size - 1); > + write_offset = write_ptr & (buf_size - 1); > + > + if (write_offset > read_offset) > + size = write_offset - read_offset; > + else > + size = buf_size - read_offset + write_offset; > + > + return size; > +} > + > +/** > + * eu_stall_data_buf_check - check for EU stall data in the buffer > + * > + * @stream: xe EU stall data stream instance > + * > + * Returns: true if the EU stall buffer contains minimum stall data as > + * specified by the event report count, else false. > + */ > +static bool > +eu_stall_data_buf_check(struct xe_eu_stall_data_stream *stream) > +{ > + u32 read_ptr, write_ptr_reg, write_ptr, total_data = 0; > + u32 buf_size = stream->per_xecore_buf_size; > + struct xe_gt *gt = stream->gt; > + struct per_xecore_buf *xecore_buf; > + bool min_data_present; > + u16 group, instance; > + unsigned int xecore; > + > + min_data_present = false; > + for_each_dss_steering(xecore, gt, group, instance) { > + xecore_buf = &stream->xecore_buf[xecore]; > + mutex_lock(&xecore_buf->lock); > + read_ptr = xecore_buf->read; > + write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, > + group, instance); > + write_ptr = REG_FIELD_GET(XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK, write_ptr_reg); > + write_ptr <<= 6; > + write_ptr &= ((buf_size << 1) - 1); > + if ((write_ptr != read_ptr) && !min_data_present) { > + total_data += buf_data_size(buf_size, read_ptr, write_ptr); > + /* > + * Check if there are at least minimum number of stall data > + * rows for poll() to indicate that the data is present. > + * Each stall data row is 64B (cacheline size). > + */ > + if (num_data_rows(total_data) >= stream->event_report_count) > + min_data_present = true; > + } > + if (write_ptr_reg & XEHPC_EUSTALL_REPORT_OVERFLOW_DROP) { > + spin_lock(&stream->data_drop.lock); > + set_bit(xecore, stream->data_drop.mask); > + spin_unlock(&stream->data_drop.lock); Do we need the spinlock for this mask? I believe set_bit and clear_bit are supposed to be atomic already. I haven't fully reviewed this patch yet; there's a lot going on here, so I'll need to come back and look at it more closely later. Matt > + } > + xecore_buf->write = write_ptr; > + mutex_unlock(&xecore_buf->lock); > + } > + return min_data_present; > +} > + > +static void > +clear_dropped_eviction_line_bit(struct xe_gt *gt, u16 group, u16 instance) > +{ > + 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. > + * On other GPUs, the bit has to be cleared by writing 0 to it. > + */ > + if (GRAPHICS_VER(xe) >= 20) > + write_ptr_reg = _MASKED_BIT_DISABLE(XEHPC_EUSTALL_REPORT_OVERFLOW_DROP); > + else > + write_ptr_reg = _MASKED_BIT_ENABLE(XEHPC_EUSTALL_REPORT_OVERFLOW_DROP); > + > + xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT, write_ptr_reg, group, instance); > +} > + > +static int > +xe_eu_stall_data_buf_read(struct xe_eu_stall_data_stream *stream, > + char __user *buf, size_t count, > + size_t *total_size, struct xe_gt *gt, > + u16 group, u16 instance, unsigned int xecore) > +{ > + u32 read_ptr_reg, read_ptr, write_ptr; > + u8 *xecore_start_vaddr, *read_vaddr; > + u32 read_offset, write_offset; > + struct per_xecore_buf *xecore_buf; > + size_t size, buf_size; > + > + /* Hardware increments the read and write pointers such that they can > + * overflow into one additional bit. For example, a 256KB size buffer > + * offset pointer needs 18 bits. But HW uses 19 bits for the read and > + * write pointers. This technique avoids wasting a slot in the buffer. > + * Read and write offsets are calculated from the pointers in order to > + * check if the write pointer has wrapped around the array. > + */ > + xecore_buf = &stream->xecore_buf[xecore]; > + mutex_lock(&xecore_buf->lock); > + xecore_start_vaddr = xecore_buf->vaddr; > + read_ptr = xecore_buf->read; > + write_ptr = xecore_buf->write; > + buf_size = stream->per_xecore_buf_size; > + read_offset = read_ptr & (buf_size - 1); > + write_offset = write_ptr & (buf_size - 1); > + > + if (write_ptr == read_ptr) { > + mutex_unlock(&xecore_buf->lock); > + return 0; > + } > + > + trace_xe_eu_stall_cntr_read(group, instance, read_ptr, write_ptr, > + read_offset, write_offset, *total_size); > + /* If write pointer offset is less than the read pointer offset, > + * it means, write pointer has wrapped around the array. > + */ > + if (write_offset > read_offset) > + size = write_offset - read_offset; > + else > + size = buf_size - read_offset + write_offset; > + > + /* Read only the data that the user space buffer can accommodate */ > + if ((*total_size + size) > count) { > + mutex_unlock(&xecore_buf->lock); > + return 0; > + } > + > + read_vaddr = xecore_start_vaddr + read_offset; > + > + if (write_offset > read_offset) { > + if (copy_to_user((buf + *total_size), read_vaddr, size)) { > + mutex_unlock(&xecore_buf->lock); > + return -EFAULT; > + } > + } else { > + if (copy_to_user((buf + *total_size), read_vaddr, (buf_size - read_offset))) { > + mutex_unlock(&xecore_buf->lock); > + return -EFAULT; > + } > + if (copy_to_user((buf + *total_size), xecore_start_vaddr, write_offset)) { > + mutex_unlock(&xecore_buf->lock); > + return -EFAULT; > + } > + } > + > + *total_size += size; > + read_ptr += size; > + > + /* Read pointer can overflow into one additional bit */ > + read_ptr &= ((buf_size << 1) - 1); > + read_ptr_reg = REG_FIELD_PREP(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, (read_ptr >> 6)); > + read_ptr_reg &= XEHPC_EUSTALL_REPORT1_READ_PTR_MASK; > + read_ptr_reg = _MASKED_FIELD(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, read_ptr_reg); > + xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT1, read_ptr_reg, group, instance); > + if (test_bit(xecore, stream->data_drop.mask)) { > + clear_dropped_eviction_line_bit(gt, group, instance); > + spin_lock(&stream->data_drop.lock); > + clear_bit(xecore, stream->data_drop.mask); > + spin_unlock(&stream->data_drop.lock); > + } > + xecore_buf->read = read_ptr; > + mutex_unlock(&xecore_buf->lock); > + trace_xe_eu_stall_cntr_read(group, instance, read_ptr, write_ptr, > + read_offset, write_offset, *total_size); > + return 0; > +} > + > +/** > + * xe_eu_stall_stream_read_locked - copy EU stall counters data from the > + * per xecore buffers to the userspace buffer > + * @stream: A stream opened for EU stall count metrics > + * @buf: destination buffer given by userspace > + * @count: the number of bytes userspace wants to read > + * @ppos: (inout) file seek position (unused) > + * > + * Returns: Number of bytes copied or a negative error code > + * If we've successfully copied any data then reporting that takes > + * precedence over any internal error status, so the data isn't lost. > + */ > +static ssize_t > +xe_eu_stall_stream_read_locked(struct xe_eu_stall_data_stream *stream, > + struct file *file, char __user *buf, > + size_t count, loff_t *ppos) > +{ > + struct xe_gt *gt = stream->gt; > + size_t total_size = 0; > + u16 group, instance; > + unsigned int xecore; > + int ret = 0; > + > + if (count == 0) > + return -EINVAL; > + > + for_each_dss_steering(xecore, gt, group, instance) { > + ret = xe_eu_stall_data_buf_read(stream, buf, count, &total_size, > + gt, group, instance, xecore); > + if (ret || count == total_size) > + goto exit; > + } > +exit: > + if (total_size) > + return total_size; > + else if (ret) > + return ret; > + else > + return -EAGAIN; > +} > + > /** > * xe_eu_stall_stream_read - handles userspace read() of a EU stall data stream fd. > * > @@ -165,11 +416,263 @@ static int xe_eu_stall_user_extensions(struct xe_device *xe, u64 extension, > static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf, > size_t count, loff_t *ppos) > { > - ssize_t ret = 0; > + struct xe_eu_stall_data_stream *stream = file->private_data; > + struct xe_gt *gt = stream->gt; > + ssize_t ret; > + > + if (!stream->enabled) { > + xe_gt_dbg(gt, "EU stall data stream not enabled to read\n"); > + return -EINVAL; > + } > + > + if (bitmap_weight(stream->data_drop.mask, XE_MAX_DSS_FUSE_BITS)) { > + if (!stream->data_drop.reported_to_user) { > + stream->data_drop.reported_to_user = true; > + xe_gt_dbg(gt, "EU stall data dropped in XeCores: %*pb\n", > + XE_MAX_DSS_FUSE_BITS, stream->data_drop.mask); > + return -EIO; > + } > + stream->data_drop.reported_to_user = false; > + } > + > + if (!(file->f_flags & O_NONBLOCK)) { > + do { > + if (!stream->pollin) { > + ret = wait_event_interruptible(stream->poll_wq, stream->pollin); > + if (ret) > + return -EINTR; > + } > + > + mutex_lock(>->eu_stall_cntr->lock); > + ret = xe_eu_stall_stream_read_locked(stream, file, buf, count, ppos); > + mutex_unlock(>->eu_stall_cntr->lock); > + } while (ret == -EAGAIN); > + } else { > + mutex_lock(>->eu_stall_cntr->lock); > + ret = xe_eu_stall_stream_read_locked(stream, file, buf, count, ppos); > + mutex_unlock(>->eu_stall_cntr->lock); > + } > + > + stream->pollin = false; > > return ret; > } > > +static void > +free_eu_stall_cntr_buf(struct xe_eu_stall_data_stream *stream) > +{ > + if (stream->bo) { > + xe_bo_unpin_map_no_vm(stream->bo); > + stream->bo = NULL; > + } > + destroy_workqueue(stream->buf_check_wq); > +} > + > +static int alloc_eu_stall_data_buf(struct xe_eu_stall_data_stream *stream, > + u16 num_xecore) > +{ > + struct xe_tile *tile = stream->gt->tile; > + struct xe_bo *bo; > + u32 size; > + > + size = stream->per_xecore_buf_size * num_xecore; > + > + bo = xe_bo_create_pin_map(tile->xe, tile, NULL, > + size, ttm_bo_type_kernel, > + XE_BO_FLAG_SYSTEM | > + XE_BO_FLAG_GGTT); > + if (IS_ERR(bo)) > + return PTR_ERR(bo); > + > + stream->bo = bo; > + > + return 0; > +} > + > +static u32 > +gen_eustall_base(struct xe_eu_stall_data_stream *stream, bool enable) > +{ > + u32 val = xe_bo_ggtt_addr(stream->bo); > + u32 sz; > + > + XE_WARN_ON(!IS_ALIGNED(val, 64)); > + > + switch (stream->per_xecore_buf_size) { > + case SZ_128K: > + sz = 0; > + break; > + case SZ_256K: > + sz = 1; > + break; > + case SZ_512K: > + sz = 2; > + break; > + default: > + xe_gt_warn(stream->gt, "Missing case per XeCore buffer size == %lu)\n", > + (long)(stream->per_xecore_buf_size)); > + sz = 2; > + } > + > + val |= REG_FIELD_PREP(XEHPC_EUSTALL_BASE_XECORE_BUF_SZ, sz); > + if (enable) > + val |= XEHPC_EUSTALL_BASE_ENABLE_SAMPLING; > + > + return val; > +} > + > +static void > +xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream) > +{ > + struct xe_gt *gt = stream->gt; > + u32 reg_value; > + > + /* Take runtime pm ref and forcewake to disable RC6 */ > + xe_pm_runtime_get(gt_to_xe(gt)); > + XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FW_RENDER)); > + > + reg_value = gen_eustall_base(stream, true); > + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value); > +} > + > +static void > +xe_eu_stall_stream_disable(struct xe_eu_stall_data_stream *stream) > +{ > + struct xe_gt *gt = stream->gt; > + u16 group, instance; > + unsigned int xecore; > + u32 reg_value; > + > + /* > + * Before disabling EU stall sampling, check if any of the > + * XEHPC_EUSTALL_REPORT registers have the drop bit set. If set, > + * clear the bit. If the user space application reads all the > + * stall data, the drop bit would be cleared during the read. > + * But if there is any unread data and the drop bit is set for > + * any subslice, the drop bit would continue to be set even > + * after disabling EU stall sampling and may cause erroneous > + * stall data in the subsequent stall data sampling run. > + */ > + for_each_dss_steering(xecore, gt, group, instance) { > + reg_value = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, > + group, instance); > + if (reg_value & XEHPC_EUSTALL_REPORT_OVERFLOW_DROP) > + clear_dropped_eviction_line_bit(gt, group, instance); > + } > + reg_value = gen_eustall_base(stream, false); > + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value); > + > + XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FW_RENDER)); > + xe_pm_runtime_put(gt_to_xe(gt)); > +} > + > +static void eu_stall_buf_check_work_fn(struct work_struct *work) > +{ > + struct xe_eu_stall_data_stream *stream = > + container_of(work, typeof(*stream), buf_check_work); > + > + if (eu_stall_data_buf_check(stream)) { > + stream->pollin = true; > + wake_up(&stream->poll_wq); > + } > +} > + > +static enum > +hrtimer_restart eu_stall_poll_check_timer_cb(struct hrtimer *hrtimer) > +{ > + struct xe_eu_stall_data_stream *stream = > + container_of(hrtimer, typeof(*stream), poll_check_timer); > + > + queue_work(stream->buf_check_wq, &stream->buf_check_work); > + hrtimer_forward_now(hrtimer, ns_to_ktime(stream->poll_period)); > + > + return HRTIMER_RESTART; > +} > + > +static int xe_eu_stall_stream_init(struct xe_eu_stall_data_stream *stream, > + struct eu_stall_open_properties *props, > + u16 num_xecore) > +{ > + u32 write_ptr_reg, write_ptr, read_ptr_reg; > + u32 vaddr_offset, base_reg_value; > + struct xe_gt *gt = stream->gt; > + struct per_xecore_buf *xecore_buf; > + u16 group, instance; > + int ret, xecore; > + > + init_waitqueue_head(&stream->poll_wq); > + INIT_WORK(&stream->buf_check_work, eu_stall_buf_check_work_fn); > + stream->buf_check_wq = alloc_ordered_workqueue("xe_eustall_cntr", 0); > + if (!stream->buf_check_wq) > + return -ENOMEM; > + hrtimer_init(&stream->poll_check_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); > + stream->poll_check_timer.function = eu_stall_poll_check_timer_cb; > + stream->event_report_count = props->event_report_count; > + stream->per_xecore_buf_size = SZ_512K; > + stream->poll_period = props->poll_period; > + > + ret = alloc_eu_stall_data_buf(stream, num_xecore); > + if (ret) > + return ret; > + > + stream->xecore_buf = kcalloc(num_xecore, sizeof(*stream->xecore_buf), GFP_KERNEL); > + if (!stream->xecore_buf) > + return -ENOMEM; > + > + spin_lock_init(&stream->data_drop.lock); > + stream->data_drop.reported_to_user = false; > + bitmap_zero(stream->data_drop.mask, XE_MAX_DSS_FUSE_BITS); > + > + xe_pm_runtime_get(gt_to_xe(gt)); > + XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL)); > + > + base_reg_value = gen_eustall_base(stream, false); > + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, base_reg_value); > + /* GGTT addresses can never be > 32 bits */ > + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE_UPPER, 0); > + base_reg_value = _MASKED_FIELD(EUSTALL_MOCS | EUSTALL_SAMPLE_RATE, > + REG_FIELD_PREP(EUSTALL_MOCS, gt->mocs.uc_index << 1) | > + REG_FIELD_PREP(EUSTALL_SAMPLE_RATE, > + props->eu_stall_sampling_rate)); > + xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_CTRL, base_reg_value); > + > + for_each_dss_steering(xecore, gt, group, instance) { > + write_ptr_reg = xe_gt_mcr_unicast_read(gt, XEHPC_EUSTALL_REPORT, > + group, instance); > + write_ptr = REG_FIELD_GET(XEHPC_EUSTALL_REPORT_WRITE_PTR_MASK, write_ptr_reg); > + write_ptr <<= 6; > + write_ptr &= ((stream->per_xecore_buf_size << 1) - 1); > + read_ptr_reg = write_ptr >> 6; > + read_ptr_reg = REG_FIELD_PREP(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, write_ptr); > + read_ptr_reg &= XEHPC_EUSTALL_REPORT1_READ_PTR_MASK; > + read_ptr_reg = _MASKED_FIELD(XEHPC_EUSTALL_REPORT1_READ_PTR_MASK, read_ptr_reg); > + xe_gt_mcr_unicast_write(gt, XEHPC_EUSTALL_REPORT1, > + read_ptr_reg, group, instance); > + xecore_buf = &stream->xecore_buf[xecore]; > + vaddr_offset = xecore * stream->per_xecore_buf_size; > + xecore_buf->vaddr = stream->bo->vmap.vaddr + vaddr_offset; > + xecore_buf->write = write_ptr; > + xecore_buf->read = write_ptr; > + mutex_init(&xecore_buf->lock); > + } > + XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL)); > + xe_pm_runtime_put(gt_to_xe(gt)); > + return 0; > +} > + > +static __poll_t > +xe_eu_stall_stream_poll_locked(struct xe_eu_stall_data_stream *stream, > + struct file *file, poll_table *wait) > +{ > + __poll_t events = 0; > + > + poll_wait(file, &stream->poll_wq, wait); > + > + if (stream->pollin) > + events |= EPOLLIN; > + > + return events; > +} > + > /** > * xe_eu_stall_stream_poll - handles userspace poll() of a EU stall data stream fd. > * > @@ -181,11 +684,60 @@ static ssize_t xe_eu_stall_stream_read(struct file *file, char __user *buf, > static __poll_t > xe_eu_stall_stream_poll(struct file *file, poll_table *wait) > { > - __poll_t ret = 0; > + struct xe_eu_stall_data_stream *stream = file->private_data; > + struct xe_gt *gt = stream->gt; > + __poll_t ret; > + > + mutex_lock(>->eu_stall_cntr->lock); > + ret = xe_eu_stall_stream_poll_locked(stream, file, wait); > + mutex_unlock(>->eu_stall_cntr->lock); > > return ret; > } > > +static void > +xe_eu_stall_cntr_enable_locked(struct xe_eu_stall_data_stream *stream) > +{ > + if (stream->enabled) > + return; > + > + stream->enabled = true; > + > + xe_eu_stall_stream_enable(stream); > + hrtimer_start(&stream->poll_check_timer, > + ns_to_ktime(stream->poll_period), > + HRTIMER_MODE_REL); > +} > + > +static void > +xe_eu_stall_cntr_disable_locked(struct xe_eu_stall_data_stream *stream) > +{ > + if (!stream->enabled) > + return; > + > + stream->enabled = false; > + > + hrtimer_cancel(&stream->poll_check_timer); > + flush_workqueue(stream->buf_check_wq); > + xe_eu_stall_stream_disable(stream); > +} > + > +static long > +xe_eu_stall_stream_ioctl_locked(struct xe_eu_stall_data_stream *stream, > + unsigned int cmd, unsigned long arg) > +{ > + switch (cmd) { > + case DRM_XE_OBSERVATION_IOCTL_ENABLE: > + xe_eu_stall_cntr_enable_locked(stream); > + return 0; > + case DRM_XE_OBSERVATION_IOCTL_DISABLE: > + xe_eu_stall_cntr_disable_locked(stream); > + return 0; > + } > + > + return -EINVAL; > +} > + > /** > * xe_eu_stall_stream_ioctl - support ioctl() usage with xe EU stall data > * stream fd > @@ -200,14 +752,22 @@ static long xe_eu_stall_stream_ioctl(struct file *file, > unsigned int cmd, > unsigned long arg) > { > - switch (cmd) { > - case DRM_XE_OBSERVATION_IOCTL_ENABLE: > - return 0; > - case DRM_XE_OBSERVATION_IOCTL_DISABLE: > - return 0; > - } > + struct xe_eu_stall_data_stream *stream = file->private_data; > + struct xe_gt *gt = stream->gt; > + long ret; > > - return -EINVAL; > + mutex_lock(>->eu_stall_cntr->lock); > + ret = xe_eu_stall_stream_ioctl_locked(stream, cmd, arg); > + mutex_unlock(>->eu_stall_cntr->lock); > + > + return ret; > +} > + > +static void > +xe_eu_stall_stream_close_locked(struct xe_eu_stall_data_stream *stream) > +{ > + xe_eu_stall_cntr_disable_locked(stream); > + free_eu_stall_cntr_buf(stream); > } > > /** > @@ -220,6 +780,19 @@ static long xe_eu_stall_stream_ioctl(struct file *file, > */ > static int xe_eu_stall_stream_close(struct inode *inode, struct file *file) > { > + struct xe_eu_stall_data_stream *stream = file->private_data; > + struct xe_gt *gt = stream->gt; > + > + mutex_lock(>->eu_stall_cntr->lock); > + xe_eu_stall_stream_close_locked(stream); > + kfree(stream->xecore_buf); > + kfree(stream); > + gt->eu_stall_cntr->stream = NULL; > + mutex_unlock(>->eu_stall_cntr->lock); > + > + /* Release the reference the EU stall stream kept on the driver */ > + drm_dev_put(>->tile->xe->drm); > + > return 0; > } > > @@ -235,7 +808,98 @@ 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 || GRAPHICS_VER(xe) >= 20) ? true : false); > +} > + > +/** > + * xe_eu_stall_stream_open_locked - Open a EU stall data stream FD. > + * @dev: drm device instance > + * @props: individually validated u64 property value pairs > + * @file: drm file > + * > + * Returns: zero on success or a negative error code. > + */ > +static int > +xe_eu_stall_stream_open_locked(struct drm_device *dev, > + struct eu_stall_open_properties *props, > + struct drm_file *file) > +{ > + struct xe_device *xe = to_xe_device(dev); > + struct xe_eu_stall_data_stream *stream; > + struct xe_gt *gt = props->gt; > + unsigned long f_flags = 0; > + xe_dss_mask_t all_xecore; > + int ret, stream_fd; > + u32 gt_buf_size; > + u16 num_xecore; > + > + if (!has_eu_stall_sampling_support(xe)) { > + xe_gt_dbg(gt, "EU stall monitoring is not supported on this platform\n"); > + return -EPERM; > + } > + > + if (xe_observation_paranoid && !perfmon_capable()) { > + xe_gt_dbg(gt, "Insufficient privileges for EU stall monitoring\n"); > + return -EACCES; > + } > + > + /* Only one session can be active at any time */ > + if (gt->eu_stall_cntr->stream) { > + xe_gt_dbg(gt, "EU stall cntr session already active\n"); > + return -EBUSY; > + } > + > + bitmap_or(all_xecore, gt->fuse_topo.g_dss_mask, gt->fuse_topo.c_dss_mask, > + XE_MAX_DSS_FUSE_BITS); > + /* > + * Enabled subslices can be discontiguous. Find the last subslice > + * and calculate total buffer size based on that. > + */ > + num_xecore = xe_dss_mask_last_dss(all_xecore) + 1; > + gt_buf_size = SZ_512K * num_xecore; > + if (props->event_report_count > num_data_rows(gt_buf_size)) { > + xe_gt_dbg(gt, "Invalid EU stall data poll event report count %u\n", > + props->event_report_count); > + xe_gt_dbg(gt, "Maximum event report count for the given buffer size is %u\n", > + num_data_rows(gt_buf_size)); > + return -EINVAL; > + } > + > + stream = kzalloc(sizeof(*stream), GFP_KERNEL); > + if (!stream) > + return -ENOMEM; > + > + gt->eu_stall_cntr->stream = stream; > + stream->gt = gt; > + > + ret = xe_eu_stall_stream_init(stream, props, num_xecore); > + if (ret) { > + xe_gt_dbg(gt, "EU stall stream init failed : %d\n", ret); > + goto err_alloc; > + } > + > + stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall, > + stream, f_flags); > + if (stream_fd < 0) { > + ret = stream_fd; > + xe_gt_dbg(gt, "EU stall inode get fd failed : %d\n", ret); > + goto err_open; > + } > + > + /* Take a reference on the driver that will be kept with stream_fd > + * until its release. > + */ > + drm_dev_get(>->tile->xe->drm); > + > + return stream_fd; > + > +err_open: > + free_eu_stall_cntr_buf(stream); > +err_alloc: > + gt->eu_stall_cntr->stream = NULL; > + kfree(stream->xecore_buf); > + kfree(stream); > + return ret; > } > > int xe_eu_stall_stream_open(struct drm_device *dev, > @@ -244,10 +908,16 @@ int xe_eu_stall_stream_open(struct drm_device *dev, > { > struct xe_device *xe = to_xe_device(dev); > struct eu_stall_open_properties props; > - int ret, stream_fd; > + int ret; > > memset(&props, 0, sizeof(struct eu_stall_open_properties)); > > + /* Set default values */ > + props.gt = NULL; > + props.eu_stall_sampling_rate = 4; > + props.poll_period = DEFAULT_POLL_PERIOD_NS; > + props.event_report_count = 1; > + > ret = xe_eu_stall_user_extensions(xe, data, &props); > if (ret) > return ret; > @@ -257,19 +927,9 @@ int xe_eu_stall_stream_open(struct drm_device *dev, > return -EINVAL; > } > > - if (xe_observation_paranoid && !perfmon_capable()) { > - xe_gt_dbg(props.gt, "Insufficient privileges for EU stall monitoring\n"); > - return -EACCES; > - } > - > - if (!has_eu_stall_sampling_support(xe)) { > - xe_gt_dbg(props.gt, "EU stall monitoring is not supported on this platform\n"); > - return -EPERM; > - } > - stream_fd = anon_inode_getfd("[xe_eu_stall]", &fops_eu_stall, > - NULL, 0); > - if (stream_fd < 0) > - xe_gt_dbg(props.gt, "EU stall inode get fd failed : %d\n", stream_fd); > + mutex_lock(&props.gt->eu_stall_cntr->lock); > + ret = xe_eu_stall_stream_open_locked(dev, &props, file); > + mutex_unlock(&props.gt->eu_stall_cntr->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 70fc89480df2..ca83fe487278 100644 > --- a/drivers/gpu/drm/xe/xe_eu_stall.h > +++ b/drivers/gpu/drm/xe/xe_eu_stall.h > @@ -6,6 +6,52 @@ > #ifndef __XE_EU_STALL_H__ > #define __XE_EU_STALL_H__ > > +#include "xe_gt_types.h" > + > +struct per_xecore_buf { > + u8 *vaddr; > + u32 write; > + u32 read; > + /* lock to protect read and write pointers */ > + struct mutex lock; > +}; > + > +/** > + * struct xe_eu_stall_data_stream - state of EU stall data stream FD > + */ > +struct xe_eu_stall_data_stream { > + bool pollin; > + bool enabled; > + u64 poll_period; > + u32 event_report_count; > + size_t per_xecore_buf_size; > + wait_queue_head_t poll_wq; > + > + struct xe_gt *gt; > + struct xe_bo *bo; > + struct per_xecore_buf *xecore_buf; > + struct { > + bool reported_to_user; > + xe_dss_mask_t mask; > + /* lock to protect mask */ > + spinlock_t lock; > + } data_drop; > + struct hrtimer poll_check_timer; > + struct work_struct buf_check_work; > + struct workqueue_struct *buf_check_wq; > +}; > + > +struct xe_eu_stall_cntr_gt { > + /* Lock to protect stream */ > + struct mutex lock; > + > + /* Execution Unit (EU) stall data stream */ > + struct xe_eu_stall_data_stream *stream; > +}; > + > +int xe_eu_stall_init(struct xe_gt *gt); > +void xe_eu_stall_fini(struct xe_gt *gt); > + > int xe_eu_stall_stream_open(struct drm_device *dev, > u64 data, > struct drm_file *file); > diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c > index 1c79660fb086..968ad733f49d 100644 > --- a/drivers/gpu/drm/xe/xe_gt.c > +++ b/drivers/gpu/drm/xe/xe_gt.c > @@ -59,6 +59,7 @@ > #include "xe_vm.h" > #include "xe_wa.h" > #include "xe_wopcm.h" > +#include "xe_eu_stall.h" > > static void gt_fini(struct drm_device *drm, void *arg) > { > @@ -157,6 +158,7 @@ void xe_gt_remove(struct xe_gt *gt) > xe_hw_fence_irq_finish(>->fence_irq[i]); > > xe_gt_disable_host_l2_vram(gt); > + xe_eu_stall_fini(gt); > } > > static void gt_reset_worker(struct work_struct *w); > @@ -619,6 +621,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 a287b98ee70b..8160fa894409 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_cntr: EU stall counters subsystem per gt info */ > + struct xe_eu_stall_cntr_gt *eu_stall_cntr; > }; > > #endif > diff --git a/drivers/gpu/drm/xe/xe_trace.h b/drivers/gpu/drm/xe/xe_trace.h > index 91130ad8999c..e65bdd916d00 100644 > --- a/drivers/gpu/drm/xe/xe_trace.h > +++ b/drivers/gpu/drm/xe/xe_trace.h > @@ -422,6 +422,41 @@ DEFINE_EVENT(xe_pm_runtime, xe_pm_runtime_get_ioctl, > TP_ARGS(xe, caller) > ); > > +TRACE_EVENT(xe_eu_stall_cntr_read, > + TP_PROTO(u8 slice, u8 subslice, > + u32 read_ptr, u32 write_ptr, > + u32 read_offset, u32 write_offset, > + size_t total_size), > + TP_ARGS(slice, subslice, read_ptr, write_ptr, > + read_offset, write_offset, total_size), > + > + TP_STRUCT__entry( > + __field(u8, slice) > + __field(u8, subslice) > + __field(u32, read_ptr) > + __field(u32, write_ptr) > + __field(u32, read_offset) > + __field(u32, write_offset) > + __field(size_t, total_size) > + ), > + > + TP_fast_assign( > + __entry->slice = slice; > + __entry->subslice = subslice; > + __entry->read_ptr = read_ptr; > + __entry->write_ptr = write_ptr; > + __entry->read_offset = read_offset; > + __entry->write_offset = write_offset; > + __entry->total_size = total_size; > + ), > + > + TP_printk("slice:%u subslice:%u readptr:0x%x writeptr:0x%x read off:%u write off:%u size:%zu ", > + __entry->slice, __entry->subslice, > + __entry->read_ptr, __entry->write_ptr, > + __entry->read_offset, __entry->write_offset, > + __entry->total_size) > +); > + > #endif > > /* This part must be outside protection */ > -- > 2.45.1 > -- Matt Roper Graphics Software Engineer Linux GPU Platform Enablement Intel Corporation ^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH v4 4/5] drm/xe/query: Add a device query to get EU stall data information 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (2 preceding siblings ...) 2024-10-14 6:00 ` [PATCH v4 3/5] drm/xe/eustall: Implement EU stall sampling APIs Harish Chegondi @ 2024-10-14 6:00 ` Harish Chegondi 2024-10-14 21:39 ` Dixit, Ashutosh 2024-10-14 6:00 ` [PATCH v4 5/5] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi ` (8 subsequent siblings) 12 siblings, 1 reply; 30+ messages in thread From: Harish Chegondi @ 2024-10-14 6:00 UTC (permalink / raw) To: intel-xe Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar, Harish Chegondi User space can find the EU stall data record size and capabilities with the DRM_IOCTL_XE_DEVICE_QUERY with .query set to DRM_XE_DEVICE_QUERY_EU_STALL_SAMPLING. query data is returned in a struct drm_xe_query_eu_stall_data. Any capabilities in EU stall sampling as of this patch are considered as base capabilities. Any new capabilities added later will need a new capabilities flag. Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> --- drivers/gpu/drm/xe/xe_eu_stall.c | 80 ++++++++++++++++++++++++++++++++ drivers/gpu/drm/xe/xe_eu_stall.h | 2 + drivers/gpu/drm/xe/xe_query.c | 30 ++++++++++++ include/uapi/drm/xe_drm.h | 20 ++++++++ 4 files changed, 132 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c index 6a730ffa6d2f..1801b3c03f1f 100644 --- a/drivers/gpu/drm/xe/xe_eu_stall.c +++ b/drivers/gpu/drm/xe/xe_eu_stall.c @@ -45,6 +45,86 @@ struct eu_stall_open_properties { struct xe_gt *gt; }; +/** + * struct drm_xe_eu_stall_data_pvc - EU stall data format for PVC + * + * Bits Field + * 0 to 28 IP (addr) + * 29 to 36 active count + * 37 to 44 other count + * 45 to 52 control count + * 53 to 60 pipestall count + * 61 to 68 send count + * 69 to 76 dist_acc count + * 77 to 84 sbid count + * 85 to 92 sync count + * 93 to 100 inst_fetch count + */ +struct drm_xe_eu_stall_data_pvc { + __u64 ip_addr:29; + __u64 active_count:8; + __u64 other_count:8; + __u64 control_count:8; + __u64 pipestall_count:8; + __u64 send_count:8; + __u64 dist_acc_count:8; + __u64 sbid_count:8; + __u64 sync_count:8; + __u64 inst_fetch_count:8; + __u64 unused_bits:27; + __u64 unused[6]; +} __packed; + +/** + * struct drm_xe_eu_stall_data_xe2 - EU stall data format for LNL, BMG + * + * Bits Field + * 0 to 28 IP (addr) + * 29 to 36 Tdr count + * 37 to 44 other count + * 45 to 52 control count + * 53 to 60 pipestall count + * 61 to 68 send count + * 69 to 76 dist_acc count + * 77 to 84 sbid count + * 85 to 92 sync count + * 93 to 100 inst_fetch count + * 101 to 108 Active count + * 109 to 111 Exid + * 112 EndFlag (is always 1) + */ +struct drm_xe_eu_stall_data_xe2 { + __u64 ip_addr:29; + __u64 tdr_count:8; + __u64 other_count:8; + __u64 control_count:8; + __u64 pipestall_count:8; + __u64 send_count:8; + __u64 dist_acc_count:8; + __u64 sbid_count:8; + __u64 sync_count:8; + __u64 inst_fetch_count:8; + __u64 active_count:8; + __u64 ex_id:3; + __u64 end_flag:1; + __u64 unused_bits:15; + __u64 unused[6]; +} __packed; + +unsigned long +xe_eu_stall_data_record_size(struct xe_device *xe) +{ + enum xe_platform platform = xe->info.platform; + unsigned long record_size = 0; + + if (platform == XE_PVC) + record_size = sizeof(struct drm_xe_eu_stall_data_pvc); + else if ((platform == XE_LUNARLAKE) || (platform == XE_BATTLEMAGE)) + record_size = sizeof(struct drm_xe_eu_stall_data_xe2); + + return record_size; +} + /** * num_data_rows - Return the number of EU stall data rows of 64B each * for a given data size. diff --git a/drivers/gpu/drm/xe/xe_eu_stall.h b/drivers/gpu/drm/xe/xe_eu_stall.h index ca83fe487278..834783775d11 100644 --- a/drivers/gpu/drm/xe/xe_eu_stall.h +++ b/drivers/gpu/drm/xe/xe_eu_stall.h @@ -55,4 +55,6 @@ void xe_eu_stall_fini(struct xe_gt *gt); int xe_eu_stall_stream_open(struct drm_device *dev, u64 data, struct drm_file *file); +unsigned long +xe_eu_stall_data_record_size(struct xe_device *xe); #endif diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c index 5093a243e9fe..c1816574c13c 100644 --- a/drivers/gpu/drm/xe/xe_query.c +++ b/drivers/gpu/drm/xe/xe_query.c @@ -25,6 +25,7 @@ #include "xe_mmio.h" #include "xe_ttm_vram_mgr.h" #include "xe_wa.h" +#include "xe_eu_stall.h" static const u16 xe_to_user_engine_class[] = { [XE_ENGINE_CLASS_RENDER] = DRM_XE_ENGINE_CLASS_RENDER, @@ -691,6 +692,34 @@ static int query_oa_units(struct xe_device *xe, return ret ? -EFAULT : 0; } +static int query_eu_stall_data(struct xe_device *xe, + struct drm_xe_device_query *query) +{ + size_t size = sizeof(struct drm_xe_query_eu_stall_data); + void __user *query_ptr = u64_to_user_ptr(query->data); + struct drm_xe_query_eu_stall_data *info; + int ret; + + 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->capabilities = DRM_XE_EU_STALL_CAPS_BASE; + info->record_size = xe_eu_stall_data_record_size(xe); + + 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, @@ -702,6 +731,7 @@ static int (* const xe_query_funcs[])(struct xe_device *xe, query_engine_cycles, query_uc_fw_version, query_oa_units, + query_eu_stall_data, }; 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 50ad6b2e1450..f1a0f06b61f4 100644 --- a/include/uapi/drm/xe_drm.h +++ b/include/uapi/drm/xe_drm.h @@ -700,6 +700,7 @@ struct drm_xe_device_query { #define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES 6 #define DRM_XE_DEVICE_QUERY_UC_FW_VERSION 7 #define DRM_XE_DEVICE_QUERY_OA_UNITS 8 +#define DRM_XE_DEVICE_QUERY_EU_STALL_SAMPLING 9 /** @query: The type of data to query */ __u32 query; @@ -1738,6 +1739,25 @@ enum drm_xe_eu_stall_property_id { DRM_XE_EU_STALL_PROP_GT_ID, }; +/** + * struct drm_xe_query_eu_stall_data - Information about EU stall data + * + * If a query is made with a struct drm_xe_device_query where .query + * is equal to DRM_XE_DEVICE_QUERY_EU_STALL_SAMPLING, then the reply uses + * struct drm_xe_query_eu_stall_data in .data. + */ +struct drm_xe_query_eu_stall_data { + /** @extensions: Pointer to the first extension struct, if any */ + __u64 extensions; + + /** @record_size: size of each EU stall data record */ + __u64 record_size; + + /** @capabilities: EU stall capabilities bit-mask */ + __u64 capabilities; +#define DRM_XE_EU_STALL_CAPS_BASE (1 << 0) +}; + #if defined(__cplusplus) } #endif -- 2.45.1 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [PATCH v4 4/5] drm/xe/query: Add a device query to get EU stall data information 2024-10-14 6:00 ` [PATCH v4 4/5] drm/xe/query: Add a device query to get EU stall data information Harish Chegondi @ 2024-10-14 21:39 ` Dixit, Ashutosh 0 siblings, 0 replies; 30+ messages in thread From: Dixit, Ashutosh @ 2024-10-14 21:39 UTC (permalink / raw) To: Harish Chegondi Cc: intel-xe, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar On Sun, 13 Oct 2024 23:00:35 -0700, Harish Chegondi wrote: Hi Harish, Only reviewing the uapi for now (xe_drm.h changes). Mostly nits for this patch. > > diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h > index 50ad6b2e1450..f1a0f06b61f4 100644 > --- a/include/uapi/drm/xe_drm.h > +++ b/include/uapi/drm/xe_drm.h > @@ -700,6 +700,7 @@ struct drm_xe_device_query { > #define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES 6 > #define DRM_XE_DEVICE_QUERY_UC_FW_VERSION 7 > #define DRM_XE_DEVICE_QUERY_OA_UNITS 8 > +#define DRM_XE_DEVICE_QUERY_EU_STALL_SAMPLING 9 Just call this DRM_XE_DEVICE_QUERY_EU_STALL? > /** @query: The type of data to query */ > __u32 query; > > @@ -1738,6 +1739,25 @@ enum drm_xe_eu_stall_property_id { > DRM_XE_EU_STALL_PROP_GT_ID, > }; > > +/** > + * struct drm_xe_query_eu_stall_data - Information about EU stall data > + * > + * If a query is made with a struct drm_xe_device_query where .query > + * is equal to DRM_XE_DEVICE_QUERY_EU_STALL_SAMPLING, then the reply uses > + * struct drm_xe_query_eu_stall_data in .data. Maybe add a @ before all references in this file. So @drm_xe_device_query, @DRM_XE_DEVICE_QUERY_EU_STALL_SAMPLING and @drm_xe_query_eu_stall_data. I think better to do this even if this hasn't been done for queries elsewhere in this file, looks like a miss. > + */ > +struct drm_xe_query_eu_stall_data { Just call this 'struct drm_xe_query_eu_stall'? > + /** @extensions: Pointer to the first extension struct, if any */ > + __u64 extensions; > + > + /** @record_size: size of each EU stall data record */ > + __u64 record_size; > + > + /** @capabilities: EU stall capabilities bit-mask */ > + __u64 capabilities; > +#define DRM_XE_EU_STALL_CAPS_BASE (1 << 0) > +}; > + > #if defined(__cplusplus) > } > #endif > -- > 2.45.1 > Thanks. -- Ashutosh ^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH v4 5/5] drm/xe/eustall: Add workaround 22016596838 which applies to PVC. 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (3 preceding siblings ...) 2024-10-14 6:00 ` [PATCH v4 4/5] drm/xe/query: Add a device query to get EU stall data information Harish Chegondi @ 2024-10-14 6:00 ` Harish Chegondi 2024-10-14 6:05 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork ` (7 subsequent siblings) 12 siblings, 0 replies; 30+ messages in thread From: Harish Chegondi @ 2024-10-14 6:00 UTC (permalink / raw) To: intel-xe Cc: ashutosh.dixit, james.ausmus, felix.j.degrood, jose.souza, matias.a.cabral, joshua.santosh.ranjan, shubham.kumar, Harish Chegondi Add PVC workaround 22016596838 that disables EU DOP gating during EU stall sampling. Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> --- drivers/gpu/drm/xe/xe_eu_stall.c | 16 ++++++++++++++++ drivers/gpu/drm/xe/xe_wa_oob.rules | 1 + 2 files changed, 17 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_eu_stall.c b/drivers/gpu/drm/xe/xe_eu_stall.c index 1801b3c03f1f..9f21de7869d7 100644 --- a/drivers/gpu/drm/xe/xe_eu_stall.c +++ b/drivers/gpu/drm/xe/xe_eu_stall.c @@ -13,6 +13,7 @@ #include "xe_bo.h" #include "xe_pm.h" +#include "xe_wa.h" #include "xe_trace.h" #include "xe_macros.h" #include "xe_device.h" @@ -26,6 +27,8 @@ #include "regs/xe_gt_regs.h" #include "regs/xe_eu_stall_regs.h" +#include <generated/xe_wa_oob.h> + #define DEFAULT_POLL_FREQUENCY_HZ 100 #define DEFAULT_POLL_PERIOD_NS (NSEC_PER_SEC / DEFAULT_POLL_FREQUENCY_HZ) @@ -610,6 +613,14 @@ xe_eu_stall_stream_enable(struct xe_eu_stall_data_stream *stream) xe_pm_runtime_get(gt_to_xe(gt)); XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FW_RENDER)); + /* + * Wa_22016596838:pvc + * Disable EU DOP gating for PVC. + */ + if (XE_WA(gt, 22016596838)) + xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2, + _MASKED_BIT_ENABLE(DISABLE_DOP_GATING)); + reg_value = gen_eustall_base(stream, true); xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value); } @@ -641,6 +652,11 @@ xe_eu_stall_stream_disable(struct xe_eu_stall_data_stream *stream) reg_value = gen_eustall_base(stream, false); xe_gt_mcr_multicast_write(gt, XEHPC_EUSTALL_BASE, reg_value); + /* Wa_22016596838:pvc */ + if (XE_WA(gt, 22016596838)) + xe_gt_mcr_multicast_write(gt, ROW_CHICKEN2, + _MASKED_BIT_DISABLE(DISABLE_DOP_GATING)); + XE_WARN_ON(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 264d6e116499..a648dca61f30 100644 --- a/drivers/gpu/drm/xe/xe_wa_oob.rules +++ b/drivers/gpu/drm/xe/xe_wa_oob.rules @@ -4,6 +4,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.45.1 ^ permalink raw reply related [flat|nested] 30+ messages in thread
* ✓ CI.Patch_applied: success for Add support for EU stall sampling 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (4 preceding siblings ...) 2024-10-14 6:00 ` [PATCH v4 5/5] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi @ 2024-10-14 6:05 ` Patchwork 2024-10-14 6:05 ` ✗ CI.checkpatch: warning " Patchwork ` (6 subsequent siblings) 12 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2024-10-14 6:05 UTC (permalink / raw) To: Harish Chegondi; +Cc: intel-xe == Series Details == Series: Add support for EU stall sampling URL : https://patchwork.freedesktop.org/series/139931/ State : success == Summary == === Applying kernel patches on branch 'drm-tip' with base: === Base commit: 61475267a6e1 drm-tip: 2024y-10m-12d-21h-02m-40s UTC integration manifest === git am output follows === Applying: drm/xe/topology: Add a function to find the index of the last DSS in a mask Applying: drm/xe/eustall: Introduce API for EU stall sampling Applying: drm/xe/eustall: Implement EU stall sampling APIs Applying: drm/xe/query: Add a device query to get EU stall data information Applying: drm/xe/eustall: Add workaround 22016596838 which applies to PVC. ^ permalink raw reply [flat|nested] 30+ messages in thread
* ✗ CI.checkpatch: warning for Add support for EU stall sampling 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (5 preceding siblings ...) 2024-10-14 6:05 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork @ 2024-10-14 6:05 ` Patchwork 2024-10-14 6:06 ` ✓ CI.KUnit: success " Patchwork ` (5 subsequent siblings) 12 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2024-10-14 6:05 UTC (permalink / raw) To: Harish Chegondi; +Cc: intel-xe == Series Details == Series: Add support for EU stall sampling URL : https://patchwork.freedesktop.org/series/139931/ State : warning == Summary == + KERNEL=/kernel + git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt Cloning into 'mt'... warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/ + git -C mt rev-list -n1 origin/master 30ab6715fc09baee6cc14cb3c89ad8858688d474 + cd /kernel + git config --global --add safe.directory /kernel + git log -n1 commit efa383a27ce5e1b57104a7a40d8e2b302e3a193b Author: Harish Chegondi <harish.chegondi@intel.com> Date: Sun Oct 13 23:00:36 2024 -0700 drm/xe/eustall: Add workaround 22016596838 which applies to PVC. Add PVC workaround 22016596838 that disables EU DOP gating during EU stall sampling. Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> + /mt/dim checkpatch 61475267a6e1ec41d171c840a833dc1a2c1bcf06 drm-intel 73a49bb5f832 drm/xe/topology: Add a function to find the index of the last DSS in a mask -:8: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one total: 0 errors, 1 warnings, 0 checks, 24 lines checked 0770768b4cc6 drm/xe/eustall: Introduce API for EU stall sampling -:45: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #45: new file mode 100644 total: 0 errors, 1 warnings, 0 checks, 380 lines checked 47242a6e64bb drm/xe/eustall: Implement EU stall sampling APIs -:24: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #24: new file mode 100644 -:172: CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around 'write_ptr != read_ptr' #172: FILE: drivers/gpu/drm/xe/xe_eu_stall.c:238: + if ((write_ptr != read_ptr) && !min_data_present) { -:980: CHECK:OPEN_ENDED_LINE: Lines should not end with a '(' #980: FILE: drivers/gpu/drm/xe/xe_trace.h:433: + TP_STRUCT__entry( -:990: CHECK:OPEN_ENDED_LINE: Lines should not end with a '(' #990: FILE: drivers/gpu/drm/xe/xe_trace.h:443: + TP_fast_assign( total: 0 errors, 1 warnings, 3 checks, 945 lines checked 8e4ecc16e82c drm/xe/query: Add a device query to get EU stall data information efa383a27ce5 drm/xe/eustall: Add workaround 22016596838 which applies to PVC. ^ permalink raw reply [flat|nested] 30+ messages in thread
* ✓ CI.KUnit: success for Add support for EU stall sampling 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (6 preceding siblings ...) 2024-10-14 6:05 ` ✗ CI.checkpatch: warning " Patchwork @ 2024-10-14 6:06 ` Patchwork 2024-10-14 6:18 ` ✓ CI.Build: " Patchwork ` (4 subsequent siblings) 12 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2024-10-14 6:06 UTC (permalink / raw) To: Harish Chegondi; +Cc: intel-xe == Series Details == Series: Add support for EU stall sampling URL : https://patchwork.freedesktop.org/series/139931/ State : success == Summary == + trap cleanup EXIT + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig [06:05:43] Configuring KUnit Kernel ... Generating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [06:05:47] 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) | ^~~~~~~~~~~~~~~~~ [06:06:15] Starting KUnit Kernel (1/1)... [06:06:15] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [06:06:15] =================== guc_dbm (7 subtests) =================== [06:06:15] [PASSED] test_empty [06:06:15] [PASSED] test_default [06:06:15] ======================== test_size ======================== [06:06:15] [PASSED] 4 [06:06:15] [PASSED] 8 [06:06:15] [PASSED] 32 [06:06:15] [PASSED] 256 [06:06:15] ==================== [PASSED] test_size ==================== [06:06:15] ======================= test_reuse ======================== [06:06:15] [PASSED] 4 [06:06:15] [PASSED] 8 [06:06:15] [PASSED] 32 [06:06:15] [PASSED] 256 [06:06:15] =================== [PASSED] test_reuse ==================== [06:06:15] =================== test_range_overlap ==================== [06:06:15] [PASSED] 4 [06:06:15] [PASSED] 8 [06:06:15] [PASSED] 32 [06:06:15] [PASSED] 256 [06:06:15] =============== [PASSED] test_range_overlap ================ [06:06:15] =================== test_range_compact ==================== [06:06:15] [PASSED] 4 [06:06:15] [PASSED] 8 [06:06:15] [PASSED] 32 [06:06:15] [PASSED] 256 [06:06:15] =============== [PASSED] test_range_compact ================ [06:06:15] ==================== test_range_spare ===================== [06:06:15] [PASSED] 4 [06:06:15] [PASSED] 8 [06:06:15] [PASSED] 32 [06:06:15] [PASSED] 256 [06:06:15] ================ [PASSED] test_range_spare ================= [06:06:15] ===================== [PASSED] guc_dbm ===================== [06:06:15] =================== guc_idm (6 subtests) =================== [06:06:15] [PASSED] bad_init [06:06:15] [PASSED] no_init [06:06:15] [PASSED] init_fini [06:06:15] [PASSED] check_used [06:06:15] [PASSED] check_quota [06:06:15] [PASSED] check_all [06:06:15] ===================== [PASSED] guc_idm ===================== [06:06:15] ================== no_relay (3 subtests) =================== [06:06:15] [PASSED] xe_drops_guc2pf_if_not_ready [06:06:15] [PASSED] xe_drops_guc2vf_if_not_ready [06:06:15] [PASSED] xe_rejects_send_if_not_ready [06:06:15] ==================== [PASSED] no_relay ===================== [06:06:15] ================== pf_relay (14 subtests) ================== [06:06:15] [PASSED] pf_rejects_guc2pf_too_short [06:06:15] [PASSED] pf_rejects_guc2pf_too_long [06:06:15] [PASSED] pf_rejects_guc2pf_no_payload [06:06:15] [PASSED] pf_fails_no_payload [06:06:15] [PASSED] pf_fails_bad_origin [06:06:15] [PASSED] pf_fails_bad_type [06:06:15] [PASSED] pf_txn_reports_error [06:06:15] [PASSED] pf_txn_sends_pf2guc [06:06:15] [PASSED] pf_sends_pf2guc [06:06:15] [SKIPPED] pf_loopback_nop [06:06:15] [SKIPPED] pf_loopback_echo [06:06:15] [SKIPPED] pf_loopback_fail [06:06:15] [SKIPPED] pf_loopback_busy [06:06:15] [SKIPPED] pf_loopback_retry [06:06:15] ==================== [PASSED] pf_relay ===================== [06:06:15] ================== vf_relay (3 subtests) =================== [06:06:15] [PASSED] vf_rejects_guc2vf_too_short [06:06:15] [PASSED] vf_rejects_guc2vf_too_long [06:06:15] [PASSED] vf_rejects_guc2vf_no_payload [06:06:15] ==================== [PASSED] vf_relay ===================== [06:06:15] ================= pf_service (11 subtests) ================= [06:06:15] [PASSED] pf_negotiate_any [06:06:15] [PASSED] pf_negotiate_base_match [06:06:15] [PASSED] pf_negotiate_base_newer [06:06:15] [PASSED] pf_negotiate_base_next [06:06:15] [SKIPPED] pf_negotiate_base_older [06:06:15] [PASSED] pf_negotiate_base_prev [06:06:15] [PASSED] pf_negotiate_latest_match [06:06:15] [PASSED] pf_negotiate_latest_newer [06:06:15] [PASSED] pf_negotiate_latest_next [06:06:15] [SKIPPED] pf_negotiate_latest_older [06:06:15] [SKIPPED] pf_negotiate_latest_prev [06:06:15] =================== [PASSED] pf_service ==================== [06:06:15] ===================== lmtt (1 subtest) ===================== [06:06:15] ======================== test_ops ========================= [06:06:15] [PASSED] 2-level [06:06:15] [PASSED] multi-level [06:06:15] ==================== [PASSED] test_ops ===================== [06:06:15] ====================== [PASSED] lmtt ======================= [06:06:15] =================== xe_mocs (2 subtests) =================== [06:06:15] ================ xe_live_mocs_kernel_kunit ================ [06:06:15] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============ [06:06:15] ================ xe_live_mocs_reset_kunit ================= [06:06:15] ============ [SKIPPED] xe_live_mocs_reset_kunit ============ [06:06:15] ==================== [SKIPPED] xe_mocs ===================== [06:06:15] ================= xe_migrate (2 subtests) ================== [06:06:15] ================= xe_migrate_sanity_kunit ================= [06:06:15] ============ [SKIPPED] xe_migrate_sanity_kunit ============= [06:06:15] ================== xe_validate_ccs_kunit ================== [06:06:15] ============= [SKIPPED] xe_validate_ccs_kunit ============== [06:06:15] =================== [SKIPPED] xe_migrate =================== [06:06:15] ================== xe_dma_buf (1 subtest) ================== [06:06:15] ==================== xe_dma_buf_kunit ===================== [06:06:15] ================ [SKIPPED] xe_dma_buf_kunit ================ [06:06:15] =================== [SKIPPED] xe_dma_buf =================== [06:06:15] ==================== xe_bo (3 subtests) ==================== [06:06:15] ================== xe_ccs_migrate_kunit =================== [06:06:15] ============== [SKIPPED] xe_ccs_migrate_kunit ============== [06:06:15] ==================== xe_bo_evict_kunit ==================== [06:06:15] =============== [SKIPPED] xe_bo_evict_kunit ================ [06:06:15] =================== xe_bo_shrink_kunit ==================== [06:06:15] =============== [SKIPPED] xe_bo_shrink_kunit =============== [06:06:15] ===================== [SKIPPED] xe_bo ====================== [06:06:15] ==================== args (11 subtests) ==================== [06:06:15] [PASSED] count_args_test [06:06:15] [PASSED] call_args_example [06:06:15] [PASSED] call_args_test [06:06:15] [PASSED] drop_first_arg_example [06:06:15] [PASSED] drop_first_arg_test [06:06:15] [PASSED] first_arg_example [06:06:15] [PASSED] first_arg_test [06:06:15] [PASSED] last_arg_example [06:06:15] [PASSED] last_arg_test [06:06:15] [PASSED] pick_arg_example [06:06:15] [PASSED] sep_comma_examplestty: 'standard input': Inappropriate ioctl for device [06:06:15] ====================== [PASSED] args ======================= [06:06:15] =================== xe_pci (2 subtests) ==================== [06:06:15] [PASSED] xe_gmdid_graphics_ip [06:06:15] [PASSED] xe_gmdid_media_ip [06:06:15] ===================== [PASSED] xe_pci ====================== [06:06:15] =================== xe_rtp (2 subtests) ==================== [06:06:15] =============== xe_rtp_process_to_sr_tests ================ [06:06:15] [PASSED] coalesce-same-reg [06:06:15] [PASSED] no-match-no-add [06:06:15] [PASSED] match-or [06:06:15] [PASSED] match-or-xfail [06:06:15] [PASSED] no-match-no-add-multiple-rules [06:06:15] [PASSED] two-regs-two-entries [06:06:15] [PASSED] clr-one-set-other [06:06:15] [PASSED] set-field [06:06:15] [PASSED] conflict-duplicate [06:06:15] [PASSED] conflict-not-disjoint [06:06:15] [PASSED] conflict-reg-type [06:06:15] =========== [PASSED] xe_rtp_process_to_sr_tests ============ [06:06:15] ================== xe_rtp_process_tests =================== [06:06:15] [PASSED] active1 [06:06:15] [PASSED] active2 [06:06:15] [PASSED] active-inactive [06:06:15] [PASSED] inactive-active [06:06:15] [PASSED] inactive-1st_or_active-inactive [06:06:15] [PASSED] inactive-2nd_or_active-inactive [06:06:15] [PASSED] inactive-last_or_active-inactive [06:06:15] [PASSED] inactive-no_or_active-inactive [06:06:15] ============== [PASSED] xe_rtp_process_tests =============== [06:06:15] ===================== [PASSED] xe_rtp ====================== [06:06:15] ==================== xe_wa (1 subtest) ===================== [06:06:15] ======================== xe_wa_gt ========================= [06:06:15] [PASSED] TIGERLAKE (B0) [06:06:15] [PASSED] DG1 (A0) [06:06:15] [PASSED] DG1 (B0) [06:06:15] [PASSED] ALDERLAKE_S (A0) [06:06:15] [PASSED] ALDERLAKE_S (B0) [06:06:15] [PASSED] ALDERLAKE_S (C0) [06:06:15] [PASSED] ALDERLAKE_S (D0) [06:06:15] [PASSED] ALDERLAKE_P (A0) [06:06:15] [PASSED] ALDERLAKE_P (B0) [06:06:15] [PASSED] ALDERLAKE_P (C0) [06:06:15] [PASSED] ALDERLAKE_S_RPLS (D0) [06:06:15] [PASSED] ALDERLAKE_P_RPLU (E0) [06:06:15] [PASSED] DG2_G10 (C0) [06:06:15] [PASSED] DG2_G11 (B1) [06:06:15] [PASSED] DG2_G12 (A1) [06:06:15] [PASSED] METEORLAKE (g:A0, m:A0) [06:06:15] [PASSED] METEORLAKE (g:A0, m:A0) [06:06:15] [PASSED] METEORLAKE (g:A0, m:A0) [06:06:15] [PASSED] LUNARLAKE (g:A0, m:A0) [06:06:15] [PASSED] LUNARLAKE (g:B0, m:A0) [06:06:15] [PASSED] BATTLEMAGE (g:A0, m:A1) [06:06:15] ==================== [PASSED] xe_wa_gt ===================== [06:06:15] ====================== [PASSED] xe_wa ====================== [06:06:15] ============================================================ [06:06:15] Testing complete. Ran 122 tests: passed: 106, skipped: 16 [06:06:15] Elapsed time: 32.746s total, 4.395s configuring, 28.084s building, 0.217s running + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig [06:06:15] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [06:06:17] 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) | ^~~~~~~~~~~~~~~~~ [06:06:40] Starting KUnit Kernel (1/1)... [06:06:40] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [06:06:40] ============ drm_test_pick_cmdline (2 subtests) ============ [06:06:40] [PASSED] drm_test_pick_cmdline_res_1920_1080_60 [06:06:40] =============== drm_test_pick_cmdline_named =============== [06:06:40] [PASSED] NTSC [06:06:40] [PASSED] NTSC-J [06:06:40] [PASSED] PAL [06:06:40] [PASSED] PAL-M [06:06:40] =========== [PASSED] drm_test_pick_cmdline_named =========== [06:06:40] ============== [PASSED] drm_test_pick_cmdline ============== [06:06:40] ================== drm_buddy (7 subtests) ================== [06:06:40] [PASSED] drm_test_buddy_alloc_limit [06:06:40] [PASSED] drm_test_buddy_alloc_optimistic [06:06:40] [PASSED] drm_test_buddy_alloc_pessimistic [06:06:40] [PASSED] drm_test_buddy_alloc_pathological [06:06:40] [PASSED] drm_test_buddy_alloc_contiguous [06:06:40] [PASSED] drm_test_buddy_alloc_clear [06:06:40] [PASSED] drm_test_buddy_alloc_range_bias [06:06:40] ==================== [PASSED] drm_buddy ==================== [06:06:40] ============= drm_cmdline_parser (40 subtests) ============= [06:06:40] [PASSED] drm_test_cmdline_force_d_only [06:06:40] [PASSED] drm_test_cmdline_force_D_only_dvi [06:06:40] [PASSED] drm_test_cmdline_force_D_only_hdmi [06:06:40] [PASSED] drm_test_cmdline_force_D_only_not_digital [06:06:40] [PASSED] drm_test_cmdline_force_e_only [06:06:40] [PASSED] drm_test_cmdline_res [06:06:40] [PASSED] drm_test_cmdline_res_vesa [06:06:40] [PASSED] drm_test_cmdline_res_vesa_rblank [06:06:40] [PASSED] drm_test_cmdline_res_rblank [06:06:40] [PASSED] drm_test_cmdline_res_bpp [06:06:40] [PASSED] drm_test_cmdline_res_refresh [06:06:40] [PASSED] drm_test_cmdline_res_bpp_refresh [06:06:40] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced [06:06:40] [PASSED] drm_test_cmdline_res_bpp_refresh_margins [06:06:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off [06:06:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on [06:06:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog [06:06:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital [06:06:40] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on [06:06:40] [PASSED] drm_test_cmdline_res_margins_force_on [06:06:40] [PASSED] drm_test_cmdline_res_vesa_margins [06:06:40] [PASSED] drm_test_cmdline_name [06:06:40] [PASSED] drm_test_cmdline_name_bpp [06:06:40] [PASSED] drm_test_cmdline_name_option [06:06:40] [PASSED] drm_test_cmdline_name_bpp_option [06:06:40] [PASSED] drm_test_cmdline_rotate_0 [06:06:40] [PASSED] drm_test_cmdline_rotate_90 [06:06:40] [PASSED] drm_test_cmdline_rotate_180 [06:06:40] [PASSED] drm_test_cmdline_rotate_270 [06:06:40] [PASSED] drm_test_cmdline_hmirror [06:06:40] [PASSED] drm_test_cmdline_vmirror [06:06:40] [PASSED] drm_test_cmdline_margin_options [06:06:40] [PASSED] drm_test_cmdline_multiple_options [06:06:40] [PASSED] drm_test_cmdline_bpp_extra_and_option [06:06:40] [PASSED] drm_test_cmdline_extra_and_option [06:06:40] [PASSED] drm_test_cmdline_freestanding_options [06:06:40] [PASSED] drm_test_cmdline_freestanding_force_e_and_options [06:06:40] [PASSED] drm_test_cmdline_panel_orientation [06:06:40] ================ drm_test_cmdline_invalid ================= [06:06:40] [PASSED] margin_only [06:06:40] [PASSED] interlace_only [06:06:40] [PASSED] res_missing_x [06:06:40] [PASSED] res_missing_y [06:06:40] [PASSED] res_bad_y [06:06:40] [PASSED] res_missing_y_bpp [06:06:40] [PASSED] res_bad_bpp [06:06:40] [PASSED] res_bad_refresh [06:06:40] [PASSED] res_bpp_refresh_force_on_off [06:06:40] [PASSED] res_invalid_mode [06:06:40] [PASSED] res_bpp_wrong_place_mode [06:06:40] [PASSED] name_bpp_refresh [06:06:40] [PASSED] name_refresh [06:06:40] [PASSED] name_refresh_wrong_mode [06:06:40] [PASSED] name_refresh_invalid_mode [06:06:40] [PASSED] rotate_multiple [06:06:40] [PASSED] rotate_invalid_val [06:06:40] [PASSED] rotate_truncated [06:06:40] [PASSED] invalid_option [06:06:40] [PASSED] invalid_tv_option [06:06:40] [PASSED] truncated_tv_option [06:06:40] ============ [PASSED] drm_test_cmdline_invalid ============= [06:06:40] =============== drm_test_cmdline_tv_options =============== [06:06:40] [PASSED] NTSC [06:06:40] [PASSED] NTSC_443 [06:06:40] [PASSED] NTSC_J [06:06:40] [PASSED] PAL [06:06:40] [PASSED] PAL_M [06:06:40] [PASSED] PAL_N [06:06:40] [PASSED] SECAM [06:06:40] [PASSED] MONO_525 [06:06:40] [PASSED] MONO_625 [06:06:40] =========== [PASSED] drm_test_cmdline_tv_options =========== [06:06:40] =============== [PASSED] drm_cmdline_parser ================ [06:06:40] ========== drmm_connector_hdmi_init (19 subtests) ========== [06:06:40] [PASSED] drm_test_connector_hdmi_init_valid [06:06:40] [PASSED] drm_test_connector_hdmi_init_bpc_8 [06:06:40] [PASSED] drm_test_connector_hdmi_init_bpc_10 [06:06:40] [PASSED] drm_test_connector_hdmi_init_bpc_12 [06:06:40] [PASSED] drm_test_connector_hdmi_init_bpc_invalid [06:06:40] [PASSED] drm_test_connector_hdmi_init_bpc_null [06:06:40] [PASSED] drm_test_connector_hdmi_init_formats_empty [06:06:40] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb [06:06:40] [PASSED] drm_test_connector_hdmi_init_null_ddc [06:06:40] [PASSED] drm_test_connector_hdmi_init_null_product [06:06:40] [PASSED] drm_test_connector_hdmi_init_null_vendor [06:06:40] [PASSED] drm_test_connector_hdmi_init_product_length_exact [06:06:40] [PASSED] drm_test_connector_hdmi_init_product_length_too_long [06:06:40] [PASSED] drm_test_connector_hdmi_init_product_valid [06:06:40] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact [06:06:40] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long [06:06:40] [PASSED] drm_test_connector_hdmi_init_vendor_valid [06:06:40] ========= drm_test_connector_hdmi_init_type_valid ========= [06:06:40] [PASSED] HDMI-A [06:06:40] [PASSED] HDMI-B [06:06:40] ===== [PASSED] drm_test_connector_hdmi_init_type_valid ===== [06:06:40] ======== drm_test_connector_hdmi_init_type_invalid ======== [06:06:40] [PASSED] Unknown [06:06:40] [PASSED] VGA [06:06:40] [PASSED] DVI-I [06:06:40] [PASSED] DVI-D [06:06:40] [PASSED] DVI-A [06:06:40] [PASSED] Composite [06:06:40] [PASSED] SVIDEO [06:06:40] [PASSED] LVDS [06:06:40] [PASSED] Component [06:06:40] [PASSED] DIN [06:06:40] [PASSED] DP [06:06:40] [PASSED] TV [06:06:40] [PASSED] eDP [06:06:40] [PASSED] Virtual [06:06:40] [PASSED] DSI [06:06:40] [PASSED] DPI [06:06:40] [PASSED] Writeback [06:06:40] [PASSED] SPI [06:06:40] [PASSED] USB [06:06:40] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ==== [06:06:40] ============ [PASSED] drmm_connector_hdmi_init ============= [06:06:40] ============= drmm_connector_init (3 subtests) ============= [06:06:40] [PASSED] drm_test_drmm_connector_init [06:06:40] [PASSED] drm_test_drmm_connector_init_null_ddc [06:06:40] ========= drm_test_drmm_connector_init_type_valid ========= [06:06:40] [PASSED] Unknown [06:06:40] [PASSED] VGA [06:06:40] [PASSED] DVI-I [06:06:40] [PASSED] DVI-D [06:06:40] [PASSED] DVI-A [06:06:40] [PASSED] Composite [06:06:40] [PASSED] SVIDEO [06:06:40] [PASSED] LVDS [06:06:40] [PASSED] Component [06:06:40] [PASSED] DIN [06:06:40] [PASSED] DP [06:06:40] [PASSED] HDMI-A [06:06:40] [PASSED] HDMI-B [06:06:40] [PASSED] TV [06:06:40] [PASSED] eDP [06:06:40] [PASSED] Virtual [06:06:40] [PASSED] DSI [06:06:40] [PASSED] DPI [06:06:40] [PASSED] Writeback [06:06:40] [PASSED] SPI [06:06:40] [PASSED] USB [06:06:40] ===== [PASSED] drm_test_drmm_connector_init_type_valid ===== [06:06:40] =============== [PASSED] drmm_connector_init =============== [06:06:40] = drm_connector_attach_broadcast_rgb_property (2 subtests) = [06:06:40] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property [06:06:40] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector [06:06:40] === [PASSED] drm_connector_attach_broadcast_rgb_property === [06:06:40] ========== drm_get_tv_mode_from_name (2 subtests) ========== [06:06:40] ========== drm_test_get_tv_mode_from_name_valid =========== [06:06:40] [PASSED] NTSC [06:06:40] [PASSED] NTSC-443 [06:06:40] [PASSED] NTSC-J [06:06:40] [PASSED] PAL [06:06:40] [PASSED] PAL-M [06:06:40] [PASSED] PAL-N [06:06:40] [PASSED] SECAM [06:06:40] [PASSED] Mono [06:06:40] ====== [PASSED] drm_test_get_tv_mode_from_name_valid ======= [06:06:40] [PASSED] drm_test_get_tv_mode_from_name_truncated [06:06:40] ============ [PASSED] drm_get_tv_mode_from_name ============ [06:06:40] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) = [06:06:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb [06:06:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc [06:06:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1 [06:06:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc [06:06:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1 [06:06:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double [06:06:40] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid = [06:06:40] [PASSED] VIC 96 [06:06:40] [PASSED] VIC 97 [06:06:40] [PASSED] VIC 101 [06:06:40] [PASSED] VIC 102 [06:06:40] [PASSED] VIC 106 [06:06:40] [PASSED] VIC 107 [06:06:40] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid === [06:06:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc [06:06:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc [06:06:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc [06:06:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc [06:06:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc [06:06:40] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ==== [06:06:40] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) == [06:06:40] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ==== [06:06:40] [PASSED] Automatic [06:06:40] [PASSED] Full [06:06:40] [PASSED] Limited 16:235 [06:06:40] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name === [06:06:40] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid [06:06:40] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ==== [06:06:40] == drm_hdmi_connector_get_output_format_name (2 subtests) == [06:06:40] === drm_test_drm_hdmi_connector_get_output_format_name ==== [06:06:40] [PASSED] RGB [06:06:40] [PASSED] YUV 4:2:0 [06:06:40] [PASSED] YUV 4:2:2 [06:06:40] [PASSED] YUV 4:4:4 [06:06:40] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name === [06:06:40] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid [06:06:40] ==== [PASSED] drm_hdmi_connector_get_output_format_name ==== [06:06:40] ============= drm_damage_helper (21 subtests) ============== [06:06:40] [PASSED] drm_test_damage_iter_no_damage [06:06:40] [PASSED] drm_test_damage_iter_no_damage_fractional_src [06:06:40] [PASSED] drm_test_damage_iter_no_damage_src_moved [06:06:40] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved [06:06:40] [PASSED] drm_test_damage_iter_no_damage_not_visible [06:06:40] [PASSED] drm_test_damage_iter_no_damage_no_crtc [06:06:40] [PASSED] drm_test_damage_iter_no_damage_no_fb [06:06:40] [PASSED] drm_test_damage_iter_simple_damage [06:06:40] [PASSED] drm_test_damage_iter_single_damage [06:06:40] [PASSED] drm_test_damage_iter_single_damage_intersect_src [06:06:40] [PASSED] drm_test_damage_iter_single_damage_outside_src [06:06:40] [PASSED] drm_test_damage_iter_single_damage_fractional_src [06:06:40] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src [06:06:40] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src [06:06:40] [PASSED] drm_test_damage_iter_single_damage_src_moved [06:06:40] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved [06:06:40] [PASSED] drm_test_damage_iter_damage [06:06:40] [PASSED] drm_test_damage_iter_damage_one_intersect [06:06:40] [PASSED] drm_test_damage_iter_damage_one_outside [06:06:40] [PASSED] drm_test_damage_iter_damage_src_moved [06:06:40] [PASSED] drm_test_damage_iter_damage_not_visible [06:06:40] ================ [PASSED] drm_damage_helper ================ [06:06:40] ============== drm_dp_mst_helper (3 subtests) ============== [06:06:40] ============== drm_test_dp_mst_calc_pbn_mode ============== [06:06:40] [PASSED] Clock 154000 BPP 30 DSC disabled [06:06:40] [PASSED] Clock 234000 BPP 30 DSC disabled [06:06:40] [PASSED] Clock 297000 BPP 24 DSC disabled [06:06:40] [PASSED] Clock 332880 BPP 24 DSC enabled [06:06:40] [PASSED] Clock 324540 BPP 24 DSC enabled [06:06:40] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ========== [06:06:40] ============== drm_test_dp_mst_calc_pbn_div =============== [06:06:40] [PASSED] Link rate 2000000 lane count 4 [06:06:40] [PASSED] Link rate 2000000 lane count 2 [06:06:40] [PASSED] Link rate 2000000 lane count 1 [06:06:40] [PASSED] Link rate 1350000 lane count 4 [06:06:40] [PASSED] Link rate 1350000 lane count 2 [06:06:40] [PASSED] Link rate 1350000 lane count 1 [06:06:40] [PASSED] Link rate 1000000 lane count 4 [06:06:40] [PASSED] Link rate 1000000 lane count 2 [06:06:40] [PASSED] Link rate 1000000 lane count 1 [06:06:40] [PASSED] Link rate 810000 lane count 4 [06:06:40] [PASSED] Link rate 810000 lane count 2 [06:06:40] [PASSED] Link rate 810000 lane count 1 [06:06:40] [PASSED] Link rate 540000 lane count 4 [06:06:40] [PASSED] Link rate 540000 lane count 2 [06:06:40] [PASSED] Link rate 540000 lane count 1 [06:06:40] [PASSED] Link rate 270000 lane count 4 [06:06:40] [PASSED] Link rate 270000 lane count 2 [06:06:40] [PASSED] Link rate 270000 lane count 1 [06:06:40] [PASSED] Link rate 162000 lane count 4 [06:06:40] [PASSED] Link rate 162000 lane count 2 [06:06:40] [PASSED] Link rate 162000 lane count 1 [06:06:40] ========== [PASSED] drm_test_dp_mst_calc_pbn_div =========== [06:06:40] ========= drm_test_dp_mst_sideband_msg_req_decode ========= [06:06:40] [PASSED] DP_ENUM_PATH_RESOURCES with port number [06:06:40] [PASSED] DP_POWER_UP_PHY with port number [06:06:40] [PASSED] DP_POWER_DOWN_PHY with port number [06:06:40] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks [06:06:40] [PASSED] DP_ALLOCATE_PAYLOAD with port number [06:06:40] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI [06:06:40] [PASSED] DP_ALLOCATE_PAYLOAD with PBN [06:06:40] [PASSED] DP_QUERY_PAYLOAD with port number [06:06:40] [PASSED] DP_QUERY_PAYLOAD with VCPI [06:06:40] [PASSED] DP_REMOTE_DPCD_READ with port number [06:06:40] [PASSED] DP_REMOTE_DPCD_READ with DPCD address [06:06:40] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes [06:06:40] [PASSED] DP_REMOTE_DPCD_WRITE with port number [06:06:40] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address [06:06:40] [PASSED] DP_REMOTE_DPCD_WRITE with data array [06:06:40] [PASSED] DP_REMOTE_I2C_READ with port number [06:06:40] [PASSED] DP_REMOTE_I2C_READ with I2C device ID [06:06:40] [PASSED] DP_REMOTE_I2C_READ with transactions array [06:06:40] [PASSED] DP_REMOTE_I2C_WRITE with port number [06:06:40] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID [06:06:40] [PASSED] DP_REMOTE_I2C_WRITE with data array [06:06:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID [06:06:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID [06:06:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event [06:06:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event [06:06:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior [06:06:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior [06:06:40] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode ===== [06:06:40] ================ [PASSED] drm_dp_mst_helper ================ [06:06:40] ================== drm_exec (7 subtests) =================== [06:06:40] [PASSED] sanitycheck [06:06:40] [PASSED] test_lock [06:06:40] [PASSED] test_lock_unlock [06:06:40] [PASSED] test_duplicates [06:06:40] [PASSED] test_prepare [06:06:40] [PASSED] test_prepare_array [06:06:40] [PASSED] test_multiple_loops [06:06:40] ==================== [PASSED] drm_exec ===================== [06:06:40] =========== drm_format_helper_test (17 subtests) =========== [06:06:40] ============== drm_test_fb_xrgb8888_to_gray8 ============== [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ========== [06:06:40] ============= drm_test_fb_xrgb8888_to_rgb332 ============== [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ========== [06:06:40] ============= drm_test_fb_xrgb8888_to_rgb565 ============== [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ========== [06:06:40] ============ drm_test_fb_xrgb8888_to_xrgb1555 ============= [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 ========= [06:06:40] ============ drm_test_fb_xrgb8888_to_argb1555 ============= [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 ========= [06:06:40] ============ drm_test_fb_xrgb8888_to_rgba5551 ============= [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 ========= [06:06:40] ============= drm_test_fb_xrgb8888_to_rgb888 ============== [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ========== [06:06:40] ============ drm_test_fb_xrgb8888_to_argb8888 ============= [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 ========= [06:06:40] =========== drm_test_fb_xrgb8888_to_xrgb2101010 =========== [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 ======= [06:06:40] =========== drm_test_fb_xrgb8888_to_argb2101010 =========== [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 ======= [06:06:40] ============== drm_test_fb_xrgb8888_to_mono =============== [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ========== [PASSED] drm_test_fb_xrgb8888_to_mono =========== [06:06:40] ==================== drm_test_fb_swab ===================== [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ================ [PASSED] drm_test_fb_swab ================= [06:06:40] ============ drm_test_fb_xrgb8888_to_xbgr8888 ============= [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 ========= [06:06:40] ============ drm_test_fb_xrgb8888_to_abgr8888 ============= [06:06:40] [PASSED] single_pixel_source_buffer [06:06:40] [PASSED] single_pixel_clip_rectangle [06:06:40] [PASSED] well_known_colors [06:06:40] [PASSED] destination_pitch [06:06:40] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 ========= [06:06:40] ================= drm_test_fb_clip_offset ================= [06:06:40] [PASSED] pass through [06:06:40] [PASSED] horizontal offset [06:06:40] [PASSED] vertical offset [06:06:40] [PASSED] horizontal and vertical offset [06:06:40] [PASSED] horizontal offset (custom pitch) [06:06:40] [PASSED] vertical offset (custom pitch) [06:06:40] [PASSED] horizontal and vertical offset (custom pitch) [06:06:40] ============= [PASSED] drm_test_fb_clip_offset ============= [06:06:40] ============== drm_test_fb_build_fourcc_list ============== [06:06:40] [PASSED] no native formats [06:06:40] [PASSED] XRGB8888 as native format [06:06:40] [PASSED] remove duplicates [06:06:40] [PASSED] convert alpha formats [06:06:40] [PASSED] random formats [06:06:40] ========== [PASSED] drm_test_fb_build_fourcc_list ========== [06:06:40] =================== drm_test_fb_memcpy ==================== [06:06:40] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258) [06:06:40] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258) [06:06:40] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559) [06:06:40] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258) [06:06:40] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258) [06:06:40] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559) [06:06:40] [PASSED] well_known_colors: XB24 little-endian (0x34324258) [06:06:40] [PASSED] well_known_colors: XRA8 little-endian (0x38415258) [06:06:40] [PASSED] well_known_colors: YU24 little-endian (0x34325559) [06:06:40] [PASSED] destination_pitch: XB24 little-endian (0x34324258) [06:06:40] [PASSED] destination_pitch: XRA8 little-endian (0x38415258) [06:06:40] [PASSED] destination_pitch: YU24 little-endian (0x34325559) [06:06:40] =============== [PASSED] drm_test_fb_memcpy ================ [06:06:40] ============= [PASSED] drm_format_helper_test ============== [06:06:40] ================= drm_format (18 subtests) ================= [06:06:40] [PASSED] drm_test_format_block_width_invalid [06:06:40] [PASSED] drm_test_format_block_width_one_plane [06:06:40] [PASSED] drm_test_format_block_width_two_plane [06:06:40] [PASSED] drm_test_format_block_width_three_plane [06:06:40] [PASSED] drm_test_format_block_width_tiled [06:06:40] [PASSED] drm_test_format_block_height_invalid [06:06:40] [PASSED] drm_test_format_block_height_one_plane [06:06:40] [PASSED] drm_test_format_block_height_two_plane [06:06:40] [PASSED] drm_test_format_block_height_three_plane [06:06:40] [PASSED] drm_test_format_block_height_tiled [06:06:40] [PASSED] drm_test_format_min_pitch_invalid [06:06:40] [PASSED] drm_test_format_min_pitch_one_plane_8bpp [06:06:40] [PASSED] drm_test_format_min_pitch_one_plane_16bpp [06:06:40] [PASSED] drm_test_format_min_pitch_one_plane_24bpp [06:06:40] [PASSED] drm_test_format_min_pitch_one_plane_32bpp [06:06:40] [PASSED] drm_test_format_min_pitch_two_plane [06:06:40] [PASSED] drm_test_format_min_pitch_three_plane_8bpp [06:06:40] [PASSED] drm_test_format_min_pitch_tiled [06:06:40] =================== [PASSED] drm_format ==================== [06:06:40] ============== drm_framebuffer (10 subtests) =============== [06:06:40] ========== drm_test_framebuffer_check_src_coords ========== [06:06:40] [PASSED] Success: source fits into fb [06:06:40] [PASSED] Fail: overflowing fb with x-axis coordinate [06:06:40] [PASSED] Fail: overflowing fb with y-axis coordinate [06:06:40] [PASSED] Fail: overflowing fb with source width [06:06:40] [PASSED] Fail: overflowing fb with source height [06:06:40] ====== [PASSED] drm_test_framebuffer_check_src_coords ====== [06:06:40] [PASSED] drm_test_framebuffer_cleanup [06:06:40] =============== drm_test_framebuffer_create =============== [06:06:40] [PASSED] ABGR8888 normal sizes [06:06:40] [PASSED] ABGR8888 max sizes [06:06:40] [PASSED] ABGR8888 pitch greater than min required [06:06:40] [PASSED] ABGR8888 pitch less than min required [06:06:40] [PASSED] ABGR8888 Invalid width [06:06:40] [PASSED] ABGR8888 Invalid buffer handle [06:06:40] [PASSED] No pixel format [06:06:40] [PASSED] ABGR8888 Width 0 [06:06:40] [PASSED] ABGR8888 Height 0 [06:06:40] [PASSED] ABGR8888 Out of bound height * pitch combination [06:06:40] [PASSED] ABGR8888 Large buffer offset [06:06:40] [PASSED] ABGR8888 Buffer offset for inexistent plane [06:06:40] [PASSED] ABGR8888 Invalid flag [06:06:40] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers [06:06:40] [PASSED] ABGR8888 Valid buffer modifier [06:06:40] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE) [06:06:40] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS [06:06:40] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS [06:06:40] [PASSED] NV12 Normal sizes [06:06:40] [PASSED] NV12 Max sizes [06:06:40] [PASSED] NV12 Invalid pitch [06:06:40] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag [06:06:40] [PASSED] NV12 different modifier per-plane [06:06:40] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE [06:06:40] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS [06:06:40] [PASSED] NV12 Modifier for inexistent plane [06:06:40] [PASSED] NV12 Handle for inexistent plane [06:06:40] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS [06:06:40] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier [06:06:40] [PASSED] YVU420 Normal sizes [06:06:40] [PASSED] YVU420 Max sizes [06:06:40] [PASSED] YVU420 Invalid pitch [06:06:40] [PASSED] YVU420 Different pitches [06:06:40] [PASSED] YVU420 Different buffer offsets/pitches [06:06:40] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS [06:06:40] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS [06:06:40] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS [06:06:40] [PASSED] YVU420 Valid modifier [06:06:40] [PASSED] YVU420 Different modifiers per plane [06:06:40] [PASSED] YVU420 Modifier for inexistent plane [06:06:40] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR) [06:06:40] [PASSED] X0L2 Normal sizes [06:06:40] [PASSED] X0L2 Max sizes [06:06:40] [PASSED] X0L2 Invalid pitch [06:06:40] [PASSED] X0L2 Pitch greater than minimum required [06:06:40] [PASSED] X0L2 Handle for inexistent plane [06:06:40] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set [06:06:40] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set [06:06:40] [PASSED] X0L2 Valid modifier [06:06:40] [PASSED] X0L2 Modifier for inexistent plane [06:06:40] =========== [PASSED] drm_test_framebuffer_create =========== [06:06:40] [PASSED] drm_test_framebuffer_free [06:06:40] [PASSED] drm_test_framebuffer_init [06:06:40] [PASSED] drm_test_framebuffer_init_bad_format [06:06:40] [PASSED] drm_test_framebuffer_init_dev_mismatch [06:06:40] [PASSED] drm_test_framebuffer_lookup [06:06:40] [PASSED] drm_test_framebuffer_lookup_inexistent [06:06:40] [PASSED] drm_test_framebuffer_modifiers_not_supported [06:06:40] ================= [PASSED] drm_framebuffer ================= [06:06:40] ================ drm_gem_shmem (8 subtests) ================ [06:06:40] [PASSED] drm_gem_shmem_test_obj_create [06:06:40] [PASSED] drm_gem_shmem_test_obj_create_private [06:06:40] [PASSED] drm_gem_shmem_test_pin_pages [06:06:40] [PASSED] drm_gem_shmem_test_vmap [06:06:40] [PASSED] drm_gem_shmem_test_get_pages_sgt [06:06:40] [PASSED] drm_gem_shmem_test_get_sg_table [06:06:40] [PASSED] drm_gem_shmem_test_madvise [06:06:40] [PASSED] drm_gem_shmem_test_purge [06:06:40] ================== [PASSED] drm_gem_shmem ================== [06:06:40] === drm_atomic_helper_connector_hdmi_check (22 subtests) === [06:06:40] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode [06:06:40] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1 [06:06:40] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode [06:06:40] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1 [06:06:40] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode [06:06:40] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1 [06:06:40] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed [06:06:40] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed [06:06:40] [PASSED] drm_test_check_hdmi_funcs_reject_rate [06:06:40] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback [06:06:40] [PASSED] drm_test_check_max_tmds_rate_format_fallback [06:06:40] [PASSED] drm_test_check_output_bpc_crtc_mode_changed [06:06:40] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed [06:06:40] [PASSED] drm_test_check_output_bpc_dvi [06:06:40] [PASSED] drm_test_check_output_bpc_format_vic_1 [06:06:40] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only [06:06:40] [PASSED] drm_test_check_output_bpc_format_display_rgb_only [06:06:40] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only [06:06:40] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only [06:06:40] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc [06:06:40] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc [06:06:40] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc [06:06:40] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ====== [06:06:40] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ==== [06:06:40] [PASSED] drm_test_check_broadcast_rgb_value [06:06:40] [PASSED] drm_test_check_bpc_8_value [06:06:40] [PASSED] drm_test_check_bpc_10_value [06:06:40] [PASSED] drm_test_check_bpc_12_value [06:06:40] [PASSED] drm_test_check_format_value [06:06:40] [PASSED] drm_test_check_tmds_char_value [06:06:40] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ====== [06:06:40] ================= drm_managed (2 subtests) ================= [06:06:40] [PASSED] drm_test_managed_release_action [06:06:40] [PASSED] drm_test_managed_run_action [06:06:40] =================== [PASSED] drm_managed =================== [06:06:40] =================== drm_mm (6 subtests) ==================== [06:06:40] [PASSED] drm_test_mm_init [06:06:40] [PASSED] drm_test_mm_debug [06:06:40] [PASSED] drm_test_mm_align32 [06:06:40] [PASSED] drm_test_mm_align64 [06:06:40] [PASSED] drm_test_mm_lowest [06:06:40] [PASSED] drm_test_mm_highest [06:06:40] ===================== [PASSED] drm_mm ====================== [06:06:40] ============= drm_modes_analog_tv (5 subtests) ============= stty: 'standard input': Inappropriate ioctl for device [06:06:40] [PASSED] drm_test_modes_analog_tv_mono_576i [06:06:40] [PASSED] drm_test_modes_analog_tv_ntsc_480i [06:06:40] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined [06:06:40] [PASSED] drm_test_modes_analog_tv_pal_576i [06:06:40] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined [06:06:40] =============== [PASSED] drm_modes_analog_tv =============== [06:06:40] ============== drm_plane_helper (2 subtests) =============== [06:06:40] =============== drm_test_check_plane_state ================ [06:06:40] [PASSED] clipping_simple [06:06:40] [PASSED] clipping_rotate_reflect [06:06:40] [PASSED] positioning_simple [06:06:40] [PASSED] upscaling [06:06:40] [PASSED] downscaling [06:06:40] [PASSED] rounding1 [06:06:40] [PASSED] rounding2 [06:06:40] [PASSED] rounding3 [06:06:40] [PASSED] rounding4 [06:06:40] =========== [PASSED] drm_test_check_plane_state ============ [06:06:40] =========== drm_test_check_invalid_plane_state ============ [06:06:40] [PASSED] positioning_invalid [06:06:40] [PASSED] upscaling_invalid [06:06:40] [PASSED] downscaling_invalid [06:06:40] ======= [PASSED] drm_test_check_invalid_plane_state ======== [06:06:40] ================ [PASSED] drm_plane_helper ================= [06:06:40] ====== drm_connector_helper_tv_get_modes (1 subtest) ======= [06:06:40] ====== drm_test_connector_helper_tv_get_modes_check ======= [06:06:40] [PASSED] None [06:06:40] [PASSED] PAL [06:06:40] [PASSED] NTSC [06:06:40] [PASSED] Both, NTSC Default [06:06:40] [PASSED] Both, PAL Default [06:06:40] [PASSED] Both, NTSC Default, with PAL on command-line [06:06:40] [PASSED] Both, PAL Default, with NTSC on command-line [06:06:40] == [PASSED] drm_test_connector_helper_tv_get_modes_check === [06:06:40] ======== [PASSED] drm_connector_helper_tv_get_modes ======== [06:06:40] ================== drm_rect (9 subtests) =================== [06:06:40] [PASSED] drm_test_rect_clip_scaled_div_by_zero [06:06:40] [PASSED] drm_test_rect_clip_scaled_not_clipped [06:06:40] [PASSED] drm_test_rect_clip_scaled_clipped [06:06:40] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned [06:06:40] ================= drm_test_rect_intersect ================= [06:06:40] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0 [06:06:40] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1 [06:06:40] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0 [06:06:40] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1 [06:06:40] [PASSED] right x left: 2x1+0+0 x 3x1+1+0 [06:06:40] [PASSED] left x right: 3x1+1+0 x 2x1+0+0 [06:06:40] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1 [06:06:40] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0 [06:06:40] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1 [06:06:40] [PASSED] touching side: 1x1+0+0 x 1x1+1+0 [06:06:40] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0 [06:06:40] [PASSED] inside another: 2x2+0+0 x 1x1+1+1 [06:06:40] [PASSED] far away: 1x1+0+0 x 1x1+3+6 [06:06:40] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10 [06:06:40] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10 [06:06:40] ============= [PASSED] drm_test_rect_intersect ============= [06:06:40] ================ drm_test_rect_calc_hscale ================ [06:06:40] [PASSED] normal use [06:06:40] [PASSED] out of max range [06:06:40] [PASSED] out of min range [06:06:40] [PASSED] zero dst [06:06:40] [PASSED] negative src [06:06:40] [PASSED] negative dst [06:06:40] ============ [PASSED] drm_test_rect_calc_hscale ============ [06:06:40] ================ drm_test_rect_calc_vscale ================ [06:06:40] [PASSED] normal use [06:06:40] [PASSED] out of max range [06:06:40] [PASSED] out of min range [06:06:40] [PASSED] zero dst [06:06:40] [PASSED] negative src [06:06:40] [PASSED] negative dst [06:06:40] ============ [PASSED] drm_test_rect_calc_vscale ============ [06:06:40] ================== drm_test_rect_rotate =================== [06:06:40] [PASSED] reflect-x [06:06:40] [PASSED] reflect-y [06:06:40] [PASSED] rotate-0 [06:06:40] [PASSED] rotate-90 [06:06:40] [PASSED] rotate-180 [06:06:40] [PASSED] rotate-270 [06:06:40] ============== [PASSED] drm_test_rect_rotate =============== [06:06:40] ================ drm_test_rect_rotate_inv ================= [06:06:40] [PASSED] reflect-x [06:06:40] [PASSED] reflect-y [06:06:40] [PASSED] rotate-0 [06:06:40] [PASSED] rotate-90 [06:06:40] [PASSED] rotate-180 [06:06:40] [PASSED] rotate-270 [06:06:40] ============ [PASSED] drm_test_rect_rotate_inv ============= [06:06:40] ==================== [PASSED] drm_rect ===================== [06:06:40] ============================================================ [06:06:40] Testing complete. Ran 531 tests: passed: 531 [06:06:40] Elapsed time: 24.358s total, 1.667s configuring, 22.522s building, 0.167s running + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig [06:06:40] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [06:06:41] 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 [06:06:49] Starting KUnit Kernel (1/1)... [06:06:49] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [06:06:49] ================= ttm_device (5 subtests) ================== [06:06:49] [PASSED] ttm_device_init_basic [06:06:49] [PASSED] ttm_device_init_multiple [06:06:49] [PASSED] ttm_device_fini_basic [06:06:49] [PASSED] ttm_device_init_no_vma_man [06:06:49] ================== ttm_device_init_pools ================== [06:06:49] [PASSED] No DMA allocations, no DMA32 required [06:06:49] [PASSED] DMA allocations, DMA32 required [06:06:49] [PASSED] No DMA allocations, DMA32 required [06:06:49] [PASSED] DMA allocations, no DMA32 required [06:06:49] ============== [PASSED] ttm_device_init_pools ============== [06:06:49] =================== [PASSED] ttm_device ==================== [06:06:49] ================== ttm_pool (8 subtests) =================== [06:06:49] ================== ttm_pool_alloc_basic =================== [06:06:49] [PASSED] One page [06:06:49] [PASSED] More than one page [06:06:49] [PASSED] Above the allocation limit [06:06:49] [PASSED] One page, with coherent DMA mappings enabled [06:06:49] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [06:06:49] ============== [PASSED] ttm_pool_alloc_basic =============== [06:06:49] ============== ttm_pool_alloc_basic_dma_addr ============== [06:06:49] [PASSED] One page [06:06:49] [PASSED] More than one page [06:06:49] [PASSED] Above the allocation limit [06:06:49] [PASSED] One page, with coherent DMA mappings enabled [06:06:49] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [06:06:49] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ========== [06:06:49] [PASSED] ttm_pool_alloc_order_caching_match [06:06:49] [PASSED] ttm_pool_alloc_caching_mismatch [06:06:49] [PASSED] ttm_pool_alloc_order_mismatch [06:06:49] [PASSED] ttm_pool_free_dma_alloc [06:06:49] [PASSED] ttm_pool_free_no_dma_alloc [06:06:49] [PASSED] ttm_pool_fini_basic [06:06:49] ==================== [PASSED] ttm_pool ===================== [06:06:49] ================ ttm_resource (8 subtests) ================= [06:06:49] ================= ttm_resource_init_basic ================= [06:06:49] [PASSED] Init resource in TTM_PL_SYSTEM [06:06:49] [PASSED] Init resource in TTM_PL_VRAM [06:06:49] [PASSED] Init resource in a private placement [06:06:49] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags [06:06:49] ============= [PASSED] ttm_resource_init_basic ============= [06:06:49] [PASSED] ttm_resource_init_pinned [06:06:49] [PASSED] ttm_resource_fini_basic [06:06:49] [PASSED] ttm_resource_manager_init_basic [06:06:49] [PASSED] ttm_resource_manager_usage_basic [06:06:49] [PASSED] ttm_resource_manager_set_used_basic [06:06:49] [PASSED] ttm_sys_man_alloc_basic [06:06:49] [PASSED] ttm_sys_man_free_basic [06:06:49] ================== [PASSED] ttm_resource =================== [06:06:49] =================== ttm_tt (15 subtests) =================== [06:06:49] ==================== ttm_tt_init_basic ==================== [06:06:49] [PASSED] Page-aligned size [06:06:49] [PASSED] Extra pages requested [06:06:49] ================ [PASSED] ttm_tt_init_basic ================ [06:06:49] [PASSED] ttm_tt_init_misaligned [06:06:49] [PASSED] ttm_tt_fini_basic [06:06:49] [PASSED] ttm_tt_fini_sg [06:06:49] [PASSED] ttm_tt_fini_shmem [06:06:49] [PASSED] ttm_tt_create_basic [06:06:49] [PASSED] ttm_tt_create_invalid_bo_type [06:06:49] [PASSED] ttm_tt_create_ttm_exists [06:06:49] [PASSED] ttm_tt_create_failed [06:06:49] [PASSED] ttm_tt_destroy_basic [06:06:49] [PASSED] ttm_tt_populate_null_ttm [06:06:49] [PASSED] ttm_tt_populate_populated_ttm [06:06:49] [PASSED] ttm_tt_unpopulate_basic [06:06:49] [PASSED] ttm_tt_unpopulate_empty_ttm [06:06:49] [PASSED] ttm_tt_swapin_basic [06:06:49] ===================== [PASSED] ttm_tt ====================== [06:06:49] =================== ttm_bo (14 subtests) =================== [06:06:49] =========== ttm_bo_reserve_optimistic_no_ticket =========== [06:06:49] [PASSED] Cannot be interrupted and sleeps [06:06:49] [PASSED] Cannot be interrupted, locks straight away [06:06:49] [PASSED] Can be interrupted, sleeps [06:06:49] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket ======= [06:06:49] [PASSED] ttm_bo_reserve_locked_no_sleep [06:06:49] [PASSED] ttm_bo_reserve_no_wait_ticket [06:06:49] [PASSED] ttm_bo_reserve_double_resv [06:06:49] [PASSED] ttm_bo_reserve_interrupted [06:06:49] [PASSED] ttm_bo_reserve_deadlock [06:06:49] [PASSED] ttm_bo_unreserve_basic [06:06:49] [PASSED] ttm_bo_unreserve_pinned [06:06:49] [PASSED] ttm_bo_unreserve_bulk [06:06:49] [PASSED] ttm_bo_put_basic [06:06:49] [PASSED] ttm_bo_put_shared_resv [06:06:49] [PASSED] ttm_bo_pin_basic [06:06:49] [PASSED] ttm_bo_pin_unpin_resource [06:06:49] [PASSED] ttm_bo_multiple_pin_one_unpin [06:06:49] ===================== [PASSED] ttm_bo ====================== [06:06:49] ============== ttm_bo_validate (22 subtests) =============== [06:06:49] ============== ttm_bo_init_reserved_sys_man =============== [06:06:49] [PASSED] Buffer object for userspace [06:06:49] [PASSED] Kernel buffer object [06:06:49] [PASSED] Shared buffer object [06:06:49] ========== [PASSED] ttm_bo_init_reserved_sys_man =========== [06:06:49] ============== ttm_bo_init_reserved_mock_man ============== [06:06:49] [PASSED] Buffer object for userspace [06:06:49] [PASSED] Kernel buffer object [06:06:49] [PASSED] Shared buffer object [06:06:49] ========== [PASSED] ttm_bo_init_reserved_mock_man ========== [06:06:49] [PASSED] ttm_bo_init_reserved_resv [06:06:49] ================== ttm_bo_validate_basic ================== [06:06:49] [PASSED] Buffer object for userspace [06:06:49] [PASSED] Kernel buffer object [06:06:49] [PASSED] Shared buffer object [06:06:49] ============== [PASSED] ttm_bo_validate_basic ============== [06:06:49] [PASSED] ttm_bo_validate_invalid_placement [06:06:49] ============= ttm_bo_validate_same_placement ============== [06:06:49] [PASSED] System manager [06:06:49] [PASSED] VRAM manager [06:06:49] ========= [PASSED] ttm_bo_validate_same_placement ========== [06:06:49] [PASSED] ttm_bo_validate_failed_alloc [06:06:49] [PASSED] ttm_bo_validate_pinned [06:06:49] [PASSED] ttm_bo_validate_busy_placement [06:06:49] ================ ttm_bo_validate_multihop ================= [06:06:49] [PASSED] Buffer object for userspace [06:06:49] [PASSED] Kernel buffer object [06:06:49] [PASSED] Shared buffer object [06:06:49] ============ [PASSED] ttm_bo_validate_multihop ============= [06:06:49] ========== ttm_bo_validate_no_placement_signaled ========== [06:06:49] [PASSED] Buffer object in system domain, no page vector [06:06:49] [PASSED] Buffer object in system domain with an existing page vector [06:06:49] ====== [PASSED] ttm_bo_validate_no_placement_signaled ====== [06:06:49] ======== ttm_bo_validate_no_placement_not_signaled ======== [06:06:49] [PASSED] Buffer object for userspace [06:06:49] [PASSED] Kernel buffer object [06:06:49] [PASSED] Shared buffer object [06:06:49] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ==== [06:06:49] [PASSED] ttm_bo_validate_move_fence_signaled [06:06:49] ========= ttm_bo_validate_move_fence_not_signaled ========= [06:06:49] [PASSED] Waits for GPU [06:06:49] [PASSED] Tries to lock straight away [06:06:50] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled ===== [06:06:50] [PASSED] ttm_bo_validate_swapout [06:06:50] [PASSED] ttm_bo_validate_happy_evict [06:06:50] [PASSED] ttm_bo_validate_all_pinned_evict [06:06:50] [PASSED] ttm_bo_validate_allowed_only_evict [06:06:50] [PASSED] ttm_bo_validate_deleted_evict [06:06:50] [PASSED] ttm_bo_validate_busy_domain_evict [06:06:50] [PASSED] ttm_bo_validate_evict_gutting [06:06:50] [PASSED] ttm_bo_validate_recrusive_evict stty: 'standard input': Inappropriate ioctl for device [06:06:50] ================= [PASSED] ttm_bo_validate ================= [06:06:50] ============================================================ [06:06:50] Testing complete. Ran 102 tests: passed: 102 [06:06:50] Elapsed time: 9.720s total, 1.508s configuring, 7.544s building, 0.558s running + cleanup ++ stat -c %u:%g /kernel + chown -R 1003:1003 /kernel ^ permalink raw reply [flat|nested] 30+ messages in thread
* ✓ CI.Build: success for Add support for EU stall sampling 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (7 preceding siblings ...) 2024-10-14 6:06 ` ✓ CI.KUnit: success " Patchwork @ 2024-10-14 6:18 ` Patchwork 2024-10-14 6:20 ` ✗ CI.Hooks: failure " Patchwork ` (3 subsequent siblings) 12 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2024-10-14 6:18 UTC (permalink / raw) To: Harish Chegondi; +Cc: intel-xe == Series Details == Series: Add support for EU stall sampling URL : https://patchwork.freedesktop.org/series/139931/ State : success == Summary == lib/modules/6.12.0-rc2-xe/kernel/sound/core/snd-hwdep.ko lib/modules/6.12.0-rc2-xe/kernel/sound/core/snd.ko lib/modules/6.12.0-rc2-xe/kernel/sound/core/snd-pcm.ko lib/modules/6.12.0-rc2-xe/kernel/sound/core/snd-compress.ko lib/modules/6.12.0-rc2-xe/kernel/sound/core/snd-timer.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soundcore.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/intel/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/intel/atom/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/intel/atom/sst/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/intel/atom/sst/snd-intel-sst-core.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/intel/common/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/intel/common/snd-soc-acpi-intel-match.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/amd/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/amd/acp/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/amd/acp/snd-soc-acpi-amd-match.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/amd/snd-acp-config.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-tgl.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-mlink.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-ptl.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-cnl.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-lnl.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-common.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-generic.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-mtl.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/amd/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/amd/snd-sof-amd-renoir.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/amd/snd-sof-amd-acp.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/snd-sof-utils.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/snd-sof-pci.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/snd-sof.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/snd-sof-probes.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/xtensa/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/sof/xtensa/snd-sof-xtensa-dsp.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/snd-soc-core.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/snd-soc-acpi.ko lib/modules/6.12.0-rc2-xe/kernel/sound/soc/codecs/ lib/modules/6.12.0-rc2-xe/kernel/sound/soc/codecs/snd-soc-hdac-hda.ko lib/modules/6.12.0-rc2-xe/kernel/sound/hda/ lib/modules/6.12.0-rc2-xe/kernel/sound/hda/snd-intel-sdw-acpi.ko lib/modules/6.12.0-rc2-xe/kernel/sound/hda/ext/ lib/modules/6.12.0-rc2-xe/kernel/sound/hda/ext/snd-hda-ext-core.ko lib/modules/6.12.0-rc2-xe/kernel/sound/hda/snd-intel-dspcfg.ko lib/modules/6.12.0-rc2-xe/kernel/sound/hda/snd-hda-core.ko lib/modules/6.12.0-rc2-xe/kernel/arch/ lib/modules/6.12.0-rc2-xe/kernel/arch/x86/ lib/modules/6.12.0-rc2-xe/kernel/arch/x86/kernel/ lib/modules/6.12.0-rc2-xe/kernel/arch/x86/kernel/msr.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/kernel/cpuid.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/crypto/ lib/modules/6.12.0-rc2-xe/kernel/arch/x86/crypto/sha512-ssse3.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/crypto/crct10dif-pclmul.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/crypto/ghash-clmulni-intel.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/crypto/sha1-ssse3.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/crypto/crc32-pclmul.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/crypto/sha256-ssse3.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/crypto/aesni-intel.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/crypto/polyval-clmulni.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/events/ lib/modules/6.12.0-rc2-xe/kernel/arch/x86/events/intel/ lib/modules/6.12.0-rc2-xe/kernel/arch/x86/events/intel/intel-cstate.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/events/rapl.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/kvm/ lib/modules/6.12.0-rc2-xe/kernel/arch/x86/kvm/kvm.ko lib/modules/6.12.0-rc2-xe/kernel/arch/x86/kvm/kvm-intel.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/ lib/modules/6.12.0-rc2-xe/kernel/crypto/crypto_simd.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/cmac.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/ccm.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/cryptd.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/polyval-generic.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/async_tx/ lib/modules/6.12.0-rc2-xe/kernel/crypto/async_tx/async_xor.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/async_tx/async_tx.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/async_tx/async_memcpy.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/async_tx/async_pq.ko lib/modules/6.12.0-rc2-xe/kernel/crypto/async_tx/async_raid6_recov.ko lib/modules/6.12.0-rc2-xe/build lib/modules/6.12.0-rc2-xe/modules.alias.bin lib/modules/6.12.0-rc2-xe/modules.builtin lib/modules/6.12.0-rc2-xe/modules.softdep lib/modules/6.12.0-rc2-xe/modules.alias lib/modules/6.12.0-rc2-xe/modules.order lib/modules/6.12.0-rc2-xe/modules.symbols lib/modules/6.12.0-rc2-xe/modules.dep.bin + mv kernel-nodebug.tar.gz .. + cd .. + rm -rf archive ++ date +%s + echo -e '\e[0Ksection_end:1728886694:package_x86_64_nodebug\r\e[0K' + sync ^[[0Ksection_end:1728886694:package_x86_64_nodebug ^[[0K + cleanup ++ stat -c %u:%g /kernel + chown -R 1003:1003 /kernel ^ permalink raw reply [flat|nested] 30+ messages in thread
* ✗ CI.Hooks: failure for Add support for EU stall sampling 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (8 preceding siblings ...) 2024-10-14 6:18 ` ✓ CI.Build: " Patchwork @ 2024-10-14 6:20 ` Patchwork 2024-10-14 6:22 ` ✓ CI.checksparse: success " Patchwork ` (2 subsequent siblings) 12 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2024-10-14 6:20 UTC (permalink / raw) To: Harish Chegondi; +Cc: intel-xe == Series Details == Series: Add support for EU stall sampling URL : https://patchwork.freedesktop.org/series/139931/ State : failure == Summary == run-parts: executing /workspace/ci/hooks/00-showenv + export + grep -Ei '(^|\W)CI_' declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default" declare -x CI_KERNEL_SRC_DIR="/workspace/kernel" declare -x CI_TOOLS_SRC_DIR="/workspace/ci" declare -x CI_WORKSPACE_DIR="/workspace" run-parts: executing /workspace/ci/hooks/10-build-W1 + SRC_DIR=/workspace/kernel + RESTORE_DISPLAY_CONFIG=0 + '[' -n /workspace/kernel/build64-default ']' + BUILD_DIR=/workspace/kernel/build64-default + cd /workspace/kernel ++ nproc + make -j48 O=/workspace/kernel/build64-default modules_prepare make[1]: Entering directory '/workspace/kernel/build64-default' GEN Makefile UPD include/config/kernel.release UPD include/generated/utsrelease.h mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool CALL ../scripts/checksyscalls.sh INSTALL libsubcmd_headers CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o LD /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o AR /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a CC /workspace/kernel/build64-default/tools/objtool/weak.o CC /workspace/kernel/build64-default/tools/objtool/check.o CC /workspace/kernel/build64-default/tools/objtool/special.o CC /workspace/kernel/build64-default/tools/objtool/builtin-check.o CC /workspace/kernel/build64-default/tools/objtool/elf.o CC /workspace/kernel/build64-default/tools/objtool/objtool.o CC /workspace/kernel/build64-default/tools/objtool/orc_gen.o CC /workspace/kernel/build64-default/tools/objtool/orc_dump.o CC /workspace/kernel/build64-default/tools/objtool/libstring.o CC /workspace/kernel/build64-default/tools/objtool/libctype.o CC /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o CC /workspace/kernel/build64-default/tools/objtool/str_error_r.o CC /workspace/kernel/build64-default/tools/objtool/librbtree.o CC /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o CC /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.o LD /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o LD /workspace/kernel/build64-default/tools/objtool/objtool-in.o LINK /workspace/kernel/build64-default/tools/objtool/objtool make[1]: Leaving directory '/workspace/kernel/build64-default' ++ nproc + make -j48 O=/workspace/kernel/build64-default 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 YACC scripts/kconfig/parser.tab.[ch] HOSTCC scripts/kconfig/menu.o HOSTCC scripts/kconfig/preprocess.o HOSTCC scripts/kconfig/symbol.o HOSTCC scripts/kconfig/util.o HOSTCC scripts/kconfig/lexer.lex.o HOSTCC scripts/kconfig/parser.tab.o HOSTLD scripts/kconfig/conf *** Default configuration is based on 'i386_defconfig' # # configuration written to .config # make[1]: Leaving directory '/workspace/kernel/build64-default/build32' + cd /workspace/kernel/build64-default/build32 + /workspace/kernel/scripts/kconfig/merge_config.sh .config /workspace/ci/kernel/10-xe.fragment Using .config as base Merging /workspace/ci/kernel/10-xe.fragment Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/10-xe.fragment: Previous value: # CONFIG_DRM_XE is not set New value: CONFIG_DRM_XE=m Value of CONFIG_SND_DEBUG is redefined by fragment /workspace/ci/kernel/10-xe.fragment: Previous value: # CONFIG_SND_DEBUG is not set New value: CONFIG_SND_DEBUG=y Value of CONFIG_SND_HDA_INTEL is redefined by fragment /workspace/ci/kernel/10-xe.fragment: Previous value: CONFIG_SND_HDA_INTEL=y New value: CONFIG_SND_HDA_INTEL=m Value of CONFIG_SND_HDA_CODEC_HDMI is redefined by fragment /workspace/ci/kernel/10-xe.fragment: Previous value: # CONFIG_SND_HDA_CODEC_HDMI is not set New value: CONFIG_SND_HDA_CODEC_HDMI=m GEN Makefile WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n] Selected by [m]: - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] # # configuration written to .config # Value requested for CONFIG_HAVE_UID16 not in final .config Requested value: CONFIG_HAVE_UID16=y Actual value: Value requested for CONFIG_UID16 not in final .config Requested value: CONFIG_UID16=y Actual value: Value requested for CONFIG_X86_32 not in final .config Requested value: CONFIG_X86_32=y Actual value: Value requested for CONFIG_OUTPUT_FORMAT not in final .config Requested value: CONFIG_OUTPUT_FORMAT="elf32-i386" Actual value: CONFIG_OUTPUT_FORMAT="elf64-x86-64" Value requested for CONFIG_ARCH_MMAP_RND_BITS_MIN not in final .config Requested value: CONFIG_ARCH_MMAP_RND_BITS_MIN=8 Actual value: CONFIG_ARCH_MMAP_RND_BITS_MIN=28 Value requested for CONFIG_ARCH_MMAP_RND_BITS_MAX not in final .config Requested value: CONFIG_ARCH_MMAP_RND_BITS_MAX=16 Actual value: CONFIG_ARCH_MMAP_RND_BITS_MAX=32 Value requested for CONFIG_PGTABLE_LEVELS not in final .config Requested value: CONFIG_PGTABLE_LEVELS=2 Actual value: CONFIG_PGTABLE_LEVELS=5 Value requested for CONFIG_X86_BIGSMP not in final .config Requested value: # CONFIG_X86_BIGSMP is not set Actual value: Value requested for CONFIG_X86_INTEL_QUARK not in final .config Requested value: # CONFIG_X86_INTEL_QUARK is not set Actual value: Value requested for CONFIG_X86_RDC321X not in final .config Requested value: # CONFIG_X86_RDC321X is not set Actual value: Value requested for CONFIG_X86_32_NON_STANDARD not in final .config Requested value: # CONFIG_X86_32_NON_STANDARD is not set Actual value: Value requested for CONFIG_X86_32_IRIS not in final .config Requested value: # CONFIG_X86_32_IRIS is not set Actual value: Value requested for CONFIG_M486SX not in final .config Requested value: # CONFIG_M486SX is not set Actual value: Value requested for CONFIG_M486 not in final .config Requested value: # CONFIG_M486 is not set Actual value: Value requested for CONFIG_M586 not in final .config Requested value: # CONFIG_M586 is not set Actual value: Value requested for CONFIG_M586TSC not in final .config Requested value: # CONFIG_M586TSC is not set Actual value: Value requested for CONFIG_M586MMX not in final .config Requested value: # CONFIG_M586MMX is not set Actual value: Value requested for CONFIG_M686 not in final .config Requested value: CONFIG_M686=y Actual value: Value requested for CONFIG_MPENTIUMII not in final .config Requested value: # CONFIG_MPENTIUMII is not set Actual value: Value requested for CONFIG_MPENTIUMIII not in final .config Requested value: # CONFIG_MPENTIUMIII is not set Actual value: Value requested for CONFIG_MPENTIUMM not in final .config Requested value: # CONFIG_MPENTIUMM is not set Actual value: Value requested for CONFIG_MPENTIUM4 not in final .config Requested value: # CONFIG_MPENTIUM4 is not set Actual value: Value requested for CONFIG_MK6 not in final .config Requested value: # CONFIG_MK6 is not set Actual value: Value requested for CONFIG_MK7 not in final .config Requested value: # CONFIG_MK7 is not set Actual value: Value requested for CONFIG_MCRUSOE not in final .config Requested value: # CONFIG_MCRUSOE is not set Actual value: Value requested for CONFIG_MEFFICEON not in final .config Requested value: # CONFIG_MEFFICEON is not set Actual value: Value requested for CONFIG_MWINCHIPC6 not in final .config Requested value: # CONFIG_MWINCHIPC6 is not set Actual value: Value requested for CONFIG_MWINCHIP3D not in final .config Requested value: # CONFIG_MWINCHIP3D is not set Actual value: Value requested for CONFIG_MELAN not in final .config Requested value: # CONFIG_MELAN is not set Actual value: Value requested for CONFIG_MGEODEGX1 not in final .config Requested value: # CONFIG_MGEODEGX1 is not set Actual value: Value requested for CONFIG_MGEODE_LX not in final .config Requested value: # CONFIG_MGEODE_LX is not set Actual value: Value requested for CONFIG_MCYRIXIII not in final .config Requested value: # CONFIG_MCYRIXIII is not set Actual value: Value requested for CONFIG_MVIAC3_2 not in final .config Requested value: # CONFIG_MVIAC3_2 is not set Actual value: Value requested for CONFIG_MVIAC7 not in final .config Requested value: # CONFIG_MVIAC7 is not set Actual value: Value requested for CONFIG_X86_GENERIC not in final .config Requested value: # CONFIG_X86_GENERIC is not set Actual value: Value requested for CONFIG_X86_INTERNODE_CACHE_SHIFT not in final .config Requested value: CONFIG_X86_INTERNODE_CACHE_SHIFT=5 Actual value: CONFIG_X86_INTERNODE_CACHE_SHIFT=6 Value requested for CONFIG_X86_L1_CACHE_SHIFT not in final .config Requested value: CONFIG_X86_L1_CACHE_SHIFT=5 Actual value: CONFIG_X86_L1_CACHE_SHIFT=6 Value requested for CONFIG_X86_USE_PPRO_CHECKSUM not in final .config Requested value: CONFIG_X86_USE_PPRO_CHECKSUM=y Actual value: Value requested for CONFIG_X86_MINIMUM_CPU_FAMILY not in final .config Requested value: CONFIG_X86_MINIMUM_CPU_FAMILY=6 Actual value: CONFIG_X86_MINIMUM_CPU_FAMILY=64 Value requested for CONFIG_CPU_SUP_TRANSMETA_32 not in final .config Requested value: CONFIG_CPU_SUP_TRANSMETA_32=y Actual value: Value requested for CONFIG_CPU_SUP_VORTEX_32 not in final .config Requested value: CONFIG_CPU_SUP_VORTEX_32=y Actual value: Value requested for CONFIG_HPET_TIMER not in final .config Requested value: # CONFIG_HPET_TIMER is not set Actual value: CONFIG_HPET_TIMER=y Value requested for CONFIG_NR_CPUS_RANGE_END not in final .config Requested value: CONFIG_NR_CPUS_RANGE_END=8 Actual value: CONFIG_NR_CPUS_RANGE_END=512 Value requested for CONFIG_NR_CPUS_DEFAULT not in final .config Requested value: CONFIG_NR_CPUS_DEFAULT=8 Actual value: CONFIG_NR_CPUS_DEFAULT=64 Value requested for CONFIG_X86_ANCIENT_MCE not in final .config Requested value: # CONFIG_X86_ANCIENT_MCE is not set Actual value: Value requested for CONFIG_X86_LEGACY_VM86 not in final .config Requested value: # CONFIG_X86_LEGACY_VM86 is not set Actual value: Value requested for CONFIG_X86_ESPFIX32 not in final .config Requested value: CONFIG_X86_ESPFIX32=y Actual value: Value requested for CONFIG_TOSHIBA not in final .config Requested value: # CONFIG_TOSHIBA is not set Actual value: Value requested for CONFIG_X86_REBOOTFIXUPS not in final .config Requested value: # CONFIG_X86_REBOOTFIXUPS is not set Actual value: Value requested for CONFIG_MICROCODE_INITRD32 not in final .config Requested value: CONFIG_MICROCODE_INITRD32=y Actual value: Value requested for CONFIG_NOHIGHMEM not in final .config Requested value: # CONFIG_NOHIGHMEM is not set Actual value: Value requested for CONFIG_HIGHMEM4G not in final .config Requested value: CONFIG_HIGHMEM4G=y Actual value: Value requested for CONFIG_HIGHMEM64G not in final .config Requested value: # CONFIG_HIGHMEM64G is not set Actual value: Value requested for CONFIG_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_PCM not in final .config Requested value: CONFIG_SND_PCM=y Actual value: CONFIG_SND_PCM=m Value requested for CONFIG_SND_HWDEP not in final .config Requested value: CONFIG_SND_HWDEP=y Actual value: CONFIG_SND_HWDEP=m Value requested for CONFIG_SND_DYNAMIC_MINORS not in final .config Requested value: # CONFIG_SND_DYNAMIC_MINORS is not set Actual value: CONFIG_SND_DYNAMIC_MINORS=y Value requested for CONFIG_SND_CS5530 not in final .config Requested value: # CONFIG_SND_CS5530 is not set Actual value: Value requested for CONFIG_SND_CS5535AUDIO not in final .config Requested value: # CONFIG_SND_CS5535AUDIO is not set Actual value: Value requested for CONFIG_SND_SIS7019 not in final .config Requested value: # CONFIG_SND_SIS7019 is not set Actual value: Value requested for CONFIG_SND_HDA not in final .config Requested value: CONFIG_SND_HDA=y Actual value: CONFIG_SND_HDA=m Value requested for CONFIG_SND_HDA_CORE not in final .config Requested value: CONFIG_SND_HDA_CORE=y Actual value: CONFIG_SND_HDA_CORE=m Value requested for CONFIG_SND_INTEL_DSP_CONFIG not in final .config Requested value: CONFIG_SND_INTEL_DSP_CONFIG=y Actual value: CONFIG_SND_INTEL_DSP_CONFIG=m Value requested for CONFIG_SND_INTEL_SOUNDWIRE_ACPI not in final .config Requested value: CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y Actual value: CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m Value requested for CONFIG_LEDS_OT200 not in final .config Requested value: # CONFIG_LEDS_OT200 is not set Actual value: Value requested for CONFIG_PCH_DMA not in final .config Requested value: # CONFIG_PCH_DMA is not set Actual value: Value requested for CONFIG_CLKSRC_I8253 not in final .config Requested value: CONFIG_CLKSRC_I8253=y Actual value: Value requested for CONFIG_MAILBOX not in final .config Requested value: # CONFIG_MAILBOX is not set Actual value: CONFIG_MAILBOX=y Value requested for CONFIG_CRYPTO_SERPENT_SSE2_586 not in final .config Requested value: # CONFIG_CRYPTO_SERPENT_SSE2_586 is not set Actual value: Value requested for CONFIG_CRYPTO_TWOFISH_586 not in final .config Requested value: # CONFIG_CRYPTO_TWOFISH_586 is not set Actual value: Value requested for CONFIG_CRYPTO_DEV_GEODE not in final .config Requested value: # CONFIG_CRYPTO_DEV_GEODE is not set Actual value: Value requested for CONFIG_CRYPTO_DEV_HIFN_795X not in final .config Requested value: # CONFIG_CRYPTO_DEV_HIFN_795X is not set Actual value: Value requested for CONFIG_CRYPTO_LIB_POLY1305_RSIZE not in final .config Requested value: CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 Actual value: CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 Value requested for CONFIG_AUDIT_GENERIC not in final .config Requested value: CONFIG_AUDIT_GENERIC=y Actual value: Value requested for CONFIG_GENERIC_VDSO_32 not in final .config Requested value: CONFIG_GENERIC_VDSO_32=y Actual value: Value requested for CONFIG_DEBUG_KMAP_LOCAL not in final .config Requested value: # CONFIG_DEBUG_KMAP_LOCAL is not set Actual value: Value requested for CONFIG_DEBUG_HIGHMEM not in final .config Requested value: # CONFIG_DEBUG_HIGHMEM is not set Actual value: Value requested for CONFIG_HAVE_DEBUG_STACKOVERFLOW not in final .config Requested value: CONFIG_HAVE_DEBUG_STACKOVERFLOW=y Actual value: Value requested for CONFIG_DEBUG_STACKOVERFLOW not in final .config Requested value: # CONFIG_DEBUG_STACKOVERFLOW is not set Actual value: Value requested for CONFIG_HAVE_FUNCTION_GRAPH_TRACER not in final .config Requested value: CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y Actual value: Value requested for CONFIG_HAVE_FUNCTION_GRAPH_RETVAL not in final .config Requested value: CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y Actual value: Value requested for CONFIG_DRM_KUNIT_TEST not in final .config Requested value: CONFIG_DRM_KUNIT_TEST=m Actual value: Value requested for CONFIG_DRM_XE_WERROR not in final .config Requested value: CONFIG_DRM_XE_WERROR=y Actual value: Value requested for CONFIG_DRM_XE_DEBUG not in final .config Requested value: CONFIG_DRM_XE_DEBUG=y Actual value: Value requested for CONFIG_DRM_XE_DEBUG_MEM not in final .config Requested value: CONFIG_DRM_XE_DEBUG_MEM=y Actual value: Value requested for CONFIG_DRM_XE_KUNIT_TEST not in final .config Requested value: CONFIG_DRM_XE_KUNIT_TEST=m Actual value: ++ nproc + make -j48 ARCH=i386 olddefconfig GEN Makefile WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n] Selected by [m]: - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] # # configuration written to .config # ++ nproc + make -j48 ARCH=i386 SYNC include/config/auto.conf.cmd GEN Makefile WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n] Selected by [m]: - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n] Selected by [m]: - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n] Selected by [m]: - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] GEN Makefile WRAP arch/x86/include/generated/uapi/asm/bpf_perf_event.h WRAP arch/x86/include/generated/uapi/asm/errno.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h WRAP arch/x86/include/generated/uapi/asm/ioctl.h WRAP arch/x86/include/generated/uapi/asm/fcntl.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h UPD include/generated/uapi/linux/version.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h WRAP arch/x86/include/generated/uapi/asm/ioctls.h SYSTBL arch/x86/include/generated/asm/syscalls_32.h WRAP arch/x86/include/generated/uapi/asm/ipcbuf.h WRAP arch/x86/include/generated/uapi/asm/param.h WRAP arch/x86/include/generated/uapi/asm/poll.h WRAP arch/x86/include/generated/uapi/asm/resource.h WRAP arch/x86/include/generated/uapi/asm/socket.h WRAP arch/x86/include/generated/uapi/asm/sockios.h WRAP arch/x86/include/generated/uapi/asm/termbits.h WRAP arch/x86/include/generated/uapi/asm/termios.h WRAP arch/x86/include/generated/uapi/asm/types.h HOSTCC arch/x86/tools/relocs_32.o HOSTCC arch/x86/tools/relocs_64.o UPD include/generated/compile.h HOSTCC arch/x86/tools/relocs_common.o WRAP arch/x86/include/generated/asm/early_ioremap.h WRAP arch/x86/include/generated/asm/mcs_spinlock.h WRAP arch/x86/include/generated/asm/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/genheaders/genheaders HOSTCC scripts/selinux/mdp/mdp HOSTLD arch/x86/tools/relocs UPD include/config/kernel.release UPD include/generated/utsrelease.h CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s UPD scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTCC scripts/mod/symsearch.o HOSTLD scripts/mod/modpost CC kernel/bounds.s CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-arch-fallback.h CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-instrumented.h CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-long.h UPD include/generated/timeconst.h UPD include/generated/bounds.h CC arch/x86/kernel/asm-offsets.s UPD include/generated/asm-offsets.h CALL /workspace/kernel/scripts/checksyscalls.sh LDS scripts/module.lds HOSTCC usr/gen_init_cpio CC init/main.o CC init/do_mounts.o CC certs/system_keyring.o CC init/do_mounts_initrd.o CC ipc/util.o UPD init/utsversion-tmp.h CC init/initramfs.o CC security/commoncap.o CC ipc/msgutil.o CC init/calibrate.o CC ipc/msg.o CC security/lsm_syscalls.o CC mm/filemap.o AS arch/x86/lib/atomic64_cx8_32.o CC security/min_addr.o CC ipc/sem.o CC init/init_task.o AS arch/x86/lib/checksum_32.o CC mm/mempool.o CC security/security.o CC block/bdev.o CC io_uring/io_uring.o CC arch/x86/realmode/init.o AR arch/x86/net/built-in.a AR arch/x86/crypto/built-in.a CC arch/x86/pci/i386.o CC security/integrity/iint.o CC security/keys/gc.o GEN security/selinux/flask.h security/selinux/av_permissions.h CC arch/x86/power/cpu.o CC block/partitions/core.o CC arch/x86/video/video-common.o AR arch/x86/entry/vsyscall/built-in.a CC arch/x86/events/amd/core.o AR virt/lib/built-in.a CC arch/x86/mm/pat/set_memory.o AR arch/x86/platform/atom/built-in.a AR arch/x86/virt/svm/built-in.a CC ipc/shm.o AS arch/x86/realmode/rm/header.o CC arch/x86/kernel/fpu/init.o CC security/selinux/avc.o CC lib/math/div64.o AR drivers/cache/built-in.a CC net/core/sock.o CC sound/core/sound.o AR virt/built-in.a CC fs/notify/dnotify/dnotify.o AR arch/x86/virt/vmx/built-in.a CC sound/core/seq/seq.o AS arch/x86/realmode/rm/trampoline_32.o AR arch/x86/platform/ce4100/built-in.a CC security/keys/key.o CC io_uring/opdef.o AR arch/x86/virt/built-in.a AR drivers/irqchip/built-in.a CC arch/x86/entry/vdso/vma.o CC arch/x86/lib/cmdline.o CC arch/x86/platform/efi/memmap.o AS arch/x86/lib/cmpxchg8b_emu.o CC arch/x86/events/intel/core.o AS arch/x86/realmode/rm/stack.o AR drivers/bus/mhi/built-in.a CC kernel/sched/core.o AR drivers/bus/built-in.a CC arch/x86/mm/init.o CC crypto/asymmetric_keys/asymmetric_type.o AS arch/x86/realmode/rm/reboot.o AR drivers/pwm/built-in.a AR drivers/leds/trigger/built-in.a AS arch/x86/realmode/rm/wakeup_asm.o AR drivers/leds/blink/built-in.a AR drivers/leds/simple/built-in.a CC arch/x86/realmode/rm/wakemain.o CC drivers/leds/led-core.o CC arch/x86/lib/cpu.o CC lib/math/gcd.o CC arch/x86/realmode/rm/video-mode.o CC lib/math/lcm.o CC lib/math/int_log.o CC mm/oom_kill.o AS arch/x86/realmode/rm/copy.o AS arch/x86/realmode/rm/bioscall.o GEN usr/initramfs_data.cpio COPY usr/initramfs_inc_data CC arch/x86/realmode/rm/regs.o AS usr/initramfs_data.o CC arch/x86/kernel/fpu/bugs.o HOSTCC certs/extract-cert CC lib/math/int_pow.o AR usr/built-in.a CC ipc/syscall.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 arch/x86/lib/delay.o CC sound/core/seq/seq_lock.o CC arch/x86/realmode/rm/video-bios.o CC arch/x86/mm/init_32.o CC lib/math/rational.o AR arch/x86/video/built-in.a CC drivers/leds/led-class.o CC crypto/api.o PASYMS arch/x86/realmode/rm/pasyms.h CERT certs/x509_certificate_list CERT certs/signing_key.x509 AS certs/system_certificates.o CC arch/x86/events/zhaoxin/core.o AR certs/built-in.a LDS arch/x86/realmode/rm/realmode.lds CC ipc/ipc_sysctl.o CC arch/x86/kernel/cpu/mce/core.o CC mm/fadvise.o LD arch/x86/realmode/rm/realmode.elf CC security/integrity/integrity_audit.o RELOCS arch/x86/realmode/rm/realmode.relocs OBJCOPY arch/x86/realmode/rm/realmode.bin AS arch/x86/realmode/rmpiggy.o CC mm/maccess.o AR arch/x86/realmode/built-in.a CC arch/x86/events/core.o CC arch/x86/pci/init.o CC security/selinux/hooks.o CC fs/notify/inotify/inotify_fsnotify.o CC security/selinux/selinuxfs.o CC crypto/asymmetric_keys/restrict.o CC arch/x86/kernel/cpu/mtrr/mtrr.o CC arch/x86/platform/efi/quirks.o CC arch/x86/entry/vdso/extable.o AR fs/notify/dnotify/built-in.a CC crypto/asymmetric_keys/signature.o AS arch/x86/lib/getuser.o CC arch/x86/power/hibernate_32.o GEN arch/x86/lib/inat-tables.c CC arch/x86/lib/insn-eval.o CC block/partitions/msdos.o CC sound/core/seq/seq_clientmgr.o AR arch/x86/platform/geode/built-in.a CC kernel/sched/fair.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 security/keys/keyring.o AR arch/x86/platform/iris/built-in.a CC security/selinux/netlink.o CC lib/crypto/mpi/generic_mpih-mul1.o CC arch/x86/kernel/cpu/mce/severity.o CC net/ethernet/eth.o CC drivers/leds/led-triggers.o CC arch/x86/events/amd/lbr.o AS arch/x86/power/hibernate_asm_32.o CC lib/zlib_inflate/inflate.o CC arch/x86/platform/efi/efi.o CC arch/x86/lib/insn.o CC drivers/pci/msi/pcidev_msi.o CC drivers/pci/pcie/portdrv.o AR drivers/pci/pwrctl/built-in.a CC drivers/pci/hotplug/pci_hotplug_core.o CC fs/notify/inotify/inotify_user.o CC crypto/asymmetric_keys/public_key.o CC arch/x86/pci/pcbios.o CC arch/x86/kernel/acpi/boot.o AR security/integrity/built-in.a CC drivers/pci/msi/api.o CC drivers/pci/msi/msi.o CC drivers/pci/hotplug/acpi_pcihp.o CC arch/x86/mm/pat/memtype.o CC init/version.o CC kernel/locking/mutex.o CC arch/x86/platform/efi/efi_32.o CC arch/x86/kernel/cpu/mtrr/if.o AS arch/x86/entry/entry.o AR arch/x86/events/zhaoxin/built-in.a CC arch/x86/power/hibernate.o LDS arch/x86/entry/vdso/vdso32/vdso32.lds CC arch/x86/kernel/cpu/mtrr/generic.o AS arch/x86/entry/vdso/vdso32/note.o AR net/802/built-in.a CC lib/crypto/utils.o AS arch/x86/entry/vdso/vdso32/system_call.o CC sound/core/seq/seq_memory.o CC io_uring/kbuf.o AS arch/x86/entry/vdso/vdso32/sigreturn.o CC arch/x86/entry/vdso/vdso32/vclock_gettime.o CC lib/crypto/mpi/generic_mpih-mul2.o CC arch/x86/kernel/fpu/regset.o AR init/built-in.a CC block/partitions/efi.o CC arch/x86/platform/intel/iosf_mbi.o AR arch/x86/platform/intel-mid/built-in.a AR sound/i2c/other/built-in.a AR sound/i2c/built-in.a CC arch/x86/lib/kaslr.o CC ipc/mqueue.o CC sound/core/init.o CC kernel/locking/semaphore.o CC lib/zlib_inflate/infutil.o CC security/lsm_audit.o AR drivers/leds/built-in.a CC kernel/locking/rwsem.o AR drivers/pci/controller/dwc/built-in.a AR drivers/pci/controller/mobiveil/built-in.a CC kernel/locking/percpu-rwsem.o AR drivers/pci/controller/plda/built-in.a AR drivers/pci/controller/built-in.a ASN.1 crypto/asymmetric_keys/x509.asn1.[ch] ASN.1 crypto/asymmetric_keys/x509_akid.asn1.[ch] CC crypto/asymmetric_keys/x509_loader.o CC kernel/locking/spinlock.o CC arch/x86/lib/memcpy_32.o AR drivers/pci/switch/built-in.a CC kernel/locking/osq_lock.o AS arch/x86/lib/memmove_32.o CC arch/x86/lib/misc.o CC arch/x86/pci/mmconfig_32.o CC arch/x86/events/amd/ibs.o CC drivers/pci/pcie/rcec.o CC arch/x86/lib/pc-conf-reg.o CC arch/x86/mm/fault.o CC net/core/request_sock.o AR drivers/pci/hotplug/built-in.a CC security/keys/keyctl.o CC lib/zlib_deflate/deflate.o CC crypto/asymmetric_keys/x509_public_key.o CC arch/x86/mm/pat/memtype_interval.o AR fs/notify/inotify/built-in.a AR arch/x86/power/built-in.a ASN.1 crypto/asymmetric_keys/pkcs7.asn1.[ch] AS arch/x86/platform/efi/efi_stub_32.o AS arch/x86/lib/putuser.o AR fs/notify/fanotify/built-in.a CC net/sched/sch_generic.o CC lib/zlib_inflate/inftrees.o CC fs/notify/fsnotify.o AS arch/x86/lib/retpoline.o CC arch/x86/platform/efi/runtime-map.o CC crypto/cipher.o CC sound/core/memory.o CC arch/x86/lib/string_32.o CC lib/crypto/mpi/generic_mpih-mul3.o CC arch/x86/entry/vdso/vdso32/vgetcpu.o CC mm/page-writeback.o CC arch/x86/lib/strstr_32.o HOSTCC arch/x86/entry/vdso/vdso2c CC arch/x86/lib/usercopy.o CC drivers/video/console/dummycon.o CC lib/zlib_inflate/inflate_syms.o CC sound/core/seq/seq_queue.o CC drivers/pci/msi/irqdomain.o AR arch/x86/platform/intel/built-in.a CC arch/x86/kernel/fpu/signal.o CC arch/x86/pci/direct.o CC kernel/power/qos.o CC arch/x86/kernel/cpu/mce/genpool.o CC drivers/video/backlight/backlight.o AR net/ethernet/built-in.a CC arch/x86/kernel/acpi/sleep.o AR drivers/video/fbdev/core/built-in.a CC arch/x86/kernel/apic/apic.o CC arch/x86/kernel/cpu/mtrr/cleanup.o AR drivers/video/fbdev/omap/built-in.a CC security/device_cgroup.o AR block/partitions/built-in.a CC block/fops.o AR drivers/video/fbdev/omap2/omapfb/dss/built-in.a AR drivers/video/fbdev/omap2/omapfb/displays/built-in.a AR drivers/video/fbdev/omap2/omapfb/built-in.a AR drivers/video/fbdev/omap2/built-in.a AR drivers/video/fbdev/built-in.a CC arch/x86/kernel/cpu/mtrr/amd.o CC arch/x86/lib/usercopy_32.o CC arch/x86/kernel/kprobes/core.o CC lib/zlib_deflate/deftree.o CC block/bio.o CC kernel/locking/qspinlock.o AR lib/zlib_inflate/built-in.a CC lib/lzo/lzo1x_compress.o CC kernel/locking/rtmutex_api.o CC crypto/asymmetric_keys/pkcs7_trust.o CC arch/x86/entry/vdso/vdso32-setup.o CC drivers/pci/pcie/aspm.o LDS arch/x86/kernel/vmlinux.lds CC arch/x86/pci/mmconfig-shared.o CC lib/crypto/mpi/generic_mpih-rshift.o AR arch/x86/mm/pat/built-in.a CC lib/lzo/lzo1x_decompress_safe.o CC arch/x86/events/probe.o CC drivers/video/console/vgacon.o CC crypto/asymmetric_keys/pkcs7_verify.o CC lib/lz4/lz4_decompress.o CC arch/x86/lib/msr-smp.o CC arch/x86/lib/cache-smp.o CC arch/x86/lib/msr.o CC drivers/pci/access.o AR arch/x86/platform/efi/built-in.a VDSO arch/x86/entry/vdso/vdso32.so.dbg AR arch/x86/platform/intel-quark/built-in.a AR arch/x86/platform/olpc/built-in.a AR arch/x86/platform/scx200/built-in.a OBJCOPY arch/x86/entry/vdso/vdso32.so VDSO2C arch/x86/entry/vdso/vdso-image-32.c CC arch/x86/entry/vdso/vdso-image-32.o AR arch/x86/platform/ts5500/built-in.a CC drivers/pci/bus.o AR arch/x86/platform/uv/built-in.a AR arch/x86/platform/built-in.a CC arch/x86/events/intel/bts.o CC lib/zlib_deflate/deflate_syms.o CC ipc/namespace.o CC arch/x86/kernel/cpu/mce/intel.o CC fs/notify/notification.o CC net/core/skbuff.o CC lib/crypto/chacha.o CC ipc/mq_sysctl.o AR drivers/pci/msi/built-in.a CC net/sched/sch_mq.o CC arch/x86/events/intel/ds.o CC arch/x86/events/amd/uncore.o CC sound/core/seq/seq_fifo.o CC io_uring/rsrc.o AS arch/x86/kernel/acpi/wakeup_32.o CC crypto/compress.o CC security/keys/permission.o CC kernel/sched/build_policy.o CC arch/x86/kernel/acpi/cstate.o CC security/keys/process_keys.o CC arch/x86/kernel/cpu/mtrr/cyrix.o CC arch/x86/mm/ioremap.o AR arch/x86/entry/vdso/built-in.a AS arch/x86/entry/entry_32.o AR sound/drivers/opl3/built-in.a CC crypto/asymmetric_keys/x509.asn1.o AR sound/drivers/opl4/built-in.a AR lib/lzo/built-in.a AR sound/drivers/mpu401/built-in.a AR drivers/video/backlight/built-in.a CC crypto/asymmetric_keys/x509_akid.asn1.o AR sound/isa/ad1816a/built-in.a AR sound/drivers/vx/built-in.a AR sound/pci/ac97/built-in.a CC arch/x86/kernel/fpu/xstate.o CC arch/x86/entry/syscall_32.o AR sound/drivers/pcsp/built-in.a AR sound/isa/ad1848/built-in.a AR sound/ppc/built-in.a AR sound/pci/ali5451/built-in.a AR sound/drivers/built-in.a CC net/core/datagram.o AR sound/isa/cs423x/built-in.a CC lib/crypto/mpi/generic_mpih-sub1.o CC crypto/asymmetric_keys/x509_cert_parser.o AR sound/pci/asihpi/built-in.a AR sound/isa/es1688/built-in.a CC net/core/stream.o AR sound/pci/au88x0/built-in.a AR sound/isa/galaxy/built-in.a CC arch/x86/pci/fixup.o AR sound/pci/aw2/built-in.a AR sound/isa/gus/built-in.a AR sound/pci/ctxfi/built-in.a AR sound/isa/msnd/built-in.a AR sound/pci/ca0106/built-in.a AR lib/zlib_deflate/built-in.a AR sound/isa/opti9xx/built-in.a CC arch/x86/mm/extable.o AR sound/isa/sb/built-in.a AR sound/pci/cs46xx/built-in.a AR sound/pci/cs5535audio/built-in.a AR sound/isa/wavefront/built-in.a AR sound/pci/lola/built-in.a AR sound/isa/wss/built-in.a AR sound/isa/built-in.a AR sound/pci/lx6464es/built-in.a AR sound/pci/echoaudio/built-in.a CC arch/x86/kernel/kprobes/opt.o AR sound/pci/emu10k1/built-in.a AR sound/pci/hda/built-in.a CC [M] sound/pci/hda/hda_bind.o CC fs/nfs_common/nfsacl.o CC arch/x86/kernel/cpu/mtrr/centaur.o CC fs/notify/group.o AR ipc/built-in.a CC kernel/power/main.o CC net/netlink/af_netlink.o CC kernel/locking/qrwlock.o AR net/bpf/built-in.a CC arch/x86/kernel/apic/apic_common.o CC arch/x86/kernel/cpu/mce/amd.o CC fs/iomap/trace.o CC arch/x86/kernel/cpu/microcode/core.o AR arch/x86/kernel/acpi/built-in.a CC [M] sound/pci/hda/hda_codec.o CC block/elevator.o CC arch/x86/kernel/cpu/mtrr/legacy.o AS arch/x86/lib/msr-reg.o CC arch/x86/lib/msr-reg-export.o CC sound/core/seq/seq_prioq.o CC arch/x86/entry/common.o AS arch/x86/entry/thunk.o CC [M] sound/pci/hda/hda_jack.o AR drivers/video/console/built-in.a CC arch/x86/kernel/cpu/microcode/intel.o CC drivers/video/aperture.o CC crypto/asymmetric_keys/pkcs7.asn1.o CC crypto/asymmetric_keys/pkcs7_parser.o CC arch/x86/pci/acpi.o CC lib/crypto/mpi/generic_mpih-add1.o CC arch/x86/kernel/cpu/mce/threshold.o CC drivers/pci/pcie/pme.o AS arch/x86/lib/hweight.o CC arch/x86/lib/iomem.o CC net/sched/sch_frag.o AR kernel/locking/built-in.a CC kernel/power/console.o AR sound/pci/ice1712/built-in.a AR sound/pci/korg1212/built-in.a CC fs/quota/dquot.o AR sound/arm/built-in.a AR arch/x86/kernel/cpu/mtrr/built-in.a CC drivers/pci/probe.o CC mm/folio-compat.o CC arch/x86/lib/atomic64_32.o CC arch/x86/kernel/apic/apic_noop.o CC net/core/scm.o CC fs/nfs_common/grace.o AR sound/pci/mixart/built-in.a CC arch/x86/events/intel/knc.o AR lib/lz4/built-in.a CC fs/iomap/iter.o CC security/keys/request_key.o AR arch/x86/events/amd/built-in.a CC sound/core/control.o AR sound/pci/nm256/built-in.a CC fs/iomap/buffered-io.o CC drivers/video/cmdline.o CC fs/notify/mark.o AR arch/x86/kernel/kprobes/built-in.a CC sound/core/seq/seq_timer.o AR drivers/idle/built-in.a CC arch/x86/kernel/apic/ipi.o CC mm/readahead.o CC arch/x86/mm/mmap.o CC net/ethtool/ioctl.o CC arch/x86/lib/inat.o CC net/netfilter/core.o CC net/ipv4/netfilter/nf_defrag_ipv4.o AR crypto/asymmetric_keys/built-in.a CC crypto/algapi.o CC fs/nfs_common/common.o CC lib/crypto/mpi/mpicoder.o CC security/selinux/nlmsgtab.o AR arch/x86/lib/built-in.a AR arch/x86/kernel/fpu/built-in.a AR arch/x86/lib/lib.a CC arch/x86/pci/legacy.o CC fs/proc/task_mmu.o CC net/ipv4/netfilter/nf_reject_ipv4.o AR arch/x86/entry/built-in.a CC io_uring/notif.o CC arch/x86/events/intel/lbr.o CC arch/x86/kernel/cpu/microcode/amd.o CC crypto/scatterwalk.o CC crypto/proc.o AR sound/pci/oxygen/built-in.a CC net/xfrm/xfrm_policy.o AR drivers/pci/pcie/built-in.a CC net/unix/af_unix.o CC net/xfrm/xfrm_state.o CC net/core/gen_stats.o CC kernel/power/process.o CC net/unix/garbage.o CC net/xfrm/xfrm_hash.o CC arch/x86/kernel/apic/vector.o CC fs/iomap/direct-io.o CC block/blk-core.o CC drivers/video/nomodeset.o CC sound/core/misc.o CC net/sched/sch_api.o CC sound/core/seq/seq_system.o CC io_uring/tctx.o CC arch/x86/mm/pgtable.o CC net/netlink/genetlink.o CC security/keys/request_key_auth.o CC net/ipv6/netfilter/ip6_tables.o CC fs/notify/fdinfo.o CC lib/crypto/mpi/mpi-add.o AR fs/nfs_common/built-in.a CC net/ipv6/af_inet6.o CC security/keys/user_defined.o CC arch/x86/pci/irq.o AR arch/x86/kernel/cpu/mce/built-in.a CC arch/x86/pci/common.o CC block/blk-sysfs.o CC arch/x86/kernel/apic/init.o CC drivers/video/hdmi.o CC lib/crypto/aes.o CC mm/swap.o CC security/selinux/netif.o AR arch/x86/kernel/cpu/microcode/built-in.a CC arch/x86/kernel/cpu/cacheinfo.o CC net/packet/af_packet.o CC arch/x86/kernel/cpu/scattered.o AS arch/x86/kernel/head_32.o CC [M] sound/pci/hda/hda_auto_parser.o CC sound/core/seq/seq_ports.o CC fs/iomap/fiemap.o CC arch/x86/kernel/cpu/topology_common.o CC lib/crypto/arc4.o CC crypto/aead.o CC drivers/pci/host-bridge.o CC kernel/printk/printk.o CC net/ipv4/netfilter/ip_tables.o CC arch/x86/mm/physaddr.o CC lib/crypto/mpi/mpi-bit.o CC security/keys/proc.o AR fs/notify/built-in.a CC arch/x86/mm/tlb.o CC arch/x86/mm/cpu_entry_area.o CC net/netfilter/nf_log.o CC arch/x86/mm/maccess.o CC net/sched/sch_blackhole.o CC security/selinux/netnode.o CC arch/x86/events/intel/p4.o CC security/selinux/netport.o CC io_uring/filetable.o CC security/selinux/status.o CC kernel/power/suspend.o CC lib/crypto/mpi/mpi-cmp.o CC net/netfilter/nf_queue.o CC kernel/printk/printk_safe.o CC fs/quota/quota_v2.o CC sound/core/device.o AR drivers/video/built-in.a CC fs/proc/inode.o CC crypto/geniv.o CC fs/kernfs/mount.o CC net/ipv6/anycast.o CC fs/iomap/seek.o CC net/netlink/policy.o CC net/ipv6/netfilter/ip6table_filter.o CC arch/x86/pci/early.o CC drivers/pci/remove.o CC arch/x86/events/intel/p6.o CC sound/core/seq/seq_info.o CC net/netfilter/nf_sockopt.o CC security/keys/sysctl.o CC arch/x86/kernel/cpu/topology_ext.o CC security/selinux/ss/ebitmap.o CC sound/core/info.o CC lib/crypto/mpi/mpi-sub-ui.o CC arch/x86/kernel/apic/hw_nmi.o CC lib/zstd/zstd_decompress_module.o CC fs/quota/quota_tree.o CC kernel/power/hibernate.o CC arch/x86/events/utils.o CC net/ipv4/route.o CC fs/kernfs/inode.o CC fs/iomap/swapfile.o CC mm/truncate.o CC [M] sound/pci/hda/hda_sysfs.o CC sound/core/seq/seq_dummy.o CC arch/x86/mm/pgprot.o CC io_uring/rw.o CC net/ipv4/netfilter/iptable_filter.o CC fs/proc/root.o CC arch/x86/kernel/cpu/topology_amd.o CC lib/zstd/decompress/huf_decompress.o CC net/netfilter/utils.o AR sound/pci/pcxhr/built-in.a CC lib/crypto/gf128mul.o CC arch/x86/pci/bus_numa.o CC kernel/printk/nbcon.o CC lib/xz/xz_dec_syms.o CC block/blk-flush.o CC net/sched/cls_api.o CC crypto/lskcipher.o CC security/keys/keyctl_pkey.o CC net/ethtool/common.o CC net/ipv6/ip6_output.o CC arch/x86/kernel/apic/io_apic.o CC net/ipv4/netfilter/iptable_mangle.o CC drivers/pci/pci.o CC net/unix/sysctl_net_unix.o CC lib/crypto/mpi/mpi-div.o CC arch/x86/events/intel/pt.o CC [M] sound/pci/hda/hda_controller.o CC net/ipv4/inetpeer.o CC kernel/sched/build_utility.o AR net/netlink/built-in.a CC net/xfrm/xfrm_input.o CC arch/x86/events/intel/uncore.o CC lib/xz/xz_dec_stream.o CC arch/x86/events/intel/uncore_nhmex.o CC arch/x86/kernel/cpu/common.o CC arch/x86/mm/pgtable_32.o AR sound/core/seq/built-in.a CC arch/x86/mm/iomap_32.o CC sound/core/isadma.o CC net/ipv6/netfilter/ip6table_mangle.o AR sound/pci/riptide/built-in.a CC lib/crypto/blake2s.o CC arch/x86/events/rapl.o CC sound/core/vmaster.o CC fs/quota/quota.o AR fs/iomap/built-in.a CC fs/quota/kqid.o CC fs/kernfs/dir.o CC arch/x86/kernel/apic/msi.o CC net/ipv4/netfilter/ipt_REJECT.o CC arch/x86/pci/amd_bus.o AR security/keys/built-in.a CC sound/core/ctljack.o CC fs/proc/base.o CC security/selinux/ss/hashtab.o AR drivers/char/ipmi/built-in.a AR sound/sh/built-in.a CC io_uring/net.o CC net/netfilter/nfnetlink.o CC block/blk-settings.o CC lib/crypto/mpi/mpi-mod.o CC net/core/gen_estimator.o CC kernel/power/snapshot.o CC net/sched/act_api.o CC mm/vmscan.o CC lib/xz/xz_dec_lzma2.o CC arch/x86/events/intel/uncore_snb.o CC kernel/printk/printk_ringbuffer.o AR net/dsa/built-in.a CC fs/proc/generic.o CC crypto/skcipher.o AR net/unix/built-in.a CC crypto/seqiv.o CC arch/x86/kernel/cpu/rdrand.o CC arch/x86/mm/hugetlbpage.o CC net/ethtool/netlink.o CC arch/x86/mm/dump_pagetables.o CC net/sunrpc/auth_gss/auth_gss.o CC sound/core/jack.o CC security/selinux/ss/symtab.o CC mm/shrinker.o AR sound/synth/emux/built-in.a AR sound/synth/built-in.a CC lib/zstd/decompress/zstd_ddict.o CC drivers/acpi/acpica/dsargs.o AR drivers/acpi/pmic/built-in.a CC drivers/pnp/pnpacpi/core.o CC fs/kernfs/file.o AR drivers/amba/built-in.a CC net/netfilter/nfnetlink_log.o CC lib/zstd/decompress/zstd_decompress.o CC lib/dim/dim.o CC lib/xz/xz_dec_bcj.o CC security/selinux/ss/sidtab.o CC lib/crypto/mpi/mpi-mul.o AR arch/x86/pci/built-in.a CC arch/x86/events/msr.o CC fs/quota/netlink.o CC fs/sysfs/file.o AR net/packet/built-in.a CC net/ipv6/ip6_input.o CC fs/devpts/inode.o CC [M] sound/pci/hda/hda_proc.o CC drivers/acpi/acpica/dscontrol.o CC net/ipv6/netfilter/nf_defrag_ipv6_hooks.o CC lib/crypto/mpi/mpih-cmp.o CC kernel/printk/sysctl.o CC block/blk-ioc.o CC arch/x86/kernel/head32.o CC fs/netfs/buffered_read.o CC [M] net/ipv4/netfilter/iptable_nat.o CC lib/dim/net_dim.o CC arch/x86/kernel/apic/probe_32.o CC arch/x86/kernel/cpu/match.o CC net/xfrm/xfrm_output.o CC net/xfrm/xfrm_sysctl.o CC net/core/net_namespace.o CC sound/core/timer.o CC block/blk-map.o AR lib/xz/built-in.a CC crypto/echainiv.o CC drivers/pnp/pnpacpi/rsparser.o CC arch/x86/mm/highmem_32.o CC net/ethtool/bitset.o CC arch/x86/kernel/ebda.o CC arch/x86/events/intel/uncore_snbep.o CC drivers/acpi/acpica/dsdebug.o CC net/sunrpc/clnt.o AR kernel/printk/built-in.a CC net/xfrm/xfrm_replay.o CC drivers/acpi/dptf/int340x_thermal.o CC arch/x86/kernel/cpu/bugs.o CC fs/kernfs/symlink.o CC lib/zstd/decompress/zstd_decompress_block.o CC lib/crypto/mpi/mpih-div.o CC lib/crypto/mpi/mpih-mul.o CC lib/crypto/mpi/mpi-pow.o CC fs/sysfs/dir.o AR arch/x86/kernel/apic/built-in.a CC drivers/pci/pci-driver.o AR fs/quota/built-in.a CC drivers/acpi/acpica/dsfield.o AR sound/pci/rme9652/built-in.a CC kernel/power/swap.o AR fs/devpts/built-in.a CC kernel/irq/irqdesc.o CC lib/crypto/blake2s-generic.o CC arch/x86/events/intel/uncore_discovery.o CC fs/netfs/buffered_write.o AR net/ipv4/netfilter/built-in.a CC crypto/ahash.o CC kernel/rcu/update.o AR drivers/acpi/dptf/built-in.a CC kernel/rcu/sync.o CC net/ethtool/strset.o CC kernel/power/user.o AR arch/x86/mm/built-in.a CC net/ethtool/linkinfo.o CC fs/proc/array.o CC arch/x86/kernel/cpu/aperfmperf.o CC security/selinux/ss/avtab.o AR drivers/clk/actions/built-in.a CC drivers/dma/dw/core.o AR drivers/clk/analogbits/built-in.a AR drivers/clk/bcm/built-in.a AR drivers/clk/imgtec/built-in.a CC [M] sound/pci/hda/hda_hwdep.o AR drivers/clk/imx/built-in.a AR drivers/clk/ingenic/built-in.a CC net/sched/sch_fifo.o AR drivers/clk/mediatek/built-in.a CC io_uring/poll.o CC drivers/acpi/acpica/dsinit.o CC arch/x86/kernel/cpu/cpuid-deps.o AR drivers/clk/microchip/built-in.a CC lib/dim/rdma_dim.o AR drivers/clk/mstar/built-in.a CC fs/sysfs/symlink.o CC net/netfilter/nf_conntrack_core.o AR drivers/clk/mvebu/built-in.a AR drivers/clk/ralink/built-in.a AR drivers/clk/renesas/built-in.a AR drivers/clk/socfpga/built-in.a AR drivers/clk/sophgo/built-in.a AR drivers/pnp/pnpacpi/built-in.a CC drivers/dma/hsu/hsu.o CC drivers/pnp/core.o AR drivers/clk/sprd/built-in.a AR drivers/clk/starfive/built-in.a AR drivers/clk/sunxi-ng/built-in.a CC net/ipv6/netfilter/nf_conntrack_reasm.o AR drivers/soc/apple/built-in.a AR drivers/clk/ti/built-in.a AR drivers/clk/versatile/built-in.a AR drivers/soc/aspeed/built-in.a AR drivers/clk/xilinx/built-in.a AR drivers/clk/built-in.a AR drivers/soc/bcm/built-in.a CC block/blk-merge.o CC drivers/virtio/virtio.o AR drivers/soc/fsl/built-in.a AR fs/kernfs/built-in.a AR drivers/soc/fujitsu/built-in.a CC fs/proc/fd.o CC drivers/pci/search.o AR drivers/soc/hisilicon/built-in.a AR drivers/soc/imx/built-in.a CC fs/proc/proc_tty.o CC net/ipv4/protocol.o AR drivers/soc/ixp4xx/built-in.a AR drivers/soc/loongson/built-in.a AR drivers/soc/mediatek/built-in.a AR drivers/soc/microchip/built-in.a AR drivers/soc/nuvoton/built-in.a AR drivers/soc/pxa/built-in.a AR drivers/soc/amlogic/built-in.a AR drivers/soc/qcom/built-in.a AR drivers/soc/renesas/built-in.a AR drivers/soc/rockchip/built-in.a AR drivers/soc/sunxi/built-in.a CC net/netfilter/nf_conntrack_standalone.o AR drivers/soc/ti/built-in.a CC kernel/irq/handle.o CC lib/zstd/zstd_common_module.o AR drivers/soc/versatile/built-in.a AR drivers/soc/xilinx/built-in.a AR drivers/soc/built-in.a CC drivers/acpi/acpica/dsmethod.o CC net/sched/cls_cgroup.o CC net/sched/ematch.o CC drivers/virtio/virtio_ring.o AR lib/dim/built-in.a CC lib/crypto/mpi/mpiutil.o CC drivers/virtio/virtio_anchor.o CC drivers/virtio/virtio_pci_modern_dev.o CC net/core/secure_seq.o CC kernel/power/poweroff.o CC crypto/shash.o CC net/xfrm/xfrm_device.o CC sound/core/hrtimer.o CC net/sunrpc/auth_gss/gss_generic_token.o CC drivers/pnp/card.o CC lib/zstd/common/debug.o CC [M] sound/pci/hda/patch_hdmi.o CC kernel/irq/manage.o CC fs/sysfs/mount.o CC drivers/pci/rom.o CC drivers/virtio/virtio_pci_legacy_dev.o CC drivers/tty/vt/vt_ioctl.o CC sound/core/seq_device.o CC drivers/tty/hvc/hvc_console.o CC lib/crypto/sha1.o CC drivers/acpi/acpica/dsmthdat.o CC lib/crypto/sha256.o AR kernel/power/built-in.a CC fs/netfs/direct_read.o CC drivers/tty/serial/8250/8250_core.o CC fs/netfs/direct_write.o AR drivers/dma/hsu/built-in.a CC fs/netfs/iterator.o CC drivers/tty/serial/serial_core.o CC net/ethtool/linkmodes.o CC io_uring/eventfd.o CC drivers/char/hw_random/core.o CC lib/fonts/fonts.o CC lib/fonts/font_8x16.o AR lib/crypto/mpi/built-in.a CC drivers/char/hw_random/intel-rng.o CC net/ipv6/netfilter/nf_reject_ipv6.o CC fs/proc/cmdline.o CC security/selinux/ss/policydb.o CC drivers/dma/dw/dw.o CC arch/x86/kernel/cpu/umwait.o CC net/ipv4/ip_input.o CC mm/shmem.o CC fs/sysfs/group.o CC drivers/acpi/acpica/dsobject.o CC drivers/tty/vt/vc_screen.o CC drivers/pnp/driver.o CC net/sunrpc/auth_gss/gss_mech_switch.o CC crypto/akcipher.o AR kernel/sched/built-in.a CC lib/argv_split.o CC arch/x86/events/intel/cstate.o CC [M] sound/core/hwdep.o AR lib/fonts/built-in.a CC drivers/pci/setup-res.o AR drivers/dma/idxd/built-in.a CC drivers/pci/irq.o CC arch/x86/kernel/platform-quirks.o CC net/ipv6/addrconf.o AR lib/crypto/built-in.a CC drivers/tty/serial/serial_base_bus.o CC lib/bug.o AR sound/usb/misc/built-in.a AR sound/usb/usx2y/built-in.a AR sound/usb/caiaq/built-in.a AR sound/usb/6fire/built-in.a CC lib/buildid.o AR net/sched/built-in.a CC drivers/tty/serial/serial_ctrl.o CC net/core/flow_dissector.o AR sound/usb/hiface/built-in.a AR sound/usb/bcd2000/built-in.a AR sound/usb/built-in.a CC mm/util.o CC net/xfrm/xfrm_nat_keepalive.o CC fs/proc/consoles.o CC lib/zstd/common/entropy_common.o CC drivers/tty/serial/serial_port.o CC drivers/acpi/acpica/dsopcode.o CC fs/proc/cpuinfo.o CC io_uring/uring_cmd.o CC drivers/dma/dw/idma32.o CC drivers/tty/serial/earlycon.o CC block/blk-timeout.o CC fs/proc/devices.o CC drivers/char/hw_random/amd-rng.o MKCAP arch/x86/kernel/cpu/capflags.c AR drivers/tty/hvc/built-in.a CC net/ipv6/netfilter/ip6t_ipv6header.o CC drivers/acpi/acpica/dspkginit.o CC lib/zstd/common/error_private.o CC lib/zstd/common/fse_decompress.o CC drivers/tty/serial/8250/8250_platform.o AR drivers/tty/ipwireless/built-in.a CC fs/ext4/balloc.o CC fs/jbd2/transaction.o AR fs/sysfs/built-in.a CC fs/jbd2/commit.o CC net/sunrpc/xprt.o CC drivers/pnp/resource.o CC fs/netfs/locking.o CC net/ethtool/rss.o CC kernel/rcu/srcutree.o CC kernel/irq/spurious.o CC net/xfrm/xfrm_algo.o CC drivers/virtio/virtio_pci_modern.o CC drivers/virtio/virtio_pci_common.o CC [M] sound/core/pcm.o CC fs/jbd2/recovery.o CC drivers/pci/vpd.o CC fs/jbd2/checkpoint.o CC arch/x86/kernel/cpu/powerflags.o CC arch/x86/kernel/cpu/topology.o CC drivers/tty/vt/selection.o CC crypto/sig.o CC drivers/acpi/acpica/dsutils.o AR arch/x86/events/intel/built-in.a CC fs/jbd2/revoke.o CC io_uring/openclose.o CC drivers/tty/serial/8250/8250_pnp.o CC net/netfilter/nf_conntrack_expect.o AR arch/x86/events/built-in.a AR sound/firewire/built-in.a CC drivers/char/hw_random/geode-rng.o CC lib/zstd/common/zstd_common.o CC drivers/virtio/virtio_pci_legacy.o CC io_uring/sqpoll.o CC block/blk-lib.o CC fs/proc/interrupts.o CC drivers/dma/dw/acpi.o CC [M] sound/core/pcm_native.o CC net/xfrm/xfrm_user.o AR lib/zstd/built-in.a CC lib/clz_tab.o CC lib/cmdline.o CC fs/netfs/main.o CC net/ipv4/ip_fragment.o CC kernel/irq/resend.o CC lib/cpumask.o CC [M] sound/pci/hda/hda_eld.o CC drivers/acpi/acpica/dswexec.o CC drivers/char/agp/backend.o CC drivers/char/agp/generic.o CC fs/proc/loadavg.o CC net/sunrpc/auth_gss/svcauth_gss.o CC fs/ramfs/inode.o CC drivers/tty/serial/8250/8250_rsa.o CC drivers/char/hw_random/via-rng.o CC net/ipv4/ip_forward.o CC net/ipv4/ip_options.o CC net/netfilter/nf_conntrack_helper.o CC kernel/rcu/tree.o CC drivers/tty/vt/keyboard.o CC drivers/pnp/manager.o CC net/ipv6/netfilter/ip6t_REJECT.o CC drivers/pci/setup-bus.o CC net/ethtool/linkstate.o CC net/ethtool/debug.o CC crypto/kpp.o CC kernel/irq/chip.o CC drivers/virtio/virtio_pci_admin_legacy_io.o AR drivers/dma/dw/built-in.a CC arch/x86/kernel/process_32.o AR drivers/dma/amd/built-in.a AR drivers/dma/mediatek/built-in.a CC drivers/virtio/virtio_input.o AR drivers/dma/qcom/built-in.a CC drivers/acpi/acpica/dswload.o CC arch/x86/kernel/cpu/proc.o AR drivers/dma/stm32/built-in.a AR drivers/dma/ti/built-in.a AR drivers/dma/xilinx/built-in.a CC drivers/dma/dmaengine.o CC arch/x86/kernel/cpu/feat_ctl.o CC fs/proc/meminfo.o CC net/ipv6/addrlabel.o CC block/blk-mq.o CC fs/jbd2/journal.o CC lib/ctype.o CC lib/dec_and_lock.o CC security/selinux/ss/services.o CC [M] sound/pci/hda/hda_intel.o CC drivers/tty/serial/8250/8250_port.o AR drivers/char/hw_random/built-in.a CC net/netfilter/nf_conntrack_proto.o CC lib/decompress.o CC drivers/pnp/support.o CC fs/ramfs/file-mmu.o CC net/sunrpc/socklib.o CC lib/decompress_bunzip2.o CC drivers/acpi/acpica/dswload2.o CC drivers/tty/tty_io.o CC mm/mmzone.o CC drivers/tty/serial/8250/8250_dma.o CC net/ipv4/ip_output.o CC net/sunrpc/auth_gss/gss_rpc_upcall.o CC net/core/sysctl_net_core.o CC [M] sound/core/pcm_lib.o CC fs/hugetlbfs/inode.o CC io_uring/xattr.o LD [M] sound/pci/hda/snd-hda-codec.o CC arch/x86/kernel/cpu/intel.o CC drivers/char/agp/isoch.o ASN.1 crypto/rsapubkey.asn1.[ch] ASN.1 crypto/rsaprivkey.asn1.[ch] CC crypto/rsa.o CC crypto/rsa_helper.o CC fs/proc/stat.o CC drivers/virtio/virtio_dma_buf.o CC arch/x86/kernel/cpu/tsx.o CC drivers/acpi/acpica/dswscope.o CC drivers/char/agp/amd64-agp.o CC fs/netfs/misc.o CC net/ethtool/wol.o CC arch/x86/kernel/signal.o CC drivers/pnp/interface.o CC kernel/irq/dummychip.o CC fs/ext4/bitmap.o AR fs/ramfs/built-in.a CC drivers/pnp/quirks.o CC mm/vmstat.o AR net/ipv6/netfilter/built-in.a AR net/wireless/tests/built-in.a CC net/wireless/core.o AR net/mac80211/tests/built-in.a CC net/mac80211/main.o CC mm/backing-dev.o CC drivers/char/agp/intel-agp.o CC lib/decompress_inflate.o CC drivers/acpi/acpica/dswstate.o CC drivers/acpi/acpica/evevent.o CC drivers/tty/vt/vt.o CC drivers/dma/virt-dma.o CC lib/decompress_unlz4.o CC drivers/acpi/acpica/evgpe.o CC arch/x86/kernel/signal_32.o CC crypto/rsa-pkcs1pad.o CC kernel/irq/devres.o AR drivers/virtio/built-in.a CC drivers/tty/n_tty.o CC fs/proc/uptime.o CC kernel/irq/autoprobe.o CC kernel/irq/irqdomain.o CC io_uring/nop.o CC drivers/pci/vc.o CC drivers/acpi/x86/apple.o CC drivers/acpi/x86/cmos_rtc.o CC net/netfilter/nf_conntrack_proto_generic.o CC fs/proc/util.o CC fs/ext4/block_validity.o CC drivers/tty/serial/8250/8250_dwlib.o CC net/sunrpc/auth_gss/gss_rpc_xdr.o CC arch/x86/kernel/cpu/intel_epb.o AR sound/pci/trident/built-in.a CC fs/fat/cache.o CC net/core/dev.o LD [M] sound/pci/hda/snd-hda-codec-hdmi.o CC drivers/acpi/acpica/evgpeblk.o CC net/sunrpc/auth_gss/trace.o LD [M] sound/pci/hda/snd-hda-intel.o AR sound/pci/ymfpci/built-in.a AR sound/pci/vx222/built-in.a AR sound/pci/built-in.a CC lib/decompress_unlzma.o CC crypto/acompress.o AR net/xfrm/built-in.a CC drivers/pnp/system.o CC fs/fat/dir.o CC block/blk-mq-tag.o CC net/ethtool/features.o CC net/wireless/sysfs.o AR fs/hugetlbfs/built-in.a CC fs/netfs/objects.o CC drivers/dma/acpi-dma.o CC fs/fat/fatent.o CC drivers/char/mem.o CC kernel/irq/proc.o CC drivers/char/agp/intel-gtt.o CC net/netfilter/nf_conntrack_proto_tcp.o CC drivers/pci/mmap.o CC net/mac80211/status.o COPY drivers/tty/vt/defkeymap.c CC net/ipv6/route.o CC fs/isofs/namei.o CC [M] sound/core/pcm_misc.o CC kernel/rcu/rcu_segcblist.o CC net/core/dev_addr_lists.o CC net/core/dst.o CC fs/proc/version.o CC drivers/acpi/acpica/evgpeinit.o CC drivers/acpi/x86/lpss.o CC net/core/netevent.o CC fs/ext4/dir.o CC io_uring/fs.o AR drivers/pnp/built-in.a CC net/ipv4/ip_sockglue.o CC block/blk-stat.o CC drivers/tty/serial/8250/8250_pcilib.o CC mm/mm_init.o CC net/core/neighbour.o CC net/netfilter/nf_conntrack_proto_udp.o CC lib/decompress_unlzo.o CC crypto/scompress.o AR fs/jbd2/built-in.a CC security/selinux/ss/conditional.o CC security/selinux/ss/mls.o CC drivers/acpi/acpica/evgpeutil.o CC drivers/tty/serial/8250/8250_early.o CC [M] sound/core/pcm_memory.o CC kernel/irq/migration.o AR drivers/dma/built-in.a CC arch/x86/kernel/traps.o CC net/sunrpc/auth_gss/gss_krb5_mech.o CC drivers/pci/devres.o AR kernel/livepatch/built-in.a CC drivers/tty/vt/consolemap.o CC arch/x86/kernel/cpu/amd.o CC fs/proc/softirqs.o CC fs/isofs/inode.o CC fs/ext4/ext4_jbd2.o CC net/ethtool/privflags.o CC drivers/acpi/acpica/evglock.o CC fs/fat/file.o CC net/mac80211/driver-ops.o CC fs/isofs/dir.o CC drivers/acpi/x86/s2idle.o AR drivers/char/agp/built-in.a CC drivers/char/random.o CC fs/netfs/read_collect.o CC kernel/dma/mapping.o CC fs/ext4/extents.o CC arch/x86/kernel/cpu/hygon.o CC net/ethtool/rings.o CC kernel/irq/cpuhotplug.o CC kernel/irq/pm.o CC lib/decompress_unxz.o CC io_uring/splice.o CC security/selinux/ss/context.o CC drivers/acpi/acpica/evhandler.o CC fs/proc/namespaces.o CC drivers/tty/serial/8250/8250_exar.o CC crypto/algboss.o CC arch/x86/kernel/idt.o CC [M] sound/core/memalloc.o CC drivers/acpi/tables.o CC drivers/pci/proc.o CC fs/nfs/client.o CC block/blk-mq-sysfs.o CC fs/nfs/dir.o CC net/ipv6/ip6_fib.o CC net/mac80211/sta_info.o HOSTCC drivers/tty/vt/conmakehash CC io_uring/sync.o CC arch/x86/kernel/cpu/centaur.o CC lib/decompress_unzstd.o CC drivers/acpi/acpica/evmisc.o CC mm/percpu.o CC kernel/irq/msi.o CC net/netlabel/netlabel_user.o CC net/netfilter/nf_conntrack_proto_icmp.o CC net/ipv4/inet_hashtables.o CC net/wireless/radiotap.o CC drivers/pci/pci-sysfs.o CC drivers/acpi/x86/utils.o AR kernel/rcu/built-in.a CC block/blk-mq-cpumap.o CC block/blk-mq-sched.o CC drivers/tty/vt/defkeymap.o CC drivers/pci/slot.o CC fs/fat/inode.o CC net/sunrpc/auth_gss/gss_krb5_seal.o CC fs/isofs/util.o CC drivers/acpi/acpica/evregion.o CONMK drivers/tty/vt/consolemap_deftbl.c CC fs/proc/self.o CC drivers/tty/vt/consolemap_deftbl.o CC lib/dump_stack.o CC net/ethtool/channels.o CC arch/x86/kernel/cpu/transmeta.o AR drivers/tty/vt/built-in.a AR drivers/iommu/amd/built-in.a AR drivers/iommu/intel/built-in.a CC fs/netfs/read_pgpriv2.o AR drivers/iommu/arm/arm-smmu/built-in.a AR drivers/iommu/arm/arm-smmu-v3/built-in.a AR drivers/iommu/arm/built-in.a CC kernel/entry/common.o CC security/selinux/netlabel.o AR drivers/iommu/iommufd/built-in.a CC drivers/iommu/iommu.o CC drivers/char/misc.o CC crypto/testmgr.o CC [M] sound/core/pcm_timer.o CC kernel/module/main.o CC kernel/time/time.o CC drivers/tty/serial/8250/8250_lpss.o CC kernel/futex/core.o CC net/wireless/util.o CC drivers/acpi/x86/blacklist.o CC kernel/cgroup/cgroup.o CC fs/fat/misc.o CC drivers/acpi/acpica/evrgnini.o CC block/ioctl.o CC drivers/acpi/osi.o CC io_uring/msg_ring.o CC fs/isofs/rock.o CC fs/proc/thread_self.o CC drivers/acpi/acpica/evsci.o CC arch/x86/kernel/cpu/zhaoxin.o AR drivers/gpu/host1x/built-in.a CC lib/earlycpio.o AR drivers/gpu/vga/built-in.a CC net/netlabel/netlabel_kapi.o CC kernel/futex/syscalls.o CC drivers/tty/tty_ioctl.o AR drivers/acpi/x86/built-in.a CC crypto/cmac.o CC lib/extable.o CC fs/fat/nfs.o CC kernel/irq/affinity.o AR drivers/gpu/drm/tests/built-in.a CC drivers/char/virtio_console.o AR drivers/gpu/drm/arm/built-in.a CC drivers/gpu/drm/display/drm_display_helper_mod.o CC net/netfilter/nf_conntrack_extend.o CC kernel/irq/matrix.o LD [M] sound/core/snd-hwdep.o CC kernel/dma/direct.o LD [M] sound/core/snd-pcm.o AR sound/core/built-in.a CC drivers/gpu/drm/display/drm_dp_dual_mode_helper.o AR sound/sparc/built-in.a AR sound/spi/built-in.a CC net/core/rtnetlink.o AR sound/parisc/built-in.a CC net/sunrpc/auth_gss/gss_krb5_unseal.o AR sound/pcmcia/vx/built-in.a AR sound/pcmcia/pdaudiocf/built-in.a AR sound/pcmcia/built-in.a CC drivers/acpi/acpica/evxface.o AR sound/mips/built-in.a AR sound/soc/built-in.a CC drivers/pci/pci-acpi.o AR sound/atmel/built-in.a CC net/netfilter/nf_conntrack_acct.o AR sound/hda/built-in.a CC drivers/tty/serial/8250/8250_mid.o CC [M] sound/hda/hda_bus_type.o CC arch/x86/kernel/irq.o CC arch/x86/kernel/cpu/vortex.o CC fs/netfs/read_retry.o CC net/ethtool/coalesce.o CC fs/proc/proc_sysctl.o CC kernel/entry/syscall_user_dispatch.o CC kernel/dma/ops_helpers.o CC kernel/time/timer.o CC fs/netfs/write_collect.o CC lib/flex_proportions.o CC arch/x86/kernel/irq_32.o CC fs/proc/proc_net.o CC net/wireless/reg.o CC crypto/hmac.o CC io_uring/advise.o CC drivers/tty/tty_ldisc.o AR security/selinux/built-in.a CC arch/x86/kernel/cpu/perfctr-watchdog.o AR security/built-in.a CC net/netlabel/netlabel_domainhash.o CC block/genhd.o CC drivers/iommu/iommu-traces.o CC fs/isofs/export.o CC drivers/acpi/acpica/evxfevnt.o CC fs/fat/namei_vfat.o CC lib/idr.o CC net/sunrpc/auth_gss/gss_krb5_wrap.o CC kernel/futex/pi.o CC [M] sound/hda/hdac_bus.o CC net/ipv4/inet_timewait_sock.o CC drivers/gpu/drm/display/drm_dp_helper.o CC drivers/gpu/drm/display/drm_dp_mst_topology.o CC drivers/tty/serial/8250/8250_pci.o AR kernel/entry/built-in.a CC net/netfilter/nf_conntrack_seqadj.o CC drivers/connector/cn_queue.o CC kernel/dma/remap.o CC net/ethtool/pause.o CC drivers/acpi/acpica/evxfgpe.o CC crypto/crypto_null.o CC drivers/char/hpet.o CC mm/slab_common.o CC drivers/pci/iomap.o CC fs/nfs/file.o CC fs/exportfs/expfs.o CC net/netfilter/nf_conntrack_proto_icmpv6.o CC kernel/futex/requeue.o CC net/wireless/scan.o CC arch/x86/kernel/cpu/vmware.o CC fs/isofs/joliet.o AR kernel/irq/built-in.a CC kernel/module/strict_rwx.o CC lib/irq_regs.o CC net/ipv6/ipv6_sockglue.o AR sound/x86/built-in.a CC io_uring/epoll.o CC crypto/md5.o AR sound/xen/built-in.a CC drivers/tty/serial/8250/8250_pericom.o CC net/sunrpc/xprtsock.o CC net/ethtool/eee.o CC drivers/gpu/drm/display/drm_dsc_helper.o CC lib/is_single_threaded.o CC lib/klist.o CC drivers/acpi/acpica/evxfregn.o AR kernel/dma/built-in.a CC net/mac80211/wep.o CC [M] sound/hda/hdac_device.o CC drivers/iommu/iommu-sysfs.o CC fs/netfs/write_issue.o CC arch/x86/kernel/cpu/hypervisor.o CC drivers/pci/quirks.o CC net/sunrpc/auth_gss/gss_krb5_crypto.o CC block/ioprio.o CC drivers/pci/pci-label.o CC arch/x86/kernel/dumpstack_32.o CC fs/isofs/compress.o CC net/netlabel/netlabel_addrlist.o CC kernel/module/kmod.o AR fs/exportfs/built-in.a CC kernel/time/hrtimer.o CC fs/proc/kcore.o CC crypto/sha256_generic.o CC lib/kobject.o CC kernel/futex/waitwake.o CC crypto/sha512_generic.o CC drivers/acpi/acpica/exconcat.o CC fs/fat/namei_msdos.o CC net/wireless/nl80211.o CC net/ipv4/inet_connection_sock.o CC arch/x86/kernel/cpu/mshyperv.o CC drivers/connector/connector.o CC net/ipv4/tcp.o CC drivers/char/nvram.o CC lib/kobject_uevent.o CC io_uring/statx.o CC net/rfkill/core.o AR drivers/tty/serial/8250/built-in.a AR drivers/tty/serial/built-in.a CC drivers/tty/tty_buffer.o CC drivers/iommu/dma-iommu.o CC net/ipv4/tcp_input.o CC net/ethtool/tsinfo.o CC drivers/acpi/acpica/exconfig.o CC drivers/base/power/sysfs.o CC drivers/base/firmware_loader/builtin/main.o CC drivers/base/regmap/regmap.o CC block/badblocks.o CC fs/ext4/extents_status.o CC fs/ext4/file.o CC net/netfilter/nf_conntrack_netlink.o CC [M] sound/hda/hdac_sysfs.o CC drivers/base/regmap/regcache.o AR kernel/futex/built-in.a CC kernel/module/tree_lookup.o CC drivers/gpu/drm/display/drm_hdcp_helper.o AR fs/isofs/built-in.a CC crypto/sha3_generic.o CC drivers/acpi/acpica/exconvrt.o CC crypto/ecb.o CC crypto/cbc.o CC fs/proc/vmcore.o CC fs/nfs/getroot.o CC mm/compaction.o AR drivers/base/firmware_loader/builtin/built-in.a CC drivers/base/firmware_loader/main.o CC net/mac80211/aead_api.o AR fs/fat/built-in.a CC block/blk-rq-qos.o CC drivers/base/power/generic_ops.o AR fs/netfs/built-in.a AR drivers/char/built-in.a CC drivers/connector/cn_proc.o CC net/rfkill/input.o CC io_uring/timeout.o CC arch/x86/kernel/cpu/debugfs.o CC net/netlabel/netlabel_mgmt.o CC drivers/tty/tty_port.o CC net/wireless/mlme.o CC drivers/acpi/acpica/excreate.o CC net/ethtool/cabletest.o CC net/sunrpc/auth_gss/gss_krb5_keys.o CC net/core/utils.o CC net/ipv6/ndisc.o CC lib/logic_pio.o CC net/sunrpc/sched.o CC crypto/ctr.o CC kernel/module/kallsyms.o CC drivers/pci/vgaarb.o CC kernel/time/timekeeping.o AR drivers/base/test/built-in.a CC arch/x86/kernel/time.o CC drivers/base/power/common.o CC [M] sound/hda/hdac_regmap.o CC net/wireless/ibss.o CC net/mac80211/wpa.o CC drivers/tty/tty_mutex.o CC drivers/acpi/acpica/exdebug.o CC net/9p/mod.o CC drivers/tty/tty_ldsem.o CC arch/x86/kernel/cpu/capflags.o CC mm/show_mem.o AR arch/x86/kernel/cpu/built-in.a CC net/wireless/sme.o CC kernel/cgroup/rstat.o AR net/rfkill/built-in.a CC block/disk-events.o CC net/netlabel/netlabel_unlabeled.o CC drivers/iommu/iova.o CC crypto/gcm.o CC lib/maple_tree.o CC arch/x86/kernel/ioport.o CC fs/proc/kmsg.o AR drivers/base/firmware_loader/built-in.a CC fs/nfs/inode.o CC crypto/ccm.o CC fs/proc/page.o CC drivers/gpu/drm/display/drm_hdmi_helper.o CC net/dns_resolver/dns_key.o CC net/ipv6/udp.o CC drivers/acpi/acpica/exdump.o CC drivers/base/power/qos.o CC kernel/module/procfs.o CC net/netlabel/netlabel_cipso_v4.o CC drivers/gpu/drm/ttm/ttm_tt.o AR drivers/connector/built-in.a CC net/netfilter/nf_conntrack_ftp.o CC io_uring/fdinfo.o CC net/9p/client.o CC drivers/gpu/drm/ttm/ttm_bo.o CC net/ethtool/tunnels.o CC [M] sound/hda/hdac_controller.o CC crypto/aes_generic.o CC drivers/acpi/acpica/exfield.o AR net/sunrpc/auth_gss/built-in.a CC fs/lockd/clntlock.o CC net/core/link_watch.o CC arch/x86/kernel/dumpstack.o CC drivers/tty/tty_baudrate.o AR drivers/pci/built-in.a CC [M] sound/hda/hdac_stream.o CC block/blk-ia-ranges.o CC lib/memcat_p.o CC drivers/gpu/drm/display/drm_scdc_helper.o CC net/dns_resolver/dns_query.o AR drivers/iommu/built-in.a CC fs/nfs/super.o CC net/mac80211/scan.o CC kernel/cgroup/namespace.o AR fs/proc/built-in.a CC drivers/base/power/runtime.o CC kernel/module/sysfs.o CC net/netfilter/nf_conntrack_irc.o CC drivers/acpi/acpica/exfldio.o CC net/ipv4/tcp_output.o CC net/handshake/alert.o CC kernel/time/ntp.o CC drivers/base/power/wakeirq.o CC drivers/gpu/drm/ttm/ttm_bo_util.o CC drivers/block/loop.o CC drivers/acpi/osl.o CC fs/ext4/fsmap.o CC arch/x86/kernel/nmi.o CC drivers/tty/tty_jobctrl.o CC io_uring/cancel.o CC crypto/crc32c_generic.o CC fs/lockd/clntproc.o CC net/9p/error.o CC drivers/base/component.o CC mm/interval_tree.o AR drivers/misc/eeprom/built-in.a AR drivers/misc/cb710/built-in.a AR drivers/misc/ti-st/built-in.a CC net/netlabel/netlabel_calipso.o AR drivers/misc/lis3lv02d/built-in.a CC drivers/base/regmap/regcache-rbtree.o AR drivers/misc/cardreader/built-in.a CC net/handshake/genl.o AR drivers/misc/keba/built-in.a CC block/early-lookup.o CC drivers/acpi/acpica/exmisc.o AR drivers/misc/built-in.a CC drivers/acpi/utils.o AR net/dns_resolver/built-in.a CC drivers/acpi/acpica/exmutex.o CC kernel/cgroup/cgroup-v1.o CC lib/nmi_backtrace.o AR drivers/gpu/drm/display/built-in.a CC drivers/tty/n_null.o CC fs/nfs/io.o CC [M] sound/hda/array.o CC net/core/filter.o CC net/ethtool/fec.o AR kernel/module/built-in.a CC net/ethtool/eeprom.o CC arch/x86/kernel/ldt.o CC crypto/authenc.o AR sound/virtio/built-in.a CC drivers/gpu/drm/ttm/ttm_bo_vm.o CC net/mac80211/offchannel.o CC kernel/time/clocksource.o CC net/mac80211/ht.o CC drivers/acpi/acpica/exnames.o CC net/core/sock_diag.o CC drivers/base/power/main.o CC kernel/cgroup/freezer.o CC net/core/dev_ioctl.o CC net/9p/protocol.o CC fs/ext4/fsync.o CC net/9p/trans_common.o CC net/netfilter/nf_conntrack_sip.o CC drivers/tty/pty.o CC drivers/base/regmap/regcache-flat.o CC block/bounce.o CC io_uring/waitid.o CC block/bsg.o CC drivers/acpi/acpica/exoparg1.o CC mm/list_lru.o CC drivers/acpi/reboot.o CC drivers/block/virtio_blk.o CC [M] sound/hda/hdmi_chmap.o CC net/ethtool/stats.o CC net/handshake/netlink.o CC fs/nls/nls_base.o CC crypto/authencesn.o AR net/netlabel/built-in.a CC net/ipv4/tcp_timer.o CC drivers/base/power/wakeup.o CC net/ipv6/udplite.o CC drivers/gpu/drm/ttm/ttm_module.o CC drivers/gpu/drm/i915/i915_config.o CC arch/x86/kernel/setup.o CC fs/lockd/clntxdr.o CC kernel/trace/trace_clock.o AR drivers/gpu/drm/renesas/rcar-du/built-in.a AR drivers/gpu/drm/renesas/rz-du/built-in.a AR drivers/gpu/drm/renesas/built-in.a CC drivers/acpi/acpica/exoparg2.o CC drivers/base/core.o CC crypto/lzo.o CC net/ethtool/phc_vclocks.o CC net/mac80211/agg-tx.o CC drivers/base/regmap/regcache-maple.o CC drivers/base/regmap/regmap-debugfs.o CC kernel/time/jiffies.o CC fs/nls/nls_cp437.o CC drivers/gpu/drm/i915/i915_driver.o CC net/9p/trans_fd.o CC drivers/tty/tty_audit.o CC io_uring/register.o CC kernel/trace/ring_buffer.o CC fs/nfs/direct.o CC kernel/cgroup/legacy_freezer.o CC drivers/acpi/acpica/exoparg3.o AR drivers/gpu/drm/omapdrm/built-in.a CC net/netfilter/nf_nat_core.o CC mm/workingset.o CC net/ethtool/mm.o CC drivers/gpu/drm/ttm/ttm_execbuf_util.o CC sound/sound_core.o AR drivers/mfd/built-in.a CC net/handshake/request.o CC net/ipv4/tcp_ipv4.o CC fs/nls/nls_ascii.o CC kernel/time/timer_list.o CC [M] sound/hda/trace.o CC crypto/lzo-rle.o CC net/core/tso.o CC block/blk-cgroup.o CC net/devres.o CC drivers/acpi/acpica/exoparg6.o CC kernel/bpf/core.o AR fs/unicode/built-in.a CC fs/lockd/host.o AR drivers/block/built-in.a CC lib/objpool.o CC kernel/time/timeconv.o CC net/sunrpc/auth.o CC sound/last.o CC crypto/rng.o AR drivers/base/regmap/built-in.a CC fs/nls/nls_iso8859-1.o CC block/blk-ioprio.o CC drivers/tty/sysrq.o CC drivers/acpi/acpica/exprep.o CC net/ipv6/raw.o CC net/mac80211/agg-rx.o CC kernel/cgroup/pids.o CC drivers/acpi/nvs.o CC arch/x86/kernel/x86_init.o AR drivers/nfc/built-in.a CC fs/lockd/svc.o CC drivers/gpu/drm/ttm/ttm_range_manager.o CC mm/debug.o CC net/core/sock_reuseport.o CC fs/ext4/hash.o CC net/netfilter/nf_nat_proto.o CC drivers/base/power/wakeup_stats.o CC net/wireless/chan.o CC fs/autofs/init.o CC kernel/time/timecounter.o CC fs/nls/nls_utf8.o AR drivers/gpu/drm/tilcdc/built-in.a CC net/ipv4/tcp_minisocks.o CC kernel/time/alarmtimer.o CC drivers/gpu/drm/i915/i915_drm_client.o CC drivers/acpi/acpica/exregion.o CC net/ethtool/module.o CC net/core/fib_notifier.o CC net/9p/trans_virtio.o CC net/core/xdp.o CC [M] sound/hda/hdac_component.o CC kernel/cgroup/rdma.o AR fs/nls/built-in.a CC net/handshake/tlshd.o CC net/netfilter/nf_nat_helper.o CC crypto/drbg.o CC drivers/base/power/trace.o CC drivers/gpu/drm/i915/i915_getparam.o CC arch/x86/kernel/i8259.o CC drivers/acpi/acpica/exresnte.o CC io_uring/truncate.o CC net/socket.o CC drivers/gpu/drm/ttm/ttm_resource.o CC drivers/base/bus.o CC net/mac80211/vht.o CC kernel/trace/trace.o CC fs/lockd/svclock.o CC fs/autofs/inode.o CC net/ipv6/icmp.o AR drivers/tty/built-in.a CC fs/ext4/ialloc.o CC crypto/jitterentropy.o CC [M] sound/hda/hdac_i915.o CC net/mac80211/he.o CC net/core/flow_offload.o CC mm/gup.o CC drivers/acpi/acpica/exresolv.o CC block/blk-iolatency.o CC net/core/gro.o CC kernel/cgroup/cpuset.o CC kernel/cgroup/misc.o CC arch/x86/kernel/irqinit.o CC net/netfilter/nf_nat_masquerade.o AR drivers/base/power/built-in.a CC net/ethtool/cmis_fw_update.o CC kernel/events/core.o CC kernel/time/posix-timers.o CC fs/9p/vfs_super.o CC drivers/base/dd.o CC drivers/acpi/acpica/exresop.o CC crypto/jitterentropy-kcapi.o CC drivers/base/syscore.o CC block/blk-iocost.o CC fs/nfs/pagelist.o CC [M] sound/hda/intel-dsp-config.o CC net/handshake/trace.o CC drivers/gpu/drm/i915/i915_ioctl.o CC io_uring/memmap.o AR net/9p/built-in.a CC lib/plist.o CC kernel/time/posix-cpu-timers.o CC fs/autofs/root.o CC drivers/gpu/drm/ttm/ttm_pool.o CC net/core/netdev-genl.o CC fs/nfs/read.o CC lib/radix-tree.o CC drivers/gpu/drm/virtio/virtgpu_drv.o AR drivers/gpu/drm/imx/built-in.a AR fs/hostfs/built-in.a CC mm/mmap_lock.o CC net/ethtool/cmis_cdb.o AR drivers/dax/hmem/built-in.a AR drivers/dax/built-in.a CC drivers/acpi/acpica/exserial.o CC crypto/ghash-generic.o CC block/mq-deadline.o CC net/ipv4/tcp_cong.o CC net/sysctl_net.o CC net/sunrpc/auth_null.o CC [M] sound/hda/intel-nhlt.o CC fs/9p/vfs_inode.o CC arch/x86/kernel/jump_label.o CC io_uring/io-wq.o CC fs/lockd/svcshare.o CC drivers/acpi/acpica/exstore.o CC net/ethtool/pse-pd.o AR kernel/bpf/built-in.a CC kernel/time/posix-clock.o CC crypto/hash_info.o CC fs/autofs/symlink.o CC net/ipv6/mcast.o CC io_uring/futex.o CC fs/nfs/symlink.o CC crypto/rsapubkey.asn1.o CC net/netfilter/nf_nat_ftp.o CC crypto/rsaprivkey.asn1.o CC drivers/acpi/wakeup.o AR crypto/built-in.a CC net/sunrpc/auth_tls.o CC drivers/gpu/drm/virtio/virtgpu_kms.o CC drivers/gpu/drm/virtio/virtgpu_gem.o CC fs/lockd/svcproc.o CC drivers/gpu/drm/i915/i915_irq.o CC fs/autofs/waitq.o CC drivers/base/driver.o CC drivers/gpu/drm/ttm/ttm_device.o CC fs/autofs/expire.o CC kernel/time/itimer.o CC kernel/cgroup/debug.o CC [M] sound/hda/intel-sdw-acpi.o CC lib/ratelimit.o CC drivers/acpi/acpica/exstoren.o CC fs/9p/vfs_inode_dotl.o CC arch/x86/kernel/irq_work.o CC lib/rbtree.o CC kernel/fork.o CC net/ipv4/tcp_metrics.o CC fs/autofs/dev-ioctl.o CC drivers/gpu/drm/virtio/virtgpu_vram.o CC drivers/base/class.o CC mm/highmem.o CC drivers/acpi/acpica/exstorob.o LD [M] sound/hda/snd-hda-core.o CC net/ipv6/reassembly.o AR net/handshake/built-in.a CC fs/9p/vfs_addr.o CC io_uring/napi.o CC net/ethtool/plca.o CC kernel/time/clockevents.o CC net/netfilter/nf_nat_irc.o LD [M] sound/hda/snd-intel-dspcfg.o LD [M] sound/hda/snd-intel-sdw-acpi.o AR sound/built-in.a CC arch/x86/kernel/probe_roms.o CC net/mac80211/s1g.o CC drivers/acpi/acpica/exsystem.o CC kernel/events/ring_buffer.o CC net/ipv4/tcp_fastopen.o CC lib/seq_buf.o CC net/mac80211/ibss.o CC fs/ext4/indirect.o CC fs/lockd/svcsubs.o AR drivers/gpu/drm/i2c/built-in.a CC fs/lockd/mon.o CC fs/debugfs/inode.o CC drivers/gpu/drm/ttm/ttm_sys_manager.o CC fs/9p/vfs_file.o CC drivers/gpu/drm/virtio/virtgpu_display.o CC net/ethtool/phy.o CC net/ipv4/tcp_rate.o CC block/kyber-iosched.o AR kernel/cgroup/built-in.a CC net/mac80211/iface.o CC drivers/gpu/drm/ttm/ttm_agp_backend.o CC net/wireless/ethtool.o CC net/sunrpc/auth_unix.o CC net/ipv6/tcp_ipv6.o CC drivers/acpi/acpica/extrace.o CC drivers/acpi/acpica/exutils.o CC arch/x86/kernel/sys_ia32.o CC fs/ext4/inline.o CC net/netfilter/nf_nat_sip.o CC drivers/acpi/sleep.o CC kernel/time/tick-common.o AR fs/autofs/built-in.a CC mm/memory.o CC drivers/gpu/drm/i915/i915_mitigations.o CC drivers/base/platform.o CC net/sunrpc/svc.o CC fs/debugfs/file.o CC lib/siphash.o CC kernel/exec_domain.o CC net/core/netdev-genl-gen.o CC net/wireless/mesh.o CC fs/ext4/inode.o CC net/mac80211/link.o CC fs/nfs/unlink.o CC drivers/acpi/acpica/hwacpi.o CC kernel/time/tick-broadcast.o AR drivers/gpu/drm/ttm/built-in.a CC kernel/time/tick-broadcast-hrtimer.o CC drivers/gpu/drm/virtio/virtgpu_vq.o CC fs/9p/vfs_dir.o CC fs/nfs/write.o CC kernel/trace/trace_output.o CC drivers/acpi/device_sysfs.o CC lib/string.o CC net/core/gso.o CC drivers/gpu/drm/i915/i915_module.o AR net/ethtool/built-in.a CC drivers/acpi/acpica/hwesleep.o CC drivers/acpi/acpica/hwgpe.o CC fs/lockd/trace.o CC arch/x86/kernel/ksysfs.o AR drivers/gpu/drm/panel/built-in.a CC net/ipv6/ping.o AR io_uring/built-in.a CC arch/x86/kernel/bootflag.o CC net/wireless/ap.o CC fs/9p/vfs_dentry.o CC lib/timerqueue.o CC lib/union_find.o CC drivers/gpu/drm/i915/i915_params.o CC drivers/dma-buf/dma-buf.o AR drivers/gpu/drm/bridge/analogix/built-in.a AR drivers/gpu/drm/bridge/cadence/built-in.a CC drivers/acpi/device_pm.o AR drivers/gpu/drm/bridge/imx/built-in.a AR drivers/gpu/drm/bridge/synopsys/built-in.a CC net/ipv4/tcp_recovery.o AR drivers/gpu/drm/bridge/built-in.a CC lib/vsprintf.o AR drivers/cxl/core/built-in.a AR drivers/cxl/built-in.a CC fs/nfs/namespace.o CC lib/win_minmax.o CC kernel/trace/trace_seq.o CC drivers/acpi/proc.o CC net/netfilter/x_tables.o CC drivers/dma-buf/dma-fence.o CC drivers/acpi/acpica/hwregs.o CC drivers/base/cpu.o CC net/sunrpc/svcsock.o CC net/mac80211/rate.o AR fs/debugfs/built-in.a AR drivers/gpu/drm/hisilicon/built-in.a CC block/blk-mq-pci.o CC kernel/time/tick-oneshot.o AR drivers/gpu/drm/mxsfb/built-in.a AR drivers/gpu/drm/tiny/built-in.a CC fs/9p/v9fs.o CC drivers/macintosh/mac_hid.o AR drivers/scsi/pcmcia/built-in.a CC block/blk-mq-virtio.o CC drivers/scsi/scsi.o CC arch/x86/kernel/e820.o CC kernel/time/tick-sched.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 arch/x86/kernel/pci-dma.o CC fs/tracefs/inode.o CC block/blk-mq-debugfs.o CC net/netfilter/xt_tcpudp.o CC drivers/gpu/drm/virtio/virtgpu_fence.o CC net/ipv4/tcp_ulp.o CC drivers/acpi/acpica/hwsleep.o CC net/core/net-sysfs.o CC mm/mincore.o CC fs/tracefs/event_inode.o CC net/wireless/trace.o CC net/ipv6/exthdrs.o CC drivers/gpu/drm/i915/i915_pci.o CC net/ipv6/datagram.o CC fs/lockd/xdr.o AR drivers/macintosh/built-in.a CC fs/nfs/mount_clnt.o CC fs/nfs/nfstrace.o CC drivers/ata/libata-core.o CC drivers/gpu/drm/i915/i915_scatterlist.o CC fs/ext4/ioctl.o CC drivers/acpi/acpica/hwvalid.o AR drivers/net/phy/qcom/built-in.a CC kernel/trace/trace_stat.o CC drivers/net/phy/mdio-boardinfo.o CC fs/9p/fid.o CC drivers/base/firmware.o CC drivers/gpu/drm/i915/i915_suspend.o AR drivers/net/pse-pd/built-in.a CC fs/ext4/mballoc.o CC net/sunrpc/svcauth.o CC drivers/dma-buf/dma-fence-array.o CC drivers/acpi/bus.o CC kernel/panic.o CC drivers/ata/libata-scsi.o CC drivers/gpu/drm/virtio/virtgpu_object.o CC drivers/acpi/acpica/hwxface.o CC drivers/acpi/glue.o CC kernel/time/timer_migration.o CC block/blk-pm.o CC arch/x86/kernel/quirks.o CC drivers/base/init.o CC drivers/base/map.o CC drivers/scsi/hosts.o CC [M] fs/efivarfs/inode.o AR fs/tracefs/built-in.a CC lib/xarray.o CC drivers/firewire/init_ohci1394_dma.o CC net/ipv4/tcp_offload.o CC drivers/acpi/acpica/hwxfsleep.o CC fs/9p/xattr.o CC drivers/gpu/drm/i915/i915_switcheroo.o CC drivers/dma-buf/dma-fence-chain.o CC fs/ext4/migrate.o CC fs/lockd/clnt4xdr.o CC kernel/trace/trace_printk.o CC drivers/net/phy/stubs.o CC kernel/trace/pid_list.o CC net/netfilter/xt_CONNSECMARK.o CC net/core/hotdata.o CC drivers/ata/libata-eh.o CC drivers/scsi/scsi_ioctl.o AR drivers/gpu/drm/xlnx/built-in.a CC drivers/base/devres.o CC net/ipv6/ip6_flowlabel.o CC block/holder.o CC drivers/gpu/drm/virtio/virtgpu_debugfs.o CC drivers/acpi/acpica/hwpci.o CC drivers/cdrom/cdrom.o CC arch/x86/kernel/kdebugfs.o CC drivers/dma-buf/dma-fence-unwrap.o CC drivers/scsi/scsicam.o CC [M] fs/efivarfs/file.o CC drivers/net/phy/mdio_devres.o CC drivers/ata/libata-transport.o CC drivers/gpu/drm/virtio/virtgpu_plane.o CC drivers/gpu/drm/i915/i915_sysfs.o CC net/sunrpc/svcauth_unix.o AR drivers/firewire/built-in.a AR drivers/auxdisplay/built-in.a CC net/netfilter/xt_NFLOG.o CC drivers/acpi/scan.o CC drivers/pcmcia/cs.o AR fs/9p/built-in.a CC kernel/trace/trace_sched_switch.o CC drivers/base/attribute_container.o CC mm/mlock.o CC drivers/acpi/acpica/nsaccess.o CC kernel/cpu.o CC drivers/acpi/mipi-disco-img.o AR drivers/gpu/drm/gud/built-in.a CC kernel/events/callchain.o CC net/mac80211/michael.o CC net/sunrpc/addr.o CC drivers/base/transport_class.o AR block/built-in.a CC drivers/gpu/drm/i915/i915_utils.o CC net/netfilter/xt_SECMARK.o CC drivers/dma-buf/dma-resv.o CC drivers/acpi/acpica/nsalloc.o CC arch/x86/kernel/alternative.o CC drivers/usb/common/common.o CC [M] fs/efivarfs/super.o CC fs/lockd/xdr4.o CC net/core/netdev_rx_queue.o CC drivers/usb/core/usb.o CC net/core/net-procfs.o CC drivers/scsi/scsi_error.o CC net/core/netpoll.o CC lib/lockref.o CC drivers/usb/common/debug.o CC drivers/gpu/drm/i915/intel_clock_gating.o CC kernel/time/vsyscall.o CC drivers/gpu/drm/virtio/virtgpu_ioctl.o CC drivers/net/phy/phy.o CC drivers/usb/core/hub.o CC drivers/base/topology.o CC drivers/gpu/drm/virtio/virtgpu_prime.o CC kernel/time/timekeeping_debug.o CC drivers/usb/core/hcd.o CC net/ipv4/tcp_plb.o CC lib/bcd.o CC drivers/acpi/acpica/nsarguments.o CC lib/sort.o CC mm/mmap.o CC fs/nfs/export.o CC kernel/events/hw_breakpoint.o CC drivers/pcmcia/socket_sysfs.o CC fs/ext4/mmp.o CC drivers/dma-buf/sync_file.o CC lib/parser.o CC net/ipv6/inet6_connection_sock.o CC net/wireless/ocb.o CC drivers/acpi/acpica/nsconvert.o CC fs/lockd/svc4proc.o CC fs/open.o CC net/mac80211/tkip.o AR drivers/usb/common/built-in.a CC drivers/net/phy/phy-c45.o CC net/core/fib_rules.o CC net/netfilter/xt_TCPMSS.o CC [M] fs/efivarfs/vars.o CC net/ipv4/datagram.o CC drivers/base/container.o CC fs/nfs/sysfs.o CC kernel/exit.o CC kernel/trace/trace_nop.o CC net/sunrpc/rpcb_clnt.o CC arch/x86/kernel/i8253.o CC lib/debug_locks.o CC kernel/time/namespace.o CC kernel/events/uprobes.o CC drivers/acpi/acpica/nsdump.o AR drivers/gpu/drm/solomon/built-in.a CC drivers/pcmcia/cardbus.o CC net/sunrpc/timer.o CC net/sunrpc/xdr.o AR drivers/cdrom/built-in.a CC fs/nfs/fs_context.o CC drivers/gpu/drm/virtio/virtgpu_trace_points.o CC lib/random32.o CC drivers/acpi/acpica/nseval.o AR drivers/dma-buf/built-in.a CC fs/lockd/procfs.o CC drivers/pcmcia/ds.o CC fs/ext4/move_extent.o CC drivers/usb/core/urb.o CC drivers/base/property.o CC mm/mmu_gather.o CC drivers/net/mdio/acpi_mdio.o CC drivers/gpu/drm/i915/intel_device_info.o CC arch/x86/kernel/hw_breakpoint.o CC lib/bust_spinlocks.o CC drivers/acpi/acpica/nsinit.o CC drivers/net/mdio/fwnode_mdio.o CC drivers/scsi/scsi_lib.o LD [M] fs/efivarfs/efivarfs.o CC fs/nfs/nfsroot.o CC drivers/scsi/constants.o CC net/wireless/pmsr.o CC kernel/trace/blktrace.o CC net/mac80211/aes_cmac.o CC net/ipv6/udp_offload.o CC drivers/scsi/scsi_lib_dma.o AR kernel/time/built-in.a CC [M] drivers/gpu/drm/scheduler/sched_main.o HOSTCC drivers/gpu/drm/xe/xe_gen_wa_oob CC fs/nfs/sysctl.o AR drivers/usb/phy/built-in.a CC [M] drivers/gpu/drm/scheduler/sched_fence.o AR fs/lockd/built-in.a CC kernel/trace/trace_events.o CC lib/kasprintf.o GEN xe_wa_oob.c xe_wa_oob.h CC [M] drivers/gpu/drm/xe/xe_bb.o CC net/ipv4/raw.o CC drivers/acpi/acpica/nsload.o CC drivers/ata/libata-trace.o CC drivers/gpu/drm/virtio/virtgpu_submit.o CC drivers/base/cacheinfo.o CC drivers/net/phy/phy-core.o CC fs/ext4/namei.o CC net/netfilter/xt_conntrack.o CC kernel/softirq.o CC drivers/base/swnode.o AR drivers/net/pcs/built-in.a CC fs/nfs/nfs3super.o GEN net/wireless/shipped-certs.c CC drivers/input/serio/serio.o CC arch/x86/kernel/tsc.o CC mm/mprotect.o CC kernel/resource.o CC lib/bitmap.o CC net/core/net-traces.o CC drivers/pcmcia/pcmcia_resource.o CC drivers/acpi/acpica/nsnames.o CC kernel/trace/trace_export.o CC drivers/gpu/drm/drm_aperture.o CC [M] drivers/gpu/drm/xe/xe_bo.o CC fs/read_write.o CC drivers/input/serio/i8042.o CC drivers/ata/libata-sata.o AR drivers/net/mdio/built-in.a CC drivers/usb/mon/mon_main.o CC fs/file_table.o CC drivers/gpu/drm/i915/intel_memory_region.o CC drivers/usb/mon/mon_stat.o AR kernel/events/built-in.a CC drivers/input/serio/serport.o CC mm/mremap.o CC drivers/pcmcia/cistpl.o CC fs/ext4/page-io.o CC drivers/acpi/acpica/nsobject.o AR drivers/net/ethernet/3com/built-in.a CC drivers/net/ethernet/8390/ne2k-pci.o CC fs/nfs/nfs3client.o CC net/mac80211/aes_gmac.o CC fs/super.o AR drivers/gpu/drm/virtio/built-in.a CC net/ipv6/seg6.o CC drivers/gpu/drm/drm_atomic.o CC drivers/pcmcia/pcmcia_cis.o CC drivers/net/ethernet/8390/8390.o CC lib/scatterlist.o CC drivers/usb/core/message.o CC drivers/base/auxiliary.o CC drivers/scsi/scsi_scan.o CC [M] drivers/gpu/drm/scheduler/sched_entity.o CC net/mac80211/fils_aead.o CC drivers/acpi/acpica/nsparse.o CC drivers/gpu/drm/i915/intel_pcode.o CC drivers/net/phy/phy_device.o CC drivers/usb/mon/mon_text.o CC net/netfilter/xt_policy.o CC drivers/net/phy/linkmode.o CC mm/msync.o CC arch/x86/kernel/tsc_msr.o CC net/ipv4/udp.o CC net/sunrpc/sunrpc_syms.o CC fs/char_dev.o CC drivers/gpu/drm/drm_atomic_uapi.o AR drivers/net/wireless/admtek/built-in.a AR drivers/net/wireless/ath/built-in.a CC drivers/usb/host/pci-quirks.o AR drivers/net/wireless/atmel/built-in.a CC drivers/input/keyboard/atkbd.o CC drivers/rtc/lib.o AR drivers/net/wireless/broadcom/built-in.a AR drivers/net/wireless/intel/built-in.a CC drivers/net/phy/phy_link_topology.o AR drivers/net/wireless/intersil/built-in.a CC drivers/i2c/algos/i2c-algo-bit.o AR drivers/net/wireless/marvell/built-in.a AR drivers/net/wireless/mediatek/built-in.a AR drivers/net/wireless/microchip/built-in.a AR drivers/i3c/built-in.a AR drivers/net/wireless/purelifi/built-in.a CC net/ipv4/udplite.o AR drivers/net/wireless/quantenna/built-in.a AR drivers/net/wireless/ralink/built-in.a AR drivers/net/wireless/realtek/built-in.a AR drivers/net/wireless/rsi/built-in.a CC drivers/input/mouse/psmouse-base.o CC drivers/acpi/acpica/nspredef.o AR drivers/net/wireless/silabs/built-in.a CC drivers/acpi/acpica/nsprepkg.o AR drivers/net/wireless/st/built-in.a CC drivers/base/devtmpfs.o AR drivers/net/wireless/ti/built-in.a CC drivers/ata/libata-sff.o AR drivers/net/wireless/zydas/built-in.a AR drivers/net/wireless/virtual/built-in.a AR drivers/net/wireless/built-in.a CC drivers/acpi/acpica/nsrepair.o CC drivers/usb/core/driver.o CC arch/x86/kernel/io_delay.o CC drivers/input/serio/libps2.o CC mm/page_vma_mapped.o LD [M] drivers/gpu/drm/scheduler/gpu-sched.o CC net/wireless/shipped-certs.o CC net/sunrpc/cache.o CC drivers/i2c/busses/i2c-i801.o AR drivers/media/i2c/built-in.a AR drivers/media/tuners/built-in.a CC fs/nfs/nfs3proc.o AR drivers/media/rc/keymaps/built-in.a AR drivers/media/rc/built-in.a CC mm/pagewalk.o AR drivers/media/common/b2c2/built-in.a AR drivers/media/common/saa7146/built-in.a AR drivers/media/common/siano/built-in.a AR drivers/media/common/v4l2-tpg/built-in.a CC net/ipv6/fib6_notifier.o AR drivers/media/common/videobuf2/built-in.a AR drivers/media/common/built-in.a CC drivers/rtc/class.o AR drivers/media/platform/allegro-dvt/built-in.a CC drivers/acpi/acpica/nsrepair2.o CC drivers/net/phy/mdio_bus.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/net/ethernet/adaptec/built-in.a CC arch/x86/kernel/rtc.o CC fs/ext4/readpage.o AR drivers/media/platform/aspeed/built-in.a AR drivers/i2c/muxes/built-in.a CC drivers/pcmcia/rsrc_mgr.o CC fs/stat.o AR drivers/media/platform/atmel/built-in.a AR drivers/net/ethernet/8390/built-in.a AR drivers/media/platform/broadcom/built-in.a CC drivers/usb/mon/mon_bin.o AR drivers/net/ethernet/agere/built-in.a AR drivers/media/platform/cadence/built-in.a AR drivers/net/ethernet/alacritech/built-in.a AR drivers/media/platform/chips-media/coda/built-in.a AR drivers/net/ethernet/alteon/built-in.a AR drivers/media/platform/chips-media/wave5/built-in.a AR drivers/net/ethernet/amazon/built-in.a AR drivers/media/platform/chips-media/built-in.a CC net/sunrpc/rpc_pipe.o AR drivers/net/ethernet/amd/built-in.a CC drivers/ata/libata-pmp.o AR drivers/media/platform/imagination/built-in.a AR drivers/net/ethernet/aquantia/built-in.a CC drivers/gpu/drm/i915/intel_region_ttm.o AR drivers/media/platform/intel/built-in.a AR drivers/net/ethernet/arc/built-in.a AR drivers/media/platform/marvell/built-in.a AR drivers/net/ethernet/asix/built-in.a AR drivers/media/platform/mediatek/jpeg/built-in.a AR drivers/net/ethernet/atheros/built-in.a AR drivers/net/ethernet/cadence/built-in.a AR drivers/media/platform/mediatek/mdp/built-in.a CC lib/list_sort.o CC drivers/usb/class/usblp.o CC drivers/net/ethernet/broadcom/bnx2.o AR drivers/media/platform/mediatek/vcodec/common/built-in.a CC kernel/trace/trace_event_perf.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 drivers/usb/storage/scsiglue.o AR drivers/media/platform/mediatek/vpu/built-in.a CC [M] drivers/gpu/drm/xe/xe_bo_evict.o AR drivers/media/platform/mediatek/mdp3/built-in.a AR drivers/media/platform/mediatek/built-in.a CC drivers/base/module.o CC drivers/usb/host/ehci-hcd.o AR drivers/media/platform/microchip/built-in.a CC lib/uuid.o AR drivers/media/platform/nuvoton/built-in.a GEN drivers/scsi/scsi_devinfo_tbl.c CC lib/iov_iter.o CC net/netfilter/xt_state.o CC drivers/scsi/scsi_devinfo.o AR drivers/media/platform/nvidia/tegra-vde/built-in.a CC net/mac80211/cfg.o AR drivers/media/platform/nvidia/built-in.a AR drivers/i2c/algos/built-in.a CC fs/ext4/resize.o AR drivers/media/platform/nxp/dw100/built-in.a CC net/ipv4/udp_offload.o AR drivers/media/platform/nxp/imx-jpeg/built-in.a AR drivers/media/platform/nxp/imx8-isi/built-in.a AR drivers/input/keyboard/built-in.a AR drivers/media/platform/nxp/built-in.a CC [M] net/netfilter/nf_log_syslog.o AR drivers/media/platform/qcom/camss/built-in.a CC fs/exec.o AR drivers/media/platform/qcom/venus/built-in.a CC drivers/usb/core/config.o AR drivers/media/platform/qcom/built-in.a AR drivers/media/platform/raspberrypi/pisp_be/built-in.a AR drivers/media/platform/raspberrypi/built-in.a AR drivers/media/platform/renesas/rcar-vin/built-in.a AR drivers/input/serio/built-in.a AR drivers/media/platform/renesas/rzg2l-cru/built-in.a CC kernel/sysctl.o AR drivers/media/platform/renesas/vsp1/built-in.a CC arch/x86/kernel/resource.o AR drivers/media/platform/renesas/built-in.a CC drivers/acpi/acpica/nssearch.o CC [M] net/netfilter/xt_mark.o AR drivers/media/platform/rockchip/rga/built-in.a AR drivers/media/platform/rockchip/rkisp1/built-in.a AR drivers/media/platform/rockchip/built-in.a AR drivers/media/platform/samsung/exynos-gsc/built-in.a AR drivers/media/platform/samsung/exynos4-is/built-in.a CC mm/pgtable-generic.o CC drivers/scsi/scsi_sysctl.o AR drivers/media/platform/samsung/s3c-camif/built-in.a AR drivers/media/platform/samsung/s5p-g2d/built-in.a AR drivers/media/platform/samsung/s5p-jpeg/built-in.a CC drivers/input/mouse/synaptics.o AR drivers/media/platform/samsung/s5p-mfc/built-in.a AR drivers/media/platform/samsung/built-in.a CC drivers/rtc/interface.o AR drivers/media/platform/st/sti/bdisp/built-in.a CC [M] net/netfilter/xt_nat.o AR drivers/media/platform/st/sti/c8sectpfe/built-in.a CC drivers/pcmcia/rsrc_nonstatic.o AR drivers/media/platform/st/sti/delta/built-in.a AR drivers/media/platform/st/sti/hva/built-in.a CC drivers/base/auxiliary_sysfs.o AR drivers/media/platform/st/stm32/built-in.a AR drivers/media/platform/st/built-in.a AS arch/x86/kernel/irqflags.o CC drivers/gpu/drm/i915/intel_runtime_pm.o AR drivers/media/platform/sunxi/sun4i-csi/built-in.a CC arch/x86/kernel/static_call.o AR drivers/media/platform/sunxi/sun6i-csi/built-in.a AR drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a AR drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a CC arch/x86/kernel/process.o AR drivers/media/platform/sunxi/sun8i-di/built-in.a AR drivers/media/platform/sunxi/sun8i-rotate/built-in.a AR drivers/media/platform/sunxi/built-in.a CC drivers/input/mouse/focaltech.o AR drivers/media/platform/ti/am437x/built-in.a CC net/core/selftests.o AR drivers/media/platform/ti/cal/built-in.a AR drivers/media/platform/ti/vpe/built-in.a AR drivers/media/platform/ti/davinci/built-in.a AR drivers/media/platform/ti/j721e-csi2rx/built-in.a AR drivers/media/platform/ti/omap/built-in.a CC drivers/acpi/acpica/nsutils.o AR drivers/media/platform/ti/omap3isp/built-in.a AR drivers/media/platform/ti/built-in.a AR drivers/media/platform/verisilicon/built-in.a CC net/ipv6/rpl.o CC net/core/ptp_classifier.o AR drivers/media/platform/via/built-in.a AR drivers/media/platform/xilinx/built-in.a AR drivers/media/platform/built-in.a AR drivers/media/pci/ttpci/built-in.a AR drivers/media/pci/b2c2/built-in.a AR drivers/media/pci/pluto2/built-in.a AR drivers/i2c/busses/built-in.a CC drivers/i2c/i2c-boardinfo.o AR drivers/media/pci/dm1105/built-in.a AR drivers/media/pci/pt1/built-in.a AR drivers/media/pci/pt3/built-in.a AR drivers/media/pci/mantis/built-in.a CC net/ipv6/ioam6.o AR drivers/media/pci/ngene/built-in.a CC [M] drivers/gpu/drm/xe/xe_devcoredump.o CC drivers/usb/storage/protocol.o CC kernel/trace/trace_events_filter.o AR drivers/media/pci/ddbridge/built-in.a AR drivers/usb/mon/built-in.a AR drivers/media/pci/saa7146/built-in.a CC arch/x86/kernel/ptrace.o AR drivers/media/pci/smipcie/built-in.a AR drivers/usb/class/built-in.a CC net/sunrpc/sysfs.o AR drivers/media/pci/netup_unidvb/built-in.a CC drivers/base/devcoredump.o CC [M] drivers/gpu/drm/xe/xe_device.o AR drivers/media/pci/intel/ipu3/built-in.a CC drivers/acpi/acpica/nswalk.o CC drivers/i2c/i2c-core-base.o CC drivers/acpi/acpica/nsxfeval.o AR drivers/media/pci/intel/ivsc/built-in.a AR drivers/media/pci/intel/built-in.a AR drivers/media/pci/built-in.a CC drivers/base/platform-msi.o AR drivers/media/usb/b2c2/built-in.a AR drivers/media/usb/dvb-usb/built-in.a AR drivers/media/usb/dvb-usb-v2/built-in.a CC drivers/scsi/scsi_proc.o AR drivers/media/usb/s2255/built-in.a AR drivers/media/usb/siano/built-in.a AR drivers/media/usb/ttusb-budget/built-in.a AR drivers/media/usb/ttusb-dec/built-in.a AR drivers/media/usb/built-in.a CC mm/rmap.o AR drivers/media/mmc/siano/built-in.a AR drivers/media/mmc/built-in.a AR drivers/media/firewire/built-in.a AR drivers/media/spi/built-in.a AR drivers/input/joystick/built-in.a CC [M] net/netfilter/xt_LOG.o CC fs/nfs/nfs3xdr.o CC fs/nfs/nfs3acl.o AR drivers/media/test-drivers/built-in.a AR drivers/media/built-in.a CC drivers/net/phy/mdio_device.o CC drivers/net/phy/swphy.o CC drivers/net/phy/fixed_phy.o AR drivers/usb/misc/built-in.a CC kernel/trace/trace_events_trigger.o CC drivers/usb/core/file.o CC drivers/acpi/resource.o CC drivers/usb/storage/transport.o CC fs/pipe.o CC drivers/ata/libata-acpi.o CC drivers/pcmcia/yenta_socket.o CC drivers/acpi/acpica/nsxfname.o AR drivers/net/usb/built-in.a CC kernel/capability.o CC net/core/netprio_cgroup.o AR drivers/pps/clients/built-in.a CC drivers/base/physical_location.o AR drivers/pps/generators/built-in.a CC drivers/pps/pps.o CC lib/clz_ctz.o CC drivers/gpu/drm/drm_auth.o CC [M] drivers/gpu/drm/xe/xe_device_sysfs.o CC drivers/input/mouse/alps.o CC drivers/net/phy/realtek.o CC drivers/gpu/drm/i915/intel_sbi.o CC drivers/ata/libata-pata-timings.o AR drivers/input/tablet/built-in.a CC drivers/rtc/nvmem.o CC drivers/scsi/scsi_debugfs.o CC net/core/netclassid_cgroup.o CC drivers/acpi/acpica/nsxfobj.o CC drivers/ptp/ptp_clock.o CC fs/ext4/super.o CC mm/vmalloc.o CC drivers/usb/core/buffer.o CC lib/bsearch.o CC drivers/usb/host/ehci-pci.o CC drivers/usb/early/ehci-dbgp.o CC net/sunrpc/svc_xprt.o AR drivers/net/ethernet/brocade/built-in.a CC drivers/base/trace.o CC [M] drivers/gpu/drm/xe/xe_dma_buf.o AR drivers/net/ethernet/cavium/common/built-in.a CC net/ipv4/arp.o AR drivers/net/ethernet/cavium/thunder/built-in.a CC arch/x86/kernel/tls.o AR drivers/net/ethernet/cavium/liquidio/built-in.a CC kernel/ptrace.o AR drivers/net/ethernet/cavium/octeon/built-in.a AR drivers/net/ethernet/cavium/built-in.a CC fs/ext4/symlink.o CC kernel/trace/trace_eprobe.o CC drivers/pps/kapi.o CC kernel/trace/trace_kprobe.o CC drivers/pps/sysfs.o CC drivers/acpi/acpica/psargs.o CC drivers/gpu/drm/drm_blend.o CC drivers/usb/storage/usb.o CC drivers/rtc/dev.o CC fs/nfs/nfs4proc.o CC kernel/trace/error_report-traces.o CC [M] net/netfilter/xt_MASQUERADE.o CC drivers/net/ethernet/broadcom/tg3.o CC fs/namei.o CC [M] net/netfilter/xt_addrtype.o CC drivers/rtc/proc.o AR drivers/input/touchscreen/built-in.a CC fs/ext4/sysfs.o CC net/ipv6/sysctl_net_ipv6.o CC drivers/scsi/scsi_trace.o CC drivers/ata/ahci.o CC lib/find_bit.o CC drivers/ata/libahci.o CC drivers/rtc/sysfs.o CC drivers/usb/core/sysfs.o CC net/ipv6/xfrm6_policy.o CC drivers/scsi/scsi_logging.o CC drivers/gpu/drm/i915/intel_step.o AR drivers/pcmcia/built-in.a CC drivers/scsi/scsi_pm.o CC net/core/dst_cache.o CC drivers/acpi/acpica/psloop.o AR drivers/pps/built-in.a CC drivers/gpu/drm/i915/intel_uncore.o AR drivers/base/built-in.a CC drivers/i2c/i2c-core-smbus.o CC net/mac80211/ethtool.o CC kernel/trace/power-traces.o CC lib/llist.o CC fs/nfs/nfs4xdr.o AR drivers/net/phy/built-in.a CC drivers/ptp/ptp_chardev.o CC [M] drivers/gpu/drm/xe/xe_drm_client.o CC drivers/input/mouse/byd.o CC drivers/ptp/ptp_sysfs.o AR drivers/usb/early/built-in.a CC net/ipv6/xfrm6_state.o CC lib/lwq.o CC arch/x86/kernel/step.o CC drivers/usb/host/ohci-hcd.o CC fs/ext4/xattr.o CC drivers/acpi/acpi_processor.o CC drivers/acpi/acpica/psobject.o CC net/mac80211/rx.o CC lib/memweight.o AR drivers/input/misc/built-in.a CC drivers/scsi/scsi_bsg.o CC drivers/rtc/rtc-mc146818-lib.o CC lib/kfifo.o CC drivers/usb/storage/initializers.o CC drivers/input/mouse/logips2pp.o CC drivers/usb/storage/sierra_ms.o AR drivers/net/ethernet/chelsio/built-in.a CC drivers/input/mouse/lifebook.o CC mm/vma.o CC net/core/gro_cells.o CC drivers/acpi/acpica/psopcode.o CC drivers/gpu/drm/i915/intel_wakeref.o CC drivers/usb/core/endpoint.o CC drivers/gpu/drm/i915/vlv_sideband.o CC net/sunrpc/xprtmultipath.o CC mm/process_vm_access.o CC net/ipv6/xfrm6_input.o CC kernel/user.o CC net/mac80211/spectmgmt.o CC arch/x86/kernel/i8237.o AR net/netfilter/built-in.a CC net/ipv4/icmp.o CC drivers/rtc/rtc-cmos.o CC fs/nfs/nfs4state.o CC drivers/acpi/acpica/psopinfo.o CC drivers/acpi/processor_core.o CC fs/fcntl.o CC drivers/ptp/ptp_vclock.o CC kernel/signal.o CC drivers/net/mii.o CC drivers/input/mouse/trackpoint.o CC drivers/scsi/scsi_common.o CC drivers/usb/storage/option_ms.o CC drivers/acpi/processor_pdc.o CC drivers/input/input.o CC net/sunrpc/stats.o CC kernel/sys.o CC arch/x86/kernel/stacktrace.o CC [M] drivers/gpu/drm/xe/xe_eu_stall.o CC drivers/gpu/drm/i915/vlv_suspend.o CC lib/percpu-refcount.o CC drivers/acpi/acpica/psparse.o CC kernel/trace/rpm-traces.o CC drivers/usb/core/devio.o CC drivers/ata/ata_piix.o CC drivers/i2c/i2c-core-acpi.o CC fs/ext4/xattr_hurd.o CC net/mac80211/tx.o CC drivers/scsi/scsi_transport_spi.o CC net/ipv4/devinet.o CC net/core/failover.o CC net/ipv6/xfrm6_output.o CC drivers/ptp/ptp_kvm_x86.o CC drivers/usb/host/ohci-pci.o CC fs/ext4/xattr_trusted.o AR net/wireless/built-in.a CC drivers/usb/host/uhci-hcd.o CC drivers/acpi/acpica/psscope.o CC drivers/net/loopback.o CC drivers/input/mouse/cypress_ps2.o CC drivers/usb/storage/usual-tables.o CC drivers/power/supply/power_supply_core.o CC arch/x86/kernel/reboot.o AR drivers/rtc/built-in.a CC fs/ext4/xattr_user.o CC drivers/scsi/virtio_scsi.o CC drivers/acpi/ec.o CC lib/rhashtable.o CC drivers/ata/pata_amd.o CC net/ipv6/xfrm6_protocol.o CC mm/page_alloc.o CC fs/nfs/nfs4renewd.o CC drivers/acpi/acpica/pstree.o CC net/ipv4/af_inet.o CC fs/nfs/nfs4super.o CC drivers/power/supply/power_supply_sysfs.o CC drivers/power/supply/power_supply_leds.o CC drivers/hwmon/hwmon.o CC kernel/trace/trace_dynevent.o CC drivers/ptp/ptp_kvm_common.o AR drivers/usb/storage/built-in.a CC drivers/gpu/drm/i915/soc/intel_dram.o CC arch/x86/kernel/msr.o CC drivers/input/input-compat.o CC drivers/i2c/i2c-smbus.o CC [M] drivers/gpu/drm/xe/xe_exec.o CC drivers/acpi/acpica/psutils.o CC kernel/umh.o CC drivers/input/mouse/psmouse-smbus.o AR net/core/built-in.a CC kernel/workqueue.o CC [M] drivers/gpu/drm/xe/xe_execlist.o CC kernel/pid.o CC drivers/gpu/drm/i915/soc/intel_gmch.o CC net/ipv4/igmp.o CC drivers/scsi/sd.o CC drivers/power/supply/power_supply_hwmon.o CC kernel/task_work.o CC net/mac80211/key.o CC net/ipv4/fib_frontend.o CC fs/ext4/fast_commit.o CC fs/ioctl.o CC drivers/input/input-mt.o CC drivers/acpi/acpica/pswalk.o CC lib/base64.o CC drivers/ata/pata_oldpiix.o CC net/ipv6/netfilter.o CC net/mac80211/util.o CC drivers/gpu/drm/i915/soc/intel_pch.o CC net/sunrpc/sysctl.o CC kernel/trace/trace_probe.o CC lib/once.o AR drivers/ptp/built-in.a CC fs/nfs/nfs4file.o CC arch/x86/kernel/cpuid.o CC fs/readdir.o AR drivers/net/ethernet/cisco/built-in.a CC drivers/acpi/dock.o AR drivers/thermal/broadcom/built-in.a AR drivers/power/supply/built-in.a CC drivers/usb/core/notify.o AR drivers/power/built-in.a AR drivers/thermal/renesas/built-in.a CC drivers/ata/pata_sch.o CC kernel/extable.o AR drivers/thermal/samsung/built-in.a AR drivers/i2c/built-in.a CC drivers/thermal/intel/intel_tcc.o CC kernel/params.o CC drivers/ata/pata_mpiix.o CC drivers/acpi/acpica/psxface.o CC net/ipv6/proc.o CC drivers/usb/host/xhci.o CC drivers/gpu/drm/i915/soc/intel_rom.o AR drivers/input/mouse/built-in.a AR drivers/net/ethernet/cortina/built-in.a CC kernel/trace/trace_uprobe.o CC net/mac80211/parse.o CC fs/nfs/delegation.o CC drivers/scsi/sr.o CC lib/refcount.o CC [M] drivers/gpu/drm/xe/xe_exec_queue.o CC drivers/thermal/intel/therm_throt.o CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.o CC drivers/scsi/sr_ioctl.o AR drivers/hwmon/built-in.a CC fs/ext4/orphan.o CC lib/rcuref.o AR drivers/watchdog/built-in.a CC drivers/input/input-poller.o CC arch/x86/kernel/early-quirks.o CC drivers/md/md.o CC drivers/acpi/acpica/rsaddr.o CC [M] drivers/gpu/drm/xe/xe_force_wake.o CC [M] drivers/gpu/drm/xe/xe_ggtt.o CC drivers/acpi/pci_root.o AR drivers/thermal/st/built-in.a CC kernel/trace/rethook.o CC drivers/usb/core/generic.o CC drivers/gpu/drm/drm_bridge.o CC lib/usercopy.o CC drivers/ata/ata_generic.o CC drivers/usb/host/xhci-mem.o AR net/sunrpc/built-in.a CC fs/select.o CC drivers/acpi/acpica/rscalc.o CC drivers/acpi/acpica/rscreate.o CC fs/ext4/acl.o CC net/ipv6/syncookies.o CC arch/x86/kernel/smp.o CC drivers/scsi/sr_vendor.o CC lib/errseq.o CC fs/dcache.o CC drivers/md/md-bitmap.o CC net/ipv6/calipso.o CC drivers/input/ff-core.o CC lib/bucket_locks.o CC drivers/gpu/drm/i915/i915_memcpy.o CC drivers/cpufreq/cpufreq.o CC drivers/cpuidle/governors/menu.o CC drivers/cpuidle/governors/haltpoll.o CC drivers/gpu/drm/i915/i915_mm.o CC drivers/input/touchscreen.o CC drivers/usb/core/quirks.o CC drivers/acpi/acpica/rsdumpinfo.o CC drivers/acpi/acpica/rsinfo.o CC drivers/scsi/sg.o CC drivers/net/netconsole.o CC net/mac80211/wme.o AR drivers/thermal/intel/built-in.a AR drivers/thermal/qcom/built-in.a CC drivers/usb/core/devices.o CC drivers/scsi/scsi_sysfs.o AR drivers/thermal/tegra/built-in.a CC drivers/cpufreq/freq_table.o AR drivers/thermal/mediatek/built-in.a CC drivers/thermal/thermal_core.o AR drivers/ata/built-in.a CC drivers/input/ff-memless.o CC drivers/usb/host/xhci-ext-caps.o CC kernel/kthread.o CC drivers/gpu/drm/i915/i915_sw_fence.o CC lib/generic-radix-tree.o CC drivers/thermal/thermal_sysfs.o CC drivers/md/md-autodetect.o CC net/ipv6/ah6.o AR drivers/net/ethernet/dec/tulip/built-in.a CC drivers/acpi/acpica/rsio.o AR drivers/net/ethernet/dec/built-in.a CC fs/nfs/nfs4idmap.o CC mm/init-mm.o CC [M] drivers/gpu/drm/xe/xe_gpu_scheduler.o CC drivers/acpi/pci_link.o CC net/ipv4/fib_semantics.o CC net/ipv4/fib_trie.o CC drivers/cpuidle/cpuidle.o AR drivers/mmc/built-in.a CC drivers/acpi/pci_irq.o CC kernel/sys_ni.o CC net/ipv6/esp6.o CC drivers/gpu/drm/i915/i915_sw_fence_work.o AR kernel/trace/built-in.a CC drivers/thermal/thermal_trip.o CC drivers/acpi/acpica/rsirq.o CC [M] drivers/gpu/drm/xe/xe_gsc.o AR drivers/ufs/built-in.a AR drivers/net/ethernet/dlink/built-in.a CC arch/x86/kernel/smpboot.o CC arch/x86/kernel/tsc_sync.o CC drivers/net/virtio_net.o CC lib/bitmap-str.o CC fs/nfs/callback.o CC drivers/input/sparse-keymap.o AR drivers/cpuidle/governors/built-in.a CC drivers/usb/core/phy.o CC drivers/gpu/drm/i915/i915_syncmap.o CC arch/x86/kernel/setup_percpu.o AR drivers/firmware/arm_ffa/built-in.a AR drivers/firmware/arm_scmi/built-in.a AR drivers/firmware/broadcom/built-in.a AR drivers/firmware/cirrus/built-in.a CC drivers/md/dm.o AR drivers/firmware/meson/built-in.a CC fs/ext4/xattr_security.o AR drivers/firmware/microchip/built-in.a AR drivers/net/ethernet/emulex/built-in.a CC arch/x86/kernel/mpparse.o CC drivers/input/vivaldi-fmap.o CC drivers/usb/core/port.o CC mm/memblock.o CC drivers/firmware/efi/libstub/efi-stub-helper.o CC drivers/usb/host/xhci-ring.o CC drivers/md/dm-table.o CC drivers/gpu/drm/i915/i915_user_extensions.o CC drivers/acpi/acpica/rslist.o CC kernel/nsproxy.o CC drivers/gpu/drm/drm_cache.o CC net/mac80211/chan.o CC net/mac80211/trace.o CC [M] drivers/gpu/drm/xe/xe_gsc_debugfs.o CC fs/nfs/callback_xdr.o CC lib/string_helpers.o AR drivers/crypto/stm32/built-in.a AR drivers/crypto/xilinx/built-in.a AR drivers/crypto/hisilicon/built-in.a AR drivers/crypto/intel/keembay/built-in.a AR drivers/crypto/intel/ixp4xx/built-in.a AR drivers/crypto/intel/built-in.a CC drivers/md/dm-target.o AR drivers/crypto/starfive/built-in.a AR drivers/crypto/built-in.a CC drivers/input/input-leds.o AR drivers/net/ethernet/engleder/built-in.a CC drivers/acpi/acpica/rsmemory.o AR drivers/net/ethernet/ezchip/built-in.a CC net/ipv4/fib_notifier.o CC drivers/gpu/drm/i915/i915_debugfs.o AR drivers/firmware/imx/built-in.a CC [M] drivers/gpu/drm/xe/xe_gsc_proxy.o CC drivers/cpuidle/driver.o CC drivers/usb/host/xhci-hub.o CC drivers/thermal/thermal_helpers.o AR drivers/scsi/built-in.a CC drivers/gpu/drm/i915/i915_debugfs_params.o CC fs/inode.o CC drivers/input/evdev.o CC drivers/gpu/drm/drm_client.o CC drivers/thermal/thermal_hwmon.o CC drivers/cpuidle/governor.o CC drivers/clocksource/acpi_pm.o CC drivers/usb/core/hcd-pci.o CC [M] drivers/gpu/drm/xe/xe_gsc_submit.o CC drivers/usb/host/xhci-dbg.o CC mm/slub.o CC drivers/cpufreq/cpufreq_performance.o CC drivers/acpi/acpica/rsmisc.o CC drivers/firmware/efi/libstub/gop.o CC drivers/gpu/drm/drm_client_modeset.o CC drivers/cpuidle/sysfs.o CC drivers/net/net_failover.o AR drivers/net/ethernet/fujitsu/built-in.a CC lib/hexdump.o CC net/ipv6/sit.o CC drivers/acpi/acpi_apd.o CC arch/x86/kernel/trace_clock.o CC fs/attr.o CC drivers/usb/host/xhci-trace.o CC net/ipv4/inet_fragment.o CC drivers/cpufreq/cpufreq_userspace.o CC drivers/thermal/gov_step_wise.o CC drivers/firmware/efi/efi-bgrt.o CC arch/x86/kernel/trace.o CC drivers/usb/core/usb-acpi.o CC lib/kstrtox.o CC drivers/acpi/acpica/rsserial.o CC kernel/notifier.o CC drivers/gpu/drm/i915/i915_pmu.o AR drivers/firmware/psci/built-in.a CC kernel/ksysfs.o CC net/ipv4/ping.o CC drivers/firmware/efi/libstub/secureboot.o CC mm/madvise.o CC arch/x86/kernel/rethook.o AR drivers/net/ethernet/fungible/built-in.a CC drivers/gpu/drm/drm_color_mgmt.o CC drivers/clocksource/i8253.o CC drivers/firmware/efi/efi.o CC arch/x86/kernel/vmcore_info_32.o CC drivers/hid/usbhid/hid-core.o CC drivers/cpuidle/poll_state.o AR drivers/net/ethernet/google/built-in.a CC fs/nfs/callback_proc.o CC [M] drivers/gpu/drm/xe/xe_gt.o CC drivers/cpufreq/cpufreq_ondemand.o CC lib/iomap.o CC drivers/acpi/acpica/rsutils.o CC drivers/thermal/gov_user_space.o CC net/ipv6/addrconf_core.o AR drivers/firmware/qcom/built-in.a CC drivers/firmware/efi/libstub/tpm.o AR drivers/input/built-in.a CC net/ipv6/exthdrs_core.o CC net/ipv6/ip6_checksum.o CC drivers/usb/host/xhci-debugfs.o CC drivers/gpu/drm/i915/gt/gen2_engine_cs.o CC drivers/cpuidle/cpuidle-haltpoll.o CC kernel/cred.o AR drivers/clocksource/built-in.a CC drivers/acpi/acpi_platform.o CC drivers/md/dm-linear.o CC fs/bad_inode.o CC drivers/hid/usbhid/hiddev.o CC lib/iomap_copy.o AR drivers/net/ethernet/huawei/built-in.a AR fs/ext4/built-in.a CC net/ipv4/ip_tunnel_core.o CC drivers/firmware/efi/vars.o AR drivers/usb/core/built-in.a CC net/ipv4/gre_offload.o CC drivers/md/dm-stripe.o CC drivers/usb/host/xhci-pci.o CC drivers/hid/usbhid/hid-pidff.o CC arch/x86/kernel/machine_kexec_32.o CC drivers/acpi/acpica/rsxface.o AR drivers/thermal/built-in.a CC drivers/acpi/acpica/tbdata.o AS arch/x86/kernel/relocate_kernel_32.o CC fs/file.o CC net/mac80211/mlme.o CC [M] drivers/gpu/drm/xe/xe_gt_ccs_mode.o CC drivers/firmware/efi/libstub/file.o AR drivers/cpuidle/built-in.a CC kernel/reboot.o CC drivers/md/dm-ioctl.o CC drivers/firmware/efi/reboot.o CC lib/devres.o CC drivers/cpufreq/cpufreq_governor.o CC drivers/gpu/drm/i915/gt/gen6_engine_cs.o CC drivers/net/ethernet/intel/e1000/e1000_main.o CC drivers/net/ethernet/intel/e1000e/82571.o CC arch/x86/kernel/crash_dump_32.o CC drivers/firmware/efi/libstub/mem.o CC fs/filesystems.o CC net/ipv4/metrics.o CC drivers/cpufreq/cpufreq_governor_attr_set.o CC drivers/acpi/acpica/tbfadt.o CC drivers/net/ethernet/intel/e100.o AR drivers/net/ethernet/i825xx/built-in.a CC drivers/firmware/efi/memattr.o AR drivers/platform/x86/amd/built-in.a CC drivers/acpi/acpica/tbfind.o CC drivers/net/ethernet/intel/e1000/e1000_hw.o CC lib/check_signature.o AR drivers/platform/x86/intel/built-in.a CC mm/page_io.o CC drivers/platform/x86/wmi.o CC drivers/gpu/drm/drm_connector.o CC mm/swap_state.o CC drivers/acpi/acpica/tbinstal.o CC drivers/firmware/efi/tpm.o AR drivers/platform/surface/built-in.a CC net/ipv4/netlink.o AR drivers/firmware/smccc/built-in.a CC drivers/gpu/drm/drm_crtc.o CC net/ipv6/ip6_icmp.o CC net/ipv4/nexthop.o CC kernel/async.o CC drivers/mailbox/mailbox.o AR drivers/net/ethernet/microsoft/built-in.a AR drivers/net/ethernet/litex/built-in.a CC net/mac80211/tdls.o CC drivers/firmware/efi/memmap.o CC [M] drivers/gpu/drm/xe/xe_gt_clock.o CC drivers/cpufreq/acpi-cpufreq.o CC lib/interval_tree.o CC drivers/mailbox/pcc.o CC net/ipv6/output_core.o AR drivers/net/ethernet/broadcom/built-in.a CC drivers/net/ethernet/intel/e1000/e1000_ethtool.o AR drivers/firmware/tegra/built-in.a CC drivers/firmware/efi/libstub/random.o CC fs/namespace.o AR drivers/perf/built-in.a CC drivers/acpi/acpica/tbprint.o CC arch/x86/kernel/crash.o CC drivers/acpi/acpi_pnp.o CC lib/assoc_array.o CC fs/nfs/nfs4namespace.o CC net/ipv6/protocol.o AR drivers/hid/usbhid/built-in.a CC drivers/hid/hid-core.o CC kernel/range.o CC [M] drivers/gpu/drm/xe/xe_gt_freq.o CC net/mac80211/ocb.o CC drivers/gpu/drm/i915/gt/gen6_ppgtt.o CC drivers/platform/x86/wmi-bmof.o CC drivers/gpu/drm/i915/gt/gen7_renderclear.o CC drivers/acpi/power.o CC kernel/smpboot.o CC drivers/acpi/event.o AR drivers/net/ethernet/marvell/octeon_ep/built-in.a AR drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a AR drivers/net/ethernet/marvell/octeontx2/built-in.a AR drivers/net/ethernet/marvell/prestera/built-in.a CC drivers/net/ethernet/marvell/sky2.o CC drivers/acpi/acpica/tbutils.o CC mm/swapfile.o AR drivers/usb/host/built-in.a AR drivers/usb/built-in.a AR drivers/mailbox/built-in.a CC lib/bitrev.o AR drivers/firmware/xilinx/built-in.a CC drivers/hid/hid-input.o CC drivers/cpufreq/amd-pstate.o CC fs/seq_file.o CC net/ipv4/udp_tunnel_stub.o CC drivers/firmware/efi/libstub/randomalloc.o CC kernel/ucount.o CC net/ipv6/ip6_offload.o CC drivers/net/ethernet/intel/e1000e/ich8lan.o CC lib/crc-ccitt.o CC drivers/gpu/drm/i915/gt/gen8_engine_cs.o CC mm/swap_slots.o CC kernel/regset.o CC drivers/firmware/efi/capsule.o CC drivers/acpi/evged.o CC [M] drivers/gpu/drm/xe/xe_gt_idle.o CC arch/x86/kernel/module.o CC drivers/md/dm-io.o CC lib/crc16.o CC drivers/platform/x86/eeepc-laptop.o CC net/mac80211/airtime.o CC drivers/gpu/drm/i915/gt/gen8_ppgtt.o CC drivers/acpi/acpica/tbxface.o CC drivers/cpufreq/amd-pstate-trace.o CC net/ipv4/ip_tunnel.o CC fs/xattr.o HOSTCC lib/gen_crc32table CC drivers/net/ethernet/intel/e1000e/80003es2lan.o CC drivers/acpi/sysfs.o CC drivers/firmware/efi/libstub/pci.o CC drivers/firmware/dmi_scan.o CC drivers/firmware/dmi-id.o CC drivers/firmware/memmap.o CC arch/x86/kernel/doublefault_32.o CC kernel/ksyms_common.o AR drivers/net/ethernet/mellanox/built-in.a CC drivers/acpi/acpica/tbxfload.o CC lib/xxhash.o CC drivers/acpi/acpica/tbxfroot.o CC drivers/firmware/efi/libstub/skip_spaces.o CC drivers/cpufreq/intel_pstate.o CC fs/nfs/nfs4getroot.o CC drivers/firmware/efi/esrt.o CC drivers/firmware/efi/libstub/lib-cmdline.o AR drivers/hwtracing/intel_th/built-in.a CC drivers/firmware/efi/runtime-wrappers.o CC drivers/net/ethernet/intel/e1000/e1000_param.o CC drivers/hid/hid-quirks.o CC [M] drivers/gpu/drm/xe/xe_gt_mcr.o CC net/ipv4/sysctl_net_ipv4.o CC drivers/gpu/drm/drm_displayid.o CC drivers/net/ethernet/intel/e1000e/mac.o CC arch/x86/kernel/early_printk.o CC drivers/acpi/property.o CC lib/genalloc.o CC net/ipv6/tcpv6_offload.o CC drivers/acpi/acpica/utaddress.o CC mm/dmapool.o CC drivers/firmware/efi/capsule-loader.o CC net/ipv4/proc.o CC drivers/firmware/efi/libstub/lib-ctype.o CC drivers/hid/hid-debug.o CC drivers/firmware/efi/libstub/alignedmem.o AR drivers/android/built-in.a AR drivers/net/ethernet/meta/built-in.a CC drivers/platform/x86/p2sb.o CC drivers/acpi/acpica/utalloc.o CC kernel/groups.o CC drivers/gpu/drm/drm_drv.o CC fs/nfs/nfs4client.o CC mm/hugetlb.o CC drivers/md/dm-kcopyd.o CC net/mac80211/eht.o CC drivers/gpu/drm/i915/gt/intel_breadcrumbs.o CC drivers/firmware/efi/libstub/relocate.o CC net/ipv6/exthdrs_offload.o CC arch/x86/kernel/hpet.o CC drivers/acpi/acpica/utascii.o CC net/ipv4/fib_rules.o CC mm/mmu_notifier.o CC drivers/md/dm-sysfs.o CC fs/libfs.o CC lib/percpu_counter.o CC drivers/hid/hidraw.o CC drivers/net/ethernet/intel/e1000e/manage.o CC drivers/gpu/drm/drm_dumb_buffers.o CC net/ipv6/inet6_hashtables.o CC mm/migrate.o CC [M] drivers/gpu/drm/xe/xe_gt_pagefault.o AR drivers/net/ethernet/micrel/built-in.a CC net/ipv6/mcast_snoop.o CC net/mac80211/led.o CC drivers/acpi/acpica/utbuffer.o CC drivers/gpu/drm/drm_edid.o AR drivers/nvmem/layouts/built-in.a CC drivers/gpu/drm/i915/gt/intel_context.o AR drivers/platform/x86/built-in.a CC drivers/nvmem/core.o AR drivers/platform/built-in.a CC net/ipv4/ipmr.o CC drivers/firmware/efi/libstub/printk.o CC fs/nfs/nfs4session.o AR drivers/net/ethernet/intel/e1000/built-in.a CC drivers/firmware/efi/earlycon.o CC fs/fs-writeback.o CC kernel/kcmp.o CC drivers/net/ethernet/intel/e1000e/nvm.o CC lib/audit.o CC mm/page_counter.o CC [M] drivers/gpu/drm/xe/xe_gt_sysfs.o CC drivers/md/dm-stats.o CC drivers/acpi/debugfs.o CC drivers/acpi/acpica/utcksum.o CC drivers/gpu/drm/i915/gt/intel_context_sseu.o AR drivers/net/ethernet/microchip/built-in.a CC arch/x86/kernel/amd_nb.o CC drivers/net/ethernet/intel/e1000e/phy.o CC fs/nfs/dns_resolve.o CC fs/pnode.o CC kernel/freezer.o CC kernel/profile.o CC drivers/firmware/efi/libstub/vsprintf.o CC drivers/md/dm-rq.o CC drivers/gpu/drm/i915/gt/intel_engine_cs.o CC drivers/gpu/drm/drm_eld.o CC drivers/acpi/acpi_lpat.o CC lib/syscall.o CC drivers/acpi/acpica/utcopy.o CC drivers/gpu/drm/drm_encoder.o CC drivers/hid/hid-generic.o CC drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o CC drivers/net/ethernet/intel/e1000e/param.o AR drivers/net/ethernet/mscc/built-in.a CC drivers/md/dm-io-rewind.o CC net/mac80211/pm.o CC [M] drivers/gpu/drm/xe/xe_gt_throttle.o CC drivers/firmware/efi/libstub/x86-stub.o CC mm/hugetlb_cgroup.o AR drivers/net/ethernet/myricom/built-in.a AR drivers/net/ethernet/natsemi/built-in.a CC drivers/gpu/drm/i915/gt/intel_engine_pm.o CC drivers/gpu/drm/i915/gt/intel_engine_user.o CC drivers/hid/hid-a4tech.o AR drivers/net/ethernet/marvell/built-in.a CC drivers/acpi/acpica/utexcep.o AR drivers/firmware/efi/built-in.a CC mm/early_ioremap.o AR drivers/cpufreq/built-in.a CC drivers/gpu/drm/drm_file.o CC drivers/md/dm-builtin.o CC drivers/net/ethernet/intel/e1000e/ethtool.o CC drivers/firmware/efi/libstub/smbios.o CC drivers/acpi/acpi_pcc.o CC lib/errname.o CC fs/nfs/nfs4trace.o CC net/ipv4/ipmr_base.o CC fs/nfs/nfs4sysctl.o CC drivers/hid/hid-apple.o AR drivers/nvmem/built-in.a CC drivers/md/dm-raid1.o CC drivers/net/ethernet/intel/e1000e/netdev.o AR drivers/net/ethernet/neterion/built-in.a CC drivers/gpu/drm/drm_fourcc.o CC lib/nlattr.o CC arch/x86/kernel/kvm.o AR net/ipv6/built-in.a CC [M] drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o CC net/ipv4/syncookies.o CC drivers/net/ethernet/intel/e1000e/ptp.o CC drivers/acpi/acpica/utdebug.o CC net/mac80211/rc80211_minstrel_ht.o CC fs/splice.o CC kernel/stacktrace.o STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o CC drivers/acpi/ac.o CC lib/cpu_rmap.o AR drivers/net/ethernet/netronome/built-in.a CC mm/secretmem.o CC drivers/hid/hid-belkin.o CC kernel/dma.o CC drivers/acpi/acpica/utdecode.o CC drivers/md/dm-log.o CC drivers/gpu/drm/i915/gt/intel_execlists_submission.o CC drivers/hid/hid-cherry.o CC drivers/gpu/drm/drm_framebuffer.o CC net/ipv4/tunnel4.o CC [M] drivers/gpu/drm/xe/xe_gt_topology.o CC net/ipv4/ipconfig.o CC net/mac80211/wbrf.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 STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o CC kernel/smp.o STUBCPY drivers/firmware/efi/libstub/mem.stub.o STUBCPY drivers/firmware/efi/libstub/pci.stub.o STUBCPY drivers/firmware/efi/libstub/printk.stub.o STUBCPY drivers/firmware/efi/libstub/random.stub.o STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o STUBCPY drivers/firmware/efi/libstub/relocate.stub.o STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o STUBCPY drivers/firmware/efi/libstub/smbios.stub.o CC drivers/gpu/drm/drm_gem.o STUBCPY drivers/firmware/efi/libstub/tpm.stub.o STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o CC arch/x86/kernel/kvmclock.o CC arch/x86/kernel/paravirt.o AR drivers/firmware/efi/libstub/lib.a AR drivers/firmware/built-in.a CC drivers/hid/hid-chicony.o CC [M] drivers/gpu/drm/xe/xe_guc.o CC drivers/acpi/acpica/utdelete.o CC drivers/gpu/drm/i915/gt/intel_ggtt.o CC lib/dynamic_queue_limits.o CC kernel/uid16.o CC net/ipv4/netfilter.o CC fs/sync.o CC drivers/acpi/acpica/uterror.o CC drivers/hid/hid-cypress.o CC drivers/gpu/drm/drm_ioctl.o CC drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o CC drivers/md/dm-region-hash.o CC fs/utimes.o CC arch/x86/kernel/pvclock.o CC net/ipv4/tcp_cubic.o CC [M] drivers/gpu/drm/xe/xe_guc_ads.o AR drivers/net/ethernet/ni/built-in.a CC net/ipv4/tcp_sigpool.o CC net/ipv4/cipso_ipv4.o CC lib/glob.o CC drivers/gpu/drm/drm_lease.o CC lib/strncpy_from_user.o CC kernel/kallsyms.o CC drivers/md/dm-zero.o CC drivers/acpi/acpica/uteval.o CC mm/hmm.o CC drivers/acpi/acpica/utglobal.o CC fs/d_path.o CC drivers/gpu/drm/i915/gt/intel_gt.o CC mm/memfd.o CC drivers/gpu/drm/drm_managed.o CC lib/strnlen_user.o CC [M] drivers/gpu/drm/xe/xe_guc_capture.o CC drivers/acpi/acpica/uthex.o CC drivers/net/ethernet/nvidia/forcedeth.o CC kernel/acct.o CC mm/ptdump.o CC drivers/acpi/acpica/utids.o CC drivers/hid/hid-ezkey.o CC drivers/gpu/drm/drm_mm.o CC drivers/acpi/button.o CC drivers/acpi/acpica/utinit.o CC arch/x86/kernel/pcspeaker.o CC lib/net_utils.o CC fs/stack.o CC mm/execmem.o CC kernel/vmcore_info.o CC drivers/hid/hid-gyration.o AR drivers/net/ethernet/oki-semi/built-in.a CC drivers/acpi/fan_core.o CC arch/x86/kernel/check.o CC drivers/acpi/acpica/utlock.o CC net/ipv4/xfrm4_policy.o CC drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o CC [M] drivers/gpu/drm/xe/xe_guc_ct.o CC drivers/acpi/acpica/utmath.o CC drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o CC drivers/acpi/fan_attr.o CC drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o AR drivers/md/built-in.a CC fs/fs_struct.o AR drivers/net/ethernet/packetengines/built-in.a CC drivers/acpi/acpica/utmisc.o CC arch/x86/kernel/uprobes.o CC drivers/hid/hid-ite.o CC lib/sg_pool.o CC drivers/acpi/fan_hwmon.o CC arch/x86/kernel/perf_regs.o CC kernel/elfcorehdr.o CC fs/statfs.o AR drivers/net/ethernet/qlogic/built-in.a CC [M] drivers/gpu/drm/xe/xe_guc_db_mgr.o CC drivers/hid/hid-kensington.o CC arch/x86/kernel/tracepoint.o CC drivers/acpi/acpi_video.o CC fs/fs_pin.o CC lib/stackdepot.o AR drivers/net/ethernet/qualcomm/emac/built-in.a AR drivers/net/ethernet/qualcomm/built-in.a CC drivers/hid/hid-lg.o CC drivers/acpi/acpica/utmutex.o CC kernel/crash_reserve.o CC arch/x86/kernel/itmt.o CC [M] drivers/gpu/drm/xe/xe_guc_hwconfig.o AR mm/built-in.a CC drivers/gpu/drm/i915/gt/intel_gt_debugfs.o CC drivers/gpu/drm/drm_mode_config.o CC [M] drivers/gpu/drm/xe/xe_guc_id_mgr.o CC net/ipv4/xfrm4_state.o CC drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o CC kernel/kexec_core.o CC lib/asn1_decoder.o CC arch/x86/kernel/umip.o CC drivers/hid/hid-lgff.o GEN lib/oid_registry_data.c CC drivers/acpi/acpica/utnonansi.o CC [M] drivers/gpu/drm/xe/xe_guc_klv_helpers.o CC drivers/net/ethernet/realtek/8139too.o CC kernel/crash_core.o CC drivers/hid/hid-lg4ff.o CC [M] drivers/gpu/drm/xe/xe_guc_log.o CC drivers/gpu/drm/drm_mode_object.o CC drivers/acpi/video_detect.o AR drivers/net/ethernet/renesas/built-in.a CC [M] drivers/gpu/drm/xe/xe_guc_pc.o CC lib/ucs2_string.o CC drivers/acpi/acpica/utobject.o CC kernel/kexec.o CC drivers/net/ethernet/realtek/r8169_main.o CC net/ipv4/xfrm4_input.o CC arch/x86/kernel/unwind_frame.o CC drivers/acpi/processor_driver.o CC drivers/hid/hid-lg-g15.o AR drivers/net/ethernet/rdc/built-in.a CC drivers/hid/hid-microsoft.o CC [M] drivers/gpu/drm/xe/xe_guc_submit.o CC drivers/gpu/drm/drm_modes.o CC drivers/hid/hid-monterey.o CC lib/sbitmap.o CC drivers/net/ethernet/realtek/r8169_firmware.o CC drivers/gpu/drm/i915/gt/intel_gt_irq.o CC drivers/acpi/processor_thermal.o CC lib/group_cpus.o AR drivers/net/ethernet/rocker/built-in.a CC [M] drivers/gpu/drm/xe/xe_heci_gsc.o AR drivers/net/ethernet/samsung/built-in.a CC drivers/gpu/drm/i915/gt/intel_gt_mcr.o AR drivers/net/ethernet/seeq/built-in.a CC fs/nsfs.o CC drivers/hid/hid-ntrig.o CC drivers/acpi/processor_idle.o CC [M] drivers/gpu/drm/xe/xe_hw_engine.o CC drivers/acpi/acpica/utosi.o CC [M] drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o CC drivers/gpu/drm/i915/gt/intel_gt_pm.o CC net/ipv4/xfrm4_output.o CC drivers/gpu/drm/drm_modeset_lock.o CC drivers/hid/hid-pl.o CC drivers/acpi/processor_throttling.o AR drivers/net/ethernet/silan/built-in.a CC lib/fw_table.o AR drivers/net/ethernet/sis/built-in.a CC kernel/utsname.o CC fs/fs_types.o CC net/ipv4/xfrm4_protocol.o CC [M] drivers/gpu/drm/xe/xe_hw_engine_group.o CC drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o CC drivers/net/ethernet/realtek/r8169_phy_config.o CC [M] drivers/gpu/drm/xe/xe_hw_fence.o CC drivers/acpi/acpica/utownerid.o CC drivers/acpi/processor_perflib.o CC [M] drivers/gpu/drm/xe/xe_huc.o CC drivers/acpi/container.o CC drivers/hid/hid-petalynx.o CC kernel/pid_namespace.o CC fs/fs_context.o AR arch/x86/kernel/built-in.a AR fs/nfs/built-in.a AR drivers/net/ethernet/sfc/built-in.a CC drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o AR drivers/net/ethernet/smsc/built-in.a AR arch/x86/built-in.a CC [M] drivers/gpu/drm/xe/xe_irq.o CC drivers/acpi/thermal_lib.o CC drivers/acpi/thermal.o CC drivers/acpi/acpica/utpredef.o CC drivers/gpu/drm/drm_plane.o CC drivers/acpi/nhlt.o CC fs/fs_parser.o AR net/mac80211/built-in.a AR lib/lib.a CC fs/fsopen.o CC [M] drivers/gpu/drm/xe/xe_lrc.o CC [M] drivers/gpu/drm/xe/xe_migrate.o CC fs/init.o CC drivers/hid/hid-redragon.o CC drivers/acpi/acpica/utresdecode.o GEN lib/crc32table.h CC fs/kernel_read_file.o CC lib/oid_registry.o CC drivers/gpu/drm/drm_prime.o AR drivers/net/ethernet/socionext/built-in.a CC drivers/acpi/acpi_memhotplug.o CC drivers/hid/hid-samsung.o CC [M] drivers/gpu/drm/xe/xe_mmio.o CC drivers/hid/hid-sony.o CC drivers/gpu/drm/i915/gt/intel_gt_requests.o CC drivers/acpi/ioapic.o CC drivers/acpi/acpica/utresrc.o CC kernel/stop_machine.o CC drivers/acpi/battery.o CC [M] drivers/gpu/drm/xe/xe_mocs.o CC drivers/hid/hid-sunplus.o CC drivers/acpi/acpica/utstate.o CC kernel/audit.o CC fs/mnt_idmapping.o CC [M] drivers/gpu/drm/xe/xe_module.o CC drivers/gpu/drm/drm_print.o CC [M] drivers/gpu/drm/xe/xe_oa.o CC drivers/acpi/acpica/utstring.o CC drivers/acpi/bgrt.o CC [M] drivers/gpu/drm/xe/xe_observation.o CC drivers/gpu/drm/i915/gt/intel_gt_sysfs.o CC lib/crc32.o AR drivers/net/ethernet/stmicro/built-in.a CC kernel/auditfilter.o CC [M] drivers/gpu/drm/xe/xe_pat.o CC kernel/auditsc.o CC drivers/gpu/drm/drm_property.o CC [M] drivers/gpu/drm/xe/xe_pci.o AR drivers/net/ethernet/sun/built-in.a CC fs/remap_range.o CC drivers/acpi/spcr.o CC drivers/acpi/acpica/utstrsuppt.o CC drivers/hid/hid-topseed.o AR net/ipv4/built-in.a AR net/built-in.a CC drivers/gpu/drm/drm_rect.o CC drivers/acpi/acpica/utstrtoul64.o CC kernel/audit_watch.o CC [M] drivers/gpu/drm/xe/xe_pcode.o CC kernel/audit_fsnotify.o AR drivers/net/ethernet/tehuti/built-in.a CC drivers/gpu/drm/drm_syncobj.o CC drivers/acpi/acpica/utxface.o CC drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o CC kernel/audit_tree.o AR drivers/net/ethernet/ti/built-in.a AR drivers/net/ethernet/intel/e1000e/built-in.a CC drivers/gpu/drm/drm_sysfs.o AR drivers/net/ethernet/intel/built-in.a CC [M] drivers/gpu/drm/xe/xe_pm.o CC drivers/acpi/acpica/utxfinit.o AR drivers/net/ethernet/nvidia/built-in.a CC [M] drivers/gpu/drm/xe/xe_preempt_fence.o CC kernel/kprobes.o CC drivers/acpi/acpica/utxferror.o CC drivers/gpu/drm/drm_trace_points.o AR drivers/net/ethernet/vertexcom/built-in.a CC drivers/gpu/drm/drm_vblank.o CC [M] drivers/gpu/drm/xe/xe_pt.o CC kernel/seccomp.o AR lib/built-in.a CC fs/pidfs.o CC drivers/gpu/drm/i915/gt/intel_gtt.o CC [M] drivers/gpu/drm/xe/xe_pt_walk.o CC drivers/gpu/drm/drm_vblank_work.o CC [M] drivers/gpu/drm/xe/xe_query.o CC [M] drivers/gpu/drm/xe/xe_range_fence.o CC drivers/gpu/drm/drm_vma_manager.o CC drivers/acpi/acpica/utxfmutex.o AR drivers/net/ethernet/via/built-in.a AR drivers/net/ethernet/wangxun/built-in.a CC kernel/relay.o CC drivers/gpu/drm/i915/gt/intel_llc.o CC fs/buffer.o CC [M] drivers/gpu/drm/xe/xe_reg_sr.o AR drivers/net/ethernet/wiznet/built-in.a AR drivers/net/ethernet/xilinx/built-in.a CC kernel/utsname_sysctl.o CC [M] drivers/gpu/drm/xe/xe_reg_whitelist.o CC fs/mpage.o CC kernel/delayacct.o CC drivers/gpu/drm/drm_writeback.o CC [M] drivers/gpu/drm/xe/xe_rtp.o CC fs/proc_namespace.o AR drivers/net/ethernet/xircom/built-in.a AR drivers/net/ethernet/synopsys/built-in.a CC drivers/gpu/drm/drm_panel.o CC kernel/taskstats.o AR drivers/hid/built-in.a AR drivers/acpi/acpica/built-in.a CC fs/direct-io.o CC [M] drivers/gpu/drm/xe/xe_ring_ops.o AR drivers/acpi/built-in.a CC drivers/gpu/drm/i915/gt/intel_lrc.o CC [M] drivers/gpu/drm/xe/xe_sa.o CC drivers/gpu/drm/drm_pci.o CC drivers/gpu/drm/drm_debugfs.o AR drivers/net/ethernet/pensando/built-in.a CC fs/eventpoll.o CC fs/anon_inodes.o CC drivers/gpu/drm/i915/gt/intel_migrate.o CC kernel/tsacct.o CC fs/signalfd.o CC [M] drivers/gpu/drm/xe/xe_sched_job.o CC drivers/gpu/drm/drm_debugfs_crc.o CC kernel/tracepoint.o CC drivers/gpu/drm/i915/gt/intel_mocs.o CC drivers/gpu/drm/drm_panel_orientation_quirks.o CC [M] drivers/gpu/drm/xe/xe_step.o CC kernel/irq_work.o CC drivers/gpu/drm/drm_buddy.o CC fs/timerfd.o CC drivers/gpu/drm/drm_gem_shmem_helper.o CC drivers/gpu/drm/i915/gt/intel_ppgtt.o CC [M] drivers/gpu/drm/xe/xe_sync.o AR drivers/net/ethernet/realtek/built-in.a AR drivers/net/ethernet/built-in.a CC kernel/static_call.o CC drivers/gpu/drm/drm_atomic_helper.o CC drivers/gpu/drm/i915/gt/intel_rc6.o CC fs/eventfd.o CC kernel/padata.o CC drivers/gpu/drm/drm_atomic_state_helper.o AR drivers/net/built-in.a CC drivers/gpu/drm/i915/gt/intel_region_lmem.o CC drivers/gpu/drm/i915/gt/intel_renderstate.o CC kernel/jump_label.o CC [M] drivers/gpu/drm/xe/xe_tile.o CC drivers/gpu/drm/i915/gt/intel_reset.o CC kernel/context_tracking.o CC fs/aio.o CC [M] drivers/gpu/drm/xe/xe_tile_sysfs.o CC [M] drivers/gpu/drm/xe/xe_trace.o CC kernel/iomem.o CC fs/locks.o CC fs/binfmt_misc.o CC drivers/gpu/drm/i915/gt/intel_ring.o CC kernel/rseq.o CC fs/binfmt_script.o CC drivers/gpu/drm/i915/gt/intel_ring_submission.o CC [M] drivers/gpu/drm/xe/xe_trace_bo.o CC drivers/gpu/drm/i915/gt/intel_rps.o CC fs/binfmt_elf.o CC drivers/gpu/drm/drm_crtc_helper.o CC drivers/gpu/drm/drm_damage_helper.o CC drivers/gpu/drm/i915/gt/intel_sa_media.o CC fs/mbcache.o CC [M] drivers/gpu/drm/xe/xe_trace_guc.o CC fs/posix_acl.o CC [M] drivers/gpu/drm/xe/xe_ttm_sys_mgr.o CC drivers/gpu/drm/i915/gt/intel_sseu.o CC fs/coredump.o CC drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o CC drivers/gpu/drm/drm_encoder_slave.o CC drivers/gpu/drm/i915/gt/intel_timeline.o CC drivers/gpu/drm/drm_flip_work.o CC fs/drop_caches.o CC [M] drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o CC drivers/gpu/drm/i915/gt/intel_tlb.o CC drivers/gpu/drm/drm_format_helper.o CC fs/sysctls.o CC fs/fhandle.o CC drivers/gpu/drm/i915/gt/intel_wopcm.o CC drivers/gpu/drm/drm_gem_atomic_helper.o CC drivers/gpu/drm/drm_gem_framebuffer_helper.o CC drivers/gpu/drm/drm_kms_helper_common.o CC drivers/gpu/drm/drm_modeset_helper.o CC [M] drivers/gpu/drm/xe/xe_ttm_vram_mgr.o CC drivers/gpu/drm/drm_plane_helper.o CC drivers/gpu/drm/i915/gt/intel_workarounds.o CC [M] drivers/gpu/drm/xe/xe_tuning.o CC drivers/gpu/drm/drm_probe_helper.o CC drivers/gpu/drm/i915/gt/shmem_utils.o CC drivers/gpu/drm/drm_self_refresh_helper.o CC drivers/gpu/drm/i915/gt/sysfs_engines.o CC drivers/gpu/drm/drm_simple_kms_helper.o CC [M] drivers/gpu/drm/xe/xe_uc.o CC [M] drivers/gpu/drm/xe/xe_uc_fw.o AR kernel/built-in.a CC drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o CC drivers/gpu/drm/bridge/panel.o CC drivers/gpu/drm/drm_mipi_dsi.o CC [M] drivers/gpu/drm/drm_exec.o CC drivers/gpu/drm/i915/gt/gen6_renderstate.o CC [M] drivers/gpu/drm/xe/xe_vm.o CC drivers/gpu/drm/i915/gt/gen7_renderstate.o CC drivers/gpu/drm/i915/gt/gen8_renderstate.o CC [M] drivers/gpu/drm/drm_gpuvm.o CC [M] drivers/gpu/drm/xe/xe_vram.o CC [M] drivers/gpu/drm/drm_suballoc.o CC drivers/gpu/drm/i915/gt/gen9_renderstate.o CC drivers/gpu/drm/i915/gem/i915_gem_busy.o CC [M] drivers/gpu/drm/xe/xe_vram_freq.o CC drivers/gpu/drm/i915/gem/i915_gem_clflush.o CC drivers/gpu/drm/i915/gem/i915_gem_context.o CC [M] drivers/gpu/drm/xe/xe_wait_user_fence.o CC drivers/gpu/drm/i915/gem/i915_gem_create.o CC drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o CC drivers/gpu/drm/i915/gem/i915_gem_domain.o CC [M] drivers/gpu/drm/xe/xe_wa.o CC drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o CC [M] drivers/gpu/drm/drm_gem_ttm_helper.o CC [M] drivers/gpu/drm/xe/xe_wopcm.o CC [M] drivers/gpu/drm/xe/xe_hmm.o CC drivers/gpu/drm/i915/gem/i915_gem_internal.o CC [M] drivers/gpu/drm/xe/xe_hwmon.o CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf.o CC drivers/gpu/drm/i915/gem/i915_gem_lmem.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_mman.o CC drivers/gpu/drm/i915/gem/i915_gem_object.o CC [M] drivers/gpu/drm/xe/xe_sriov.o CC drivers/gpu/drm/i915/gem/i915_gem_pages.o CC [M] drivers/gpu/drm/xe/display/ext/i915_irq.o CC drivers/gpu/drm/i915/gem/i915_gem_phys.o CC drivers/gpu/drm/i915/gem/i915_gem_pm.o CC [M] drivers/gpu/drm/xe/display/ext/i915_utils.o CC drivers/gpu/drm/i915/gem/i915_gem_region.o CC [M] drivers/gpu/drm/xe/display/intel_bo.o CC drivers/gpu/drm/i915/gem/i915_gem_shmem.o CC [M] drivers/gpu/drm/xe/display/intel_fb_bo.o CC [M] drivers/gpu/drm/xe/display/intel_fbdev_fb.o CC drivers/gpu/drm/i915/gem/i915_gem_shrinker.o CC [M] drivers/gpu/drm/xe/display/xe_display.o LD [M] drivers/gpu/drm/drm_suballoc_helper.o CC drivers/gpu/drm/i915/gem/i915_gem_stolen.o CC [M] drivers/gpu/drm/xe/display/xe_display_misc.o CC drivers/gpu/drm/i915/gem/i915_gem_throttle.o CC [M] drivers/gpu/drm/xe/display/xe_display_rps.o CC drivers/gpu/drm/i915/gem/i915_gem_tiling.o CC [M] drivers/gpu/drm/xe/display/xe_display_wa.o CC drivers/gpu/drm/i915/gem/i915_gem_ttm.o CC drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o CC [M] drivers/gpu/drm/xe/display/xe_dsb_buffer.o CC [M] drivers/gpu/drm/xe/display/xe_fb_pin.o CC [M] drivers/gpu/drm/xe/display/xe_hdcp_gsc.o LD [M] drivers/gpu/drm/drm_ttm_helper.o CC drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o CC [M] drivers/gpu/drm/xe/display/xe_plane_initial.o CC drivers/gpu/drm/i915/gem/i915_gem_userptr.o CC [M] drivers/gpu/drm/xe/display/xe_tdf.o CC [M] drivers/gpu/drm/xe/i915-soc/intel_dram.o AR fs/built-in.a CC [M] drivers/gpu/drm/xe/i915-soc/intel_pch.o CC drivers/gpu/drm/i915/gem/i915_gem_wait.o CC [M] drivers/gpu/drm/xe/i915-soc/intel_rom.o CC [M] drivers/gpu/drm/xe/i915-display/icl_dsi.o CC [M] drivers/gpu/drm/xe/i915-display/intel_alpm.o CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic.o CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o CC drivers/gpu/drm/i915/gem/i915_gemfs.o CC drivers/gpu/drm/i915/i915_active.o CC [M] drivers/gpu/drm/xe/i915-display/intel_audio.o CC drivers/gpu/drm/i915/i915_cmd_parser.o CC [M] drivers/gpu/drm/xe/i915-display/intel_backlight.o CC [M] drivers/gpu/drm/xe/i915-display/intel_bios.o CC [M] drivers/gpu/drm/xe/i915-display/intel_bw.o CC [M] drivers/gpu/drm/xe/i915-display/intel_cdclk.o CC drivers/gpu/drm/i915/i915_deps.o CC [M] drivers/gpu/drm/xe/i915-display/intel_color.o CC drivers/gpu/drm/i915/i915_gem.o CC [M] drivers/gpu/drm/xe/i915-display/intel_combo_phy.o CC [M] drivers/gpu/drm/xe/i915-display/intel_connector.o CC drivers/gpu/drm/i915/i915_gem_evict.o CC [M] drivers/gpu/drm/xe/i915-display/intel_crtc.o CC drivers/gpu/drm/i915/i915_gem_gtt.o CC drivers/gpu/drm/i915/i915_gem_ww.o CC [M] drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o CC drivers/gpu/drm/i915/i915_query.o CC [M] drivers/gpu/drm/xe/i915-display/intel_cursor.o CC drivers/gpu/drm/i915/i915_request.o CC drivers/gpu/drm/i915/i915_scheduler.o CC [M] drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o CC drivers/gpu/drm/i915/i915_trace_points.o CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi.o CC drivers/gpu/drm/i915/i915_ttm_buddy_manager.o CC drivers/gpu/drm/i915/i915_vma.o CC drivers/gpu/drm/i915/i915_vma_resource.o CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o CC [M] drivers/gpu/drm/xe/i915-display/intel_display.o CC drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o CC [M] drivers/gpu/drm/xe/i915-display/intel_display_device.o CC drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o CC [M] drivers/gpu/drm/xe/i915-display/intel_display_driver.o CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o CC [M] drivers/gpu/drm/xe/i915-display/intel_display_irq.o CC drivers/gpu/drm/i915/gt/uc/intel_guc.o CC drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o CC drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o CC 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_display_params.o CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power.o CC drivers/gpu/drm/i915/gt/uc/intel_guc_fw.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/gt/uc/intel_guc_hwconfig.o CC [M] drivers/gpu/drm/xe/i915-display/intel_display_trace.o CC [M] drivers/gpu/drm/xe/i915-display/intel_display_wa.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o CC drivers/gpu/drm/i915/gt/uc/intel_guc_log.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_dmc.o CC drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dp.o CC drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o CC drivers/gpu/drm/i915/gt/uc/intel_huc.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_aux.o CC drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o CC drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_mst.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_test.o CC drivers/gpu/drm/i915/gt/uc/intel_uc.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll.o CC drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o CC drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o CC drivers/gpu/drm/i915/gt/intel_gsc.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dpt_common.o CC drivers/gpu/drm/i915/i915_hwmon.o CC drivers/gpu/drm/i915/display/hsw_ips.o CC [M] drivers/gpu/drm/xe/i915-display/intel_drrs.o CC drivers/gpu/drm/i915/display/i9xx_plane.o CC drivers/gpu/drm/i915/display/i9xx_wm.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dsb.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi.o CC drivers/gpu/drm/i915/display/intel_alpm.o CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.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_dsi_vbt.o CC [M] drivers/gpu/drm/xe/i915-display/intel_encoder.o CC drivers/gpu/drm/i915/display/intel_audio.o CC drivers/gpu/drm/i915/display/intel_bios.o CC [M] drivers/gpu/drm/xe/i915-display/intel_fb.o CC drivers/gpu/drm/i915/display/intel_bo.o CC [M] drivers/gpu/drm/xe/i915-display/intel_fbc.o CC drivers/gpu/drm/i915/display/intel_bw.o CC drivers/gpu/drm/i915/display/intel_cdclk.o CC drivers/gpu/drm/i915/display/intel_color.o CC drivers/gpu/drm/i915/display/intel_combo_phy.o CC drivers/gpu/drm/i915/display/intel_connector.o CC [M] drivers/gpu/drm/xe/i915-display/intel_fdi.o CC drivers/gpu/drm/i915/display/intel_crtc.o CC drivers/gpu/drm/i915/display/intel_crtc_state_dump.o CC [M] drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.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_frontbuffer.o CC drivers/gpu/drm/i915/display/intel_display_driver.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 drivers/gpu/drm/i915/display/intel_display_irq.o CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp.o CC drivers/gpu/drm/i915/display/intel_display_params.o CC drivers/gpu/drm/i915/display/intel_display_power.o CC drivers/gpu/drm/i915/display/intel_display_power_map.o CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o CC [M] drivers/gpu/drm/xe/i915-display/intel_hdmi.o CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug.o CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o CC [M] drivers/gpu/drm/xe/i915-display/intel_hti.o CC [M] drivers/gpu/drm/xe/i915-display/intel_link_bw.o CC [M] drivers/gpu/drm/xe/i915-display/intel_lspcon.o CC drivers/gpu/drm/i915/display/intel_display_power_well.o CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_lock.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 [M] drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o CC drivers/gpu/drm/i915/display/intel_display_snapshot.o CC [M] drivers/gpu/drm/xe/i915-display/intel_panel.o CC drivers/gpu/drm/i915/display/intel_display_wa.o CC drivers/gpu/drm/i915/display/intel_dmc.o CC [M] drivers/gpu/drm/xe/i915-display/intel_pmdemand.o CC drivers/gpu/drm/i915/display/intel_dmc_wl.o CC [M] drivers/gpu/drm/xe/i915-display/intel_pps.o CC drivers/gpu/drm/i915/display/intel_dpio_phy.o CC [M] drivers/gpu/drm/xe/i915-display/intel_psr.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_qp_tables.o CC drivers/gpu/drm/i915/display/intel_dpt.o CC [M] drivers/gpu/drm/xe/i915-display/intel_quirks.o CC drivers/gpu/drm/i915/display/intel_dpt_common.o CC [M] drivers/gpu/drm/xe/i915-display/intel_snps_phy.o CC drivers/gpu/drm/i915/display/intel_drrs.o CC [M] drivers/gpu/drm/xe/i915-display/intel_tc.o CC [M] drivers/gpu/drm/xe/i915-display/intel_vblank.o CC drivers/gpu/drm/i915/display/intel_dsb.o CC [M] drivers/gpu/drm/xe/i915-display/intel_vdsc.o CC [M] drivers/gpu/drm/xe/i915-display/intel_vga.o CC drivers/gpu/drm/i915/display/intel_dsb_buffer.o CC drivers/gpu/drm/i915/display/intel_fb.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_dmc_wl.o CC [M] drivers/gpu/drm/xe/i915-display/intel_wm.o CC [M] drivers/gpu/drm/xe/i915-display/skl_scaler.o CC drivers/gpu/drm/i915/display/intel_fbc.o CC drivers/gpu/drm/i915/display/intel_fdi.o CC drivers/gpu/drm/i915/display/intel_fifo_underrun.o CC drivers/gpu/drm/i915/display/intel_frontbuffer.o CC [M] drivers/gpu/drm/xe/i915-display/skl_universal_plane.o CC [M] drivers/gpu/drm/xe/i915-display/skl_watermark.o CC [M] drivers/gpu/drm/xe/i915-display/intel_acpi.o CC drivers/gpu/drm/i915/display/intel_global_state.o CC [M] drivers/gpu/drm/xe/i915-display/intel_opregion.o CC drivers/gpu/drm/i915/display/intel_hdcp.o CC drivers/gpu/drm/i915/display/intel_hdcp_gsc.o CC [M] drivers/gpu/drm/xe/xe_debugfs.o CC [M] drivers/gpu/drm/xe/xe_gt_debugfs.o CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.o CC drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o CC [M] drivers/gpu/drm/xe/xe_gt_stats.o CC drivers/gpu/drm/i915/display/intel_hotplug.o CC drivers/gpu/drm/i915/display/intel_hotplug_irq.o CC [M] drivers/gpu/drm/xe/xe_guc_debugfs.o CC drivers/gpu/drm/i915/display/intel_hti.o CC [M] drivers/gpu/drm/xe/xe_huc_debugfs.o CC [M] drivers/gpu/drm/xe/xe_uc_debugfs.o CC drivers/gpu/drm/i915/display/intel_link_bw.o CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o CC drivers/gpu/drm/i915/display/intel_load_detect.o CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o CC drivers/gpu/drm/i915/display/intel_lpe_audio.o CC [M] drivers/gpu/drm/xe/i915-display/intel_pipe_crc.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_pps.o CC drivers/gpu/drm/i915/display/intel_qp_tables.o CC drivers/gpu/drm/i915/display/intel_sdvo.o CC drivers/gpu/drm/i915/display/intel_snps_phy.o CC drivers/gpu/drm/i915/display/intel_tv.o CC drivers/gpu/drm/i915/display/intel_vdsc.o CC drivers/gpu/drm/i915/display/intel_vrr.o CC drivers/gpu/drm/i915/display/vlv_dsi.o CC drivers/gpu/drm/i915/display/vlv_dsi_pll.o CC drivers/gpu/drm/i915/i915_perf.o CC drivers/gpu/drm/i915/pxp/intel_pxp.o CC drivers/gpu/drm/i915/pxp/intel_pxp_huc.o CC drivers/gpu/drm/i915/pxp/intel_pxp_tee.o LD [M] drivers/gpu/drm/xe/xe.o CC drivers/gpu/drm/i915/i915_gpu_error.o CC drivers/gpu/drm/i915/i915_vgpu.o AR drivers/gpu/drm/i915/built-in.a AR drivers/gpu/drm/built-in.a AR drivers/gpu/built-in.a AR drivers/built-in.a AR built-in.a AR vmlinux.a LD vmlinux.o OBJCOPY modules.builtin.modinfo GEN modules.builtin MODPOST Module.symvers 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] sound/core/snd-hwdep.mod.o CC [M] sound/core/snd-pcm.mod.o CC [M] sound/pci/hda/snd-hda-codec.mod.o CC [M] sound/pci/hda/snd-hda-codec-hdmi.mod.o CC [M] sound/pci/hda/snd-hda-intel.mod.o CC [M] sound/hda/snd-hda-core.mod.o CC [M] sound/hda/snd-intel-dspcfg.mod.o CC [M] sound/hda/snd-intel-sdw-acpi.mod.o CC [M] net/netfilter/nf_log_syslog.mod.o CC [M] net/netfilter/xt_mark.mod.o CC [M] net/netfilter/xt_nat.mod.o CC [M] net/netfilter/xt_LOG.mod.o CC [M] net/netfilter/xt_MASQUERADE.mod.o CC [M] net/netfilter/xt_addrtype.mod.o CC [M] net/ipv4/netfilter/iptable_nat.mod.o LD [M] drivers/gpu/drm/drm_exec.ko LD [M] drivers/gpu/drm/drm_suballoc_helper.ko LD [M] sound/core/snd-hwdep.ko LD [M] drivers/gpu/drm/drm_gpuvm.ko LD [M] drivers/gpu/drm/scheduler/gpu-sched.ko LD [M] sound/pci/hda/snd-hda-codec-hdmi.ko LD [M] net/netfilter/nf_log_syslog.ko LD [M] sound/hda/snd-intel-dspcfg.ko LD [M] net/netfilter/xt_nat.ko LD [M] drivers/gpu/drm/xe/xe.ko LD [M] sound/hda/snd-intel-sdw-acpi.ko LD [M] sound/hda/snd-hda-core.ko LD [M] drivers/thermal/intel/x86_pkg_temp_thermal.ko LD [M] fs/efivarfs/efivarfs.ko LD [M] sound/pci/hda/snd-hda-intel.ko LD [M] net/netfilter/xt_MASQUERADE.ko LD [M] net/netfilter/xt_mark.ko LD [M] net/ipv4/netfilter/iptable_nat.ko LD [M] sound/core/snd-pcm.ko LD [M] sound/pci/hda/snd-hda-codec.ko LD [M] net/netfilter/xt_addrtype.ko LD [M] drivers/gpu/drm/drm_ttm_helper.ko LD [M] net/netfilter/xt_LOG.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 LDS arch/x86/boot/compressed/vmlinux.lds AS arch/x86/boot/compressed/kernel_info.o AS arch/x86/boot/compressed/head_32.o CPUSTR arch/x86/boot/cpustr.h 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/cpu.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 date: invalid date ‘+%s’ drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'ip_addr' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'active_count' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'other_count' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'control_count' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'pipestall_count' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'send_count' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'dist_acc_count' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'sbid_count' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'sync_count' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'inst_fetch_count' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'unused_bits' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:80: warning: Function parameter or struct member 'unused' not described in 'drm_xe_eu_stall_data_pvc' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'ip_addr' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'tdr_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'other_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'control_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'pipestall_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'send_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'dist_acc_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'sbid_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'sync_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'inst_fetch_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'active_count' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'ex_id' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'end_flag' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'unused_bits' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:116: warning: Function parameter or struct member 'unused' not described in 'drm_xe_eu_stall_data_xe2' drivers/gpu/drm/xe/xe_eu_stall.c:279: warning: Function parameter or struct member 'buf_size' not described in 'buf_data_size' drivers/gpu/drm/xe/xe_eu_stall.c:465: warning: Function parameter or struct member 'file' not described in 'xe_eu_stall_stream_read_locked' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'pollin' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'enabled' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'poll_period' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'event_report_count' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'per_xecore_buf_size' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'poll_wq' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'gt' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'bo' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'xecore_buf' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'data_drop' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'poll_check_timer' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'buf_check_work' not described in 'xe_eu_stall_data_stream' drivers/gpu/drm/xe/xe_eu_stall.h:43: warning: Function parameter or struct member 'buf_check_wq' not described in 'xe_eu_stall_data_stream' 42 warnings as Errors run-parts: /workspace/ci/hooks/20-kernel-doc exited with return code 123 ^ permalink raw reply [flat|nested] 30+ messages in thread
* ✓ CI.checksparse: success for Add support for EU stall sampling 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (9 preceding siblings ...) 2024-10-14 6:20 ` ✗ CI.Hooks: failure " Patchwork @ 2024-10-14 6:22 ` Patchwork 2024-10-14 6:47 ` ✓ CI.BAT: " Patchwork 2024-10-14 7:54 ` ✗ CI.FULL: failure " Patchwork 12 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2024-10-14 6:22 UTC (permalink / raw) To: Harish Chegondi; +Cc: intel-xe == Series Details == Series: Add support for EU stall sampling URL : https://patchwork.freedesktop.org/series/139931/ 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 61475267a6e1ec41d171c840a833dc1a2c1bcf06 /root/linux/maintainer-tools/dim: line 2068: sparse: command not found Sparse version: 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] 30+ messages in thread
* ✓ CI.BAT: success for Add support for EU stall sampling 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (10 preceding siblings ...) 2024-10-14 6:22 ` ✓ CI.checksparse: success " Patchwork @ 2024-10-14 6:47 ` Patchwork 2024-10-14 7:54 ` ✗ CI.FULL: failure " Patchwork 12 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2024-10-14 6:47 UTC (permalink / raw) To: Harish Chegondi; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 1920 bytes --] == Series Details == Series: Add support for EU stall sampling URL : https://patchwork.freedesktop.org/series/139931/ State : success == Summary == CI Bug Log - changes from xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06_BAT -> xe-pw-139931v1_BAT ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (9 -> 9) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in xe-pw-139931v1_BAT that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_frontbuffer_tracking@basic: - bat-adlp-7: [PASS][1] -> [FAIL][2] ([Intel XE#1861]) [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html #### Possible fixes #### * igt@kms_flip@basic-flip-vs-wf_vblank: - bat-lnl-1: [FAIL][3] ([Intel XE#886]) -> [PASS][4] +1 other test pass [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/bat-lnl-1/igt@kms_flip@basic-flip-vs-wf_vblank.html [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/bat-lnl-1/igt@kms_flip@basic-flip-vs-wf_vblank.html [Intel XE#1861]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1861 [Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886 Build changes ------------- * Linux: xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06 -> xe-pw-139931v1 IGT_8068: 8068 xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06: 61475267a6e1ec41d171c840a833dc1a2c1bcf06 xe-pw-139931v1: 139931v1 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/index.html [-- Attachment #2: Type: text/html, Size: 2508 bytes --] ^ permalink raw reply [flat|nested] 30+ messages in thread
* ✗ CI.FULL: failure for Add support for EU stall sampling 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi ` (11 preceding siblings ...) 2024-10-14 6:47 ` ✓ CI.BAT: " Patchwork @ 2024-10-14 7:54 ` Patchwork 12 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2024-10-14 7:54 UTC (permalink / raw) To: Harish Chegondi; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 150176 bytes --] == Series Details == Series: Add support for EU stall sampling URL : https://patchwork.freedesktop.org/series/139931/ State : failure == Summary == CI Bug Log - changes from xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06_full -> xe-pw-139931v1_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with xe-pw-139931v1_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in xe-pw-139931v1_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-139931v1_full: ### IGT changes ### #### Possible regressions #### * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-dp-4: - shard-dg2-set2: [PASS][1] -> [DMESG-WARN][2] +1 other test dmesg-warn [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-dp-4.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-dp-4.html * igt@kms_cursor_legacy@flip-vs-cursor-toggle: - shard-adlp: [PASS][3] -> [FAIL][4] [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-8/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-6/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html * igt@kms_dp_linktrain_fallback@dp-fallback: - shard-adlp: NOTRUN -> [SKIP][5] [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_dp_linktrain_fallback@dp-fallback.html * igt@kms_flip@basic-flip-vs-modeset: - shard-lnl: [PASS][6] -> [FAIL][7] +3 other tests fail [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-6/igt@kms_flip@basic-flip-vs-modeset.html [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-5/igt@kms_flip@basic-flip-vs-modeset.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen: - shard-adlp: [PASS][8] -> [DMESG-WARN][9] [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html * igt@xe_exec_threads@threads-mixed-basic: - shard-adlp: [PASS][10] -> [DMESG-FAIL][11] [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-2/igt@xe_exec_threads@threads-mixed-basic.html [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@xe_exec_threads@threads-mixed-basic.html #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3: - {shard-bmg}: [PASS][12] -> [FAIL][13] +2 other tests fail [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3.html [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-bmg-2/igt@kms_flip@2x-flip-vs-expired-vblank@ac-dp2-hdmi-a3.html New tests --------- New tests have been introduced between xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06_full and xe-pw-139931v1_full: ### New IGT tests (877) ### * igt@kms_atomic@atomic-invalid-params@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.54] s * igt@kms_atomic@atomic-invalid-params@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.55] s * igt@kms_atomic@atomic-invalid-params@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.17] s * igt@kms_atomic@atomic-plane-damage@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.29] s * igt@kms_atomic@crtc-invalid-params-fence@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.52] s * igt@kms_atomic@crtc-invalid-params-fence@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.51] s * igt@kms_atomic@crtc-invalid-params-fence@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_atomic@crtc-invalid-params@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.51] s * igt@kms_atomic@crtc-invalid-params@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.48] s * igt@kms_atomic@crtc-invalid-params@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_atomic@plane-cursor-legacy@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.50] s * igt@kms_atomic@plane-cursor-legacy@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.52] s * igt@kms_atomic@plane-cursor-legacy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.14] s * igt@kms_atomic@plane-immutable-zpos@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.79] s * igt@kms_atomic@plane-immutable-zpos@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.89] s * igt@kms_atomic@plane-immutable-zpos@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.41] s * igt@kms_atomic@plane-invalid-params-fence@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.47] s * igt@kms_atomic@plane-invalid-params-fence@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.49] s * igt@kms_atomic@plane-invalid-params-fence@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_atomic@plane-invalid-params@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.86] s * igt@kms_atomic@plane-invalid-params@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.82] s * igt@kms_atomic@plane-invalid-params@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.18] s * igt@kms_atomic@plane-overlay-legacy@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.65] s * igt@kms_atomic@plane-overlay-legacy@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.58] s * igt@kms_atomic@plane-overlay-legacy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.22] s * igt@kms_atomic@plane-primary-legacy@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.90] s * igt@kms_atomic@plane-primary-legacy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.28] s * igt@kms_atomic@test-only@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [2.90] s * igt@kms_atomic@test-only@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.21] s * igt@kms_atomic_interruptible@atomic-setmode@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [6.30] s * igt@kms_atomic_interruptible@atomic-setmode@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [7.12] s * igt@kms_atomic_interruptible@atomic-setmode@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [6.13] s * igt@kms_atomic_interruptible@legacy-cursor@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [6.29] s * igt@kms_atomic_interruptible@legacy-cursor@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [8.00] s * igt@kms_atomic_interruptible@legacy-cursor@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [6.14] s * igt@kms_atomic_interruptible@legacy-dpms@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [6.30] s * igt@kms_atomic_interruptible@legacy-dpms@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [9.72] s * igt@kms_atomic_interruptible@legacy-dpms@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [6.14] s * igt@kms_atomic_interruptible@legacy-pageflip@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [6.31] s * igt@kms_atomic_interruptible@legacy-pageflip@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [7.67] s * igt@kms_atomic_interruptible@legacy-pageflip@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [6.16] s * igt@kms_atomic_interruptible@legacy-setmode@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [6.28] s * igt@kms_atomic_interruptible@legacy-setmode@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [9.24] s * igt@kms_atomic_interruptible@legacy-setmode@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [6.12] s * igt@kms_atomic_interruptible@universal-setplane-cursor@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [6.30] s * igt@kms_atomic_interruptible@universal-setplane-cursor@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [10.54] s * igt@kms_atomic_interruptible@universal-setplane-cursor@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [6.16] s * igt@kms_atomic_interruptible@universal-setplane-primary@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [7.82] s * igt@kms_atomic_interruptible@universal-setplane-primary@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [6.13] s * igt@kms_content_protection@atomic@pipe-a-dp-4: - Statuses : 1 fail(s) - Exec time: [112.29] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.23] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-2-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-mc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-mc-ccs-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.31] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-mc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.18] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-mc-ccs-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.18] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-mc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-mc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-cc-to-4: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-cc-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-cc-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-cc-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-cc-to-linear: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-cc-to-x: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-linear-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-linear-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-x-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-x-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-dp-4-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-edp-1-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.15] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-edp-1-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.18] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-edp-1-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.20] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-edp-1-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-1-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-1-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.17] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-1-linear-to-y: - Statuses : 1 pass(s) - Exec time: [0.17] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-1-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.17] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-1-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-1-x-to-y: - Statuses : 1 pass(s) - Exec time: [0.17] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-1-y-to-linear: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-1-y-to-x: - Statuses : 1 pass(s) - Exec time: [0.17] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-1-y-to-y: - Statuses : 1 pass(s) - Exec time: [0.19] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.27] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-a-hdmi-a-3-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.30] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-2-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-mc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-mc-ccs-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.33] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-mc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-mc-ccs-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-mc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-mc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-cc-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-cc-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-cc-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-cc-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-cc-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-cc-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-linear-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-linear-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.10] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-x-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.10] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-x-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-dp-4-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-edp-1-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.15] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-edp-1-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.18] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-edp-1-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.18] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-edp-1-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.15] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-linear-to-y: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-linear: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x: - Statuses : 1 pass(s) - Exec time: [0.10] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-y: - Statuses : 1 pass(s) - Exec time: [0.20] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.28] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-3-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.32] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-2-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-mc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-mc-ccs-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.31] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-mc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-mc-ccs-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-mc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-mc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-cc-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-cc-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-cc-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-cc-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-cc-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-cc-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-linear-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-linear-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-x-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-x-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-dp-4-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-edp-1-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.15] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-edp-1-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.18] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-edp-1-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.20] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-edp-1-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.17] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-linear-to-y: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.10] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.10] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y: - Statuses : 1 fail(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-linear: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-x: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-y: - Statuses : 1 pass(s) - Exec time: [0.20] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.28] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-3-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.32] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-2-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-mc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-mc-ccs-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.30] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-mc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-mc-ccs-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-mc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-mc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-cc-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-cc-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-cc-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-cc-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-cc-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-cc-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-linear-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-linear-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-x-to-4-mc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-x-to-4-rc-ccs-cc: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-dp-4-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-linear-to-y: - Statuses : 1 pass(s) - Exec time: [0.10] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-linear: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y: - Statuses : 1 pass(s) - Exec time: [0.20] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-4-rc-ccs-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-4-rc-ccs-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.28] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-4-rc-ccs-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-4-rc-ccs-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-4-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-4-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-4-to-linear: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-4-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-linear-to-4: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-linear-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-linear-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-linear-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-x-to-4: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-x-to-4-rc-ccs: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-x-to-linear: - Statuses : 1 pass(s) - Exec time: [0.11] s * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-3-x-to-x: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_invalid_mode@bad-hsync-end@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_invalid_mode@bad-hsync-end@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.34] s * igt@kms_invalid_mode@bad-hsync-end@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.03] s * igt@kms_invalid_mode@bad-hsync-end@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-end@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_invalid_mode@bad-hsync-start@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.35] s * igt@kms_invalid_mode@bad-hsync-start@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.04] s * igt@kms_invalid_mode@bad-hsync-start@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-hsync-start@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_invalid_mode@bad-htotal@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.35] s * igt@kms_invalid_mode@bad-htotal@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.03] s * igt@kms_invalid_mode@bad-htotal@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_invalid_mode@bad-htotal@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-htotal@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_invalid_mode@bad-vsync-end@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [1.16] s * igt@kms_invalid_mode@bad-vsync-end@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.04] s * igt@kms_invalid_mode@bad-vsync-end@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.01] s * igt@kms_invalid_mode@bad-vsync-end@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-end@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_invalid_mode@bad-vsync-start@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_invalid_mode@bad-vsync-start@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.32] s * igt@kms_invalid_mode@bad-vsync-start@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.03] s * igt@kms_invalid_mode@bad-vsync-start@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vsync-start@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.15] s * igt@kms_invalid_mode@bad-vtotal@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.33] s * igt@kms_invalid_mode@bad-vtotal@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.04] s * igt@kms_invalid_mode@bad-vtotal@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@bad-vtotal@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.17] s * igt@kms_invalid_mode@clock-too-high@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-a-edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_invalid_mode@clock-too-high@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.04] s * igt@kms_invalid_mode@clock-too-high@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-b-edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_invalid_mode@clock-too-high@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-c-edp-1: - Statuses : 1 skip(s) - Exec time: [0.0] s * igt@kms_invalid_mode@clock-too-high@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@clock-too-high@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.13] s * igt@kms_invalid_mode@int-max-clock@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.32] s * igt@kms_invalid_mode@int-max-clock@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.04] s * igt@kms_invalid_mode@int-max-clock@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_invalid_mode@int-max-clock@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_invalid_mode@int-max-clock@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@int-max-clock@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.14] s * igt@kms_invalid_mode@uint-max-clock@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.35] s * igt@kms_invalid_mode@uint-max-clock@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.04] s * igt@kms_invalid_mode@uint-max-clock@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@uint-max-clock@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.14] s * igt@kms_invalid_mode@zero-clock@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.35] s * igt@kms_invalid_mode@zero-clock@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.03] s * igt@kms_invalid_mode@zero-clock@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-clock@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_invalid_mode@zero-hdisplay@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.97] s * igt@kms_invalid_mode@zero-hdisplay@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.05] s * igt@kms_invalid_mode@zero-hdisplay@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-hdisplay@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.14] s * igt@kms_invalid_mode@zero-vdisplay@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [2.01] s * igt@kms_invalid_mode@zero-vdisplay@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.04] s * igt@kms_invalid_mode@zero-vdisplay@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [0.01] s * igt@kms_invalid_mode@zero-vdisplay@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_invalid_mode@zero-vdisplay@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [0.0] s * igt@kms_invalid_mode@zero-vdisplay@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_invalid_mode@zero-vdisplay@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.00] s * igt@kms_pm_rpm@universal-planes-dpms@plane-77: - Statuses : 4 pass(s) - Exec time: [2.34, 14.95] s * igt@kms_pm_rpm@universal-planes@plane-77: - Statuses : 2 pass(s) - Exec time: [2.44, 14.58] s * igt@kms_scaling_modes@scaling-mode-center@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.14] s * igt@kms_scaling_modes@scaling-mode-center@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [1.44] s * igt@kms_scaling_modes@scaling-mode-center@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [1.35] s * igt@kms_scaling_modes@scaling-mode-full-aspect@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.14] s * igt@kms_scaling_modes@scaling-mode-full-aspect@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [1.44] s * igt@kms_scaling_modes@scaling-mode-full-aspect@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [1.36] s * igt@kms_scaling_modes@scaling-mode-full@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.16] s * igt@kms_scaling_modes@scaling-mode-full@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [1.38] s * igt@kms_scaling_modes@scaling-mode-full@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [1.40] s * igt@kms_scaling_modes@scaling-mode-none@pipe-a-edp-1: - Statuses : 1 skip(s) - Exec time: [0.12] s * igt@kms_scaling_modes@scaling-mode-none@pipe-b-edp-1: - Statuses : 1 skip(s) - Exec time: [0.04] s * igt@kms_scaling_modes@scaling-mode-none@pipe-c-edp-1: - Statuses : 1 skip(s) - Exec time: [0.03] s * igt@kms_sequence@get-busy@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [2.62] s * igt@kms_sequence@get-busy@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.48] s * igt@kms_sequence@get-busy@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [2.76] s * igt@kms_sequence@get-busy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_sequence@get-busy@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.44] s * igt@kms_sequence@get-busy@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [2.48] s * igt@kms_sequence@get-busy@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_sequence@get-busy@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [3.70] s * igt@kms_sequence@get-busy@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.34] s * igt@kms_sequence@get-busy@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_sequence@get-busy@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [2.48] s * igt@kms_sequence@get-busy@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [2.43] s * igt@kms_sequence@get-busy@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [7.29] s * igt@kms_sequence@get-busy@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.36] s * igt@kms_sequence@get-busy@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.44] s * igt@kms_sequence@get-busy@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.49] s * igt@kms_sequence@get-busy@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_sequence@get-busy@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.34] s * igt@kms_sequence@get-busy@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.44] s * igt@kms_sequence@get-forked-busy@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [2.59] s * igt@kms_sequence@get-forked-busy@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [2.75] s * igt@kms_sequence@get-forked-busy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.43] s * igt@kms_sequence@get-forked-busy@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.44] s * igt@kms_sequence@get-forked-busy@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [2.47] s * igt@kms_sequence@get-forked-busy@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [4.16] s * igt@kms_sequence@get-forked-busy@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.34] s * igt@kms_sequence@get-forked-busy@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.43] s * igt@kms_sequence@get-forked-busy@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [2.48] s * igt@kms_sequence@get-forked-busy@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.66] s * igt@kms_sequence@get-forked-busy@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.36] s * igt@kms_sequence@get-forked-busy@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.44] s * igt@kms_sequence@get-forked-busy@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.47] s * igt@kms_sequence@get-forked-busy@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.35] s * igt@kms_sequence@get-forked-busy@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_sequence@get-forked@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [2.49] s * igt@kms_sequence@get-forked@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.36] s * igt@kms_sequence@get-forked@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [2.96] s * igt@kms_sequence@get-forked@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_sequence@get-forked@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_sequence@get-forked@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [2.34] s * igt@kms_sequence@get-forked@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [2.34] s * igt@kms_sequence@get-forked@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [3.42] s * igt@kms_sequence@get-forked@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.24] s * igt@kms_sequence@get-forked@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.31] s * igt@kms_sequence@get-forked@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [2.35] s * igt@kms_sequence@get-forked@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [2.33] s * igt@kms_sequence@get-forked@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.78] s * igt@kms_sequence@get-forked@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_sequence@get-forked@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_sequence@get-forked@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.37] s * igt@kms_sequence@get-forked@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.33] s * igt@kms_sequence@get-forked@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_sequence@get-forked@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_sequence@get-idle@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [2.43] s * igt@kms_sequence@get-idle@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.29] s * igt@kms_sequence@get-idle@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [2.56] s * igt@kms_sequence@get-idle@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_sequence@get-idle@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.24] s * igt@kms_sequence@get-idle@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [2.28] s * igt@kms_sequence@get-idle@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [2.28] s * igt@kms_sequence@get-idle@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [3.41] s * igt@kms_sequence@get-idle@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.16] s * igt@kms_sequence@get-idle@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.24] s * igt@kms_sequence@get-idle@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [2.29] s * igt@kms_sequence@get-idle@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_sequence@get-idle@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.34] s * igt@kms_sequence@get-idle@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.16] s * igt@kms_sequence@get-idle@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_sequence@get-idle@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.27] s * igt@kms_sequence@get-idle@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_sequence@get-idle@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.16] s * igt@kms_sequence@get-idle@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.25] s * igt@kms_sequence@queue-busy@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [2.64] s * igt@kms_sequence@queue-busy@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.48] s * igt@kms_sequence@queue-busy@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [2.76] s * igt@kms_sequence@queue-busy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_sequence@queue-busy@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_sequence@queue-busy@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [2.46] s * igt@kms_sequence@queue-busy@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [2.47] s * igt@kms_sequence@queue-busy@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [3.58] s * igt@kms_sequence@queue-busy@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.35] s * igt@kms_sequence@queue-busy@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_sequence@queue-busy@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [2.47] s * igt@kms_sequence@queue-busy@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [2.46] s * igt@kms_sequence@queue-busy@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.57] s * igt@kms_sequence@queue-busy@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.36] s * igt@kms_sequence@queue-busy@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.44] s * igt@kms_sequence@queue-busy@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.47] s * igt@kms_sequence@queue-busy@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_sequence@queue-busy@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.34] s * igt@kms_sequence@queue-busy@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.44] s * igt@kms_sequence@queue-idle@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [2.41] s * igt@kms_sequence@queue-idle@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.28] s * igt@kms_sequence@queue-idle@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [2.60] s * igt@kms_sequence@queue-idle@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_sequence@queue-idle@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.25] s * igt@kms_sequence@queue-idle@pipe-b-dp-2: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_sequence@queue-idle@pipe-b-dp-4: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_sequence@queue-idle@pipe-b-edp-1: - Statuses : 1 pass(s) - Exec time: [3.35] s * igt@kms_sequence@queue-idle@pipe-b-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.14] s * igt@kms_sequence@queue-idle@pipe-b-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_sequence@queue-idle@pipe-c-dp-2: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_sequence@queue-idle@pipe-c-dp-4: - Statuses : 1 pass(s) - Exec time: [2.25] s * igt@kms_sequence@queue-idle@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.68] s * igt@kms_sequence@queue-idle@pipe-c-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.15] s * igt@kms_sequence@queue-idle@pipe-c-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.25] s * igt@kms_sequence@queue-idle@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.27] s * igt@kms_sequence@queue-idle@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.25] s * igt@kms_sequence@queue-idle@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.14] s * igt@kms_sequence@queue-idle@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_vblank@accuracy-idle@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_vblank@accuracy-idle@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.24] s * igt@kms_vblank@accuracy-idle@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.20] s * igt@kms_vblank@accuracy-idle@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.67] s * igt@kms_vblank@accuracy-idle@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.25] s * igt@kms_vblank@accuracy-idle@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_vblank@accuracy-idle@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.14] s * igt@kms_vblank@accuracy-idle@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.21] s * igt@kms_vblank@crtc-id@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.43] s * igt@kms_vblank@crtc-id@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [0.29] s * igt@kms_vblank@crtc-id@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.56] s * igt@kms_vblank@crtc-id@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.26] s * igt@kms_vblank@crtc-id@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.25] s * igt@kms_vblank@crtc-id@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [1.32] s * igt@kms_vblank@crtc-id@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.29] s * igt@kms_vblank@crtc-id@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [0.26] s * igt@kms_vblank@crtc-id@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.17] s * igt@kms_vblank@crtc-id@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.25] s * igt@kms_vblank@invalid@pipe-a-dp-2: - Statuses : 1 pass(s) - Exec time: [0.39] s * igt@kms_vblank@invalid@pipe-a-edp-1: - Statuses : 1 pass(s) - Exec time: [0.52] s * igt@kms_vblank@invalid@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.23] s * igt@kms_vblank@query-busy-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@query-busy-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.38] s * igt@kms_vblank@query-busy-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.46] s * igt@kms_vblank@query-busy-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.43] s * igt@kms_vblank@query-busy-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.32] s * igt@kms_vblank@query-busy-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.38] s * igt@kms_vblank@query-busy@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_vblank@query-busy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_vblank@query-busy@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@query-busy@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.55] s * igt@kms_vblank@query-busy@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.43] s * igt@kms_vblank@query-busy@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.41] s * igt@kms_vblank@query-busy@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.32] s * igt@kms_vblank@query-busy@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@query-forked-busy-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.41] s * igt@kms_vblank@query-forked-busy-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@query-forked-busy-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.66] s * igt@kms_vblank@query-forked-busy-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.43] s * igt@kms_vblank@query-forked-busy-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.32] s * igt@kms_vblank@query-forked-busy-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.38] s * igt@kms_vblank@query-forked-busy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_vblank@query-forked-busy@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@query-forked-busy@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.49] s * igt@kms_vblank@query-forked-busy@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.43] s * igt@kms_vblank@query-forked-busy@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.32] s * igt@kms_vblank@query-forked-busy@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@query-forked-hang@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.35] s * igt@kms_vblank@query-forked-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.34] s * igt@kms_vblank@query-forked-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.28] s * igt@kms_vblank@query-forked-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.33] s * igt@kms_vblank@query-forked-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.33] s * igt@kms_vblank@query-forked-hang@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.31] s * igt@kms_vblank@query-forked-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.25] s * igt@kms_vblank@query-forked-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_vblank@query-forked@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.28] s * igt@kms_vblank@query-forked@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_vblank@query-forked@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.37] s * igt@kms_vblank@query-forked@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.31] s * igt@kms_vblank@query-forked@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.20] s * igt@kms_vblank@query-forked@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.28] s * igt@kms_vblank@query-idle-hang@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_vblank@query-idle-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_vblank@query-idle-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.21] s * igt@kms_vblank@query-idle-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.33] s * igt@kms_vblank@query-idle-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.25] s * igt@kms_vblank@query-idle-hang@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_vblank@query-idle-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.14] s * igt@kms_vblank@query-idle-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.20] s * igt@kms_vblank@query-idle@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_vblank@query-idle@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.22] s * igt@kms_vblank@query-idle@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.21] s * igt@kms_vblank@query-idle@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.37] s * igt@kms_vblank@query-idle@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_vblank@query-idle@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.23] s * igt@kms_vblank@query-idle@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.14] s * igt@kms_vblank@query-idle@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.22] s * igt@kms_vblank@ts-continuation-dpms-rpm@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.73] s * igt@kms_vblank@ts-continuation-dpms-rpm@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.11] s * igt@kms_vblank@ts-continuation-dpms-rpm@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.37] s * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [1.76] s * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.46] s * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.60] s * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.16] s * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.67] s * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.04] s * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [1.94] s * igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.62] s * igt@kms_vblank@ts-continuation-idle-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.23] s * igt@kms_vblank@ts-continuation-idle-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.21] s * igt@kms_vblank@ts-continuation-idle-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [1.30] s * igt@kms_vblank@ts-continuation-idle-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.23] s * igt@kms_vblank@ts-continuation-idle-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_vblank@ts-continuation-idle-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.21] s * igt@kms_vblank@ts-continuation-idle@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.23] s * igt@kms_vblank@ts-continuation-idle@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.20] s * igt@kms_vblank@ts-continuation-idle@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [1.35] s * igt@kms_vblank@ts-continuation-idle@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.22] s * igt@kms_vblank@ts-continuation-idle@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.12] s * igt@kms_vblank@ts-continuation-idle@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.21] s * igt@kms_vblank@ts-continuation-modeset-hang@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [0.42] s * igt@kms_vblank@ts-continuation-modeset-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.30] s * igt@kms_vblank@ts-continuation-modeset-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.32] s * igt@kms_vblank@ts-continuation-modeset-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [2.70] s * igt@kms_vblank@ts-continuation-modeset-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.41] s * igt@kms_vblank@ts-continuation-modeset-hang@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [0.40] s * igt@kms_vblank@ts-continuation-modeset-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.20] s * igt@kms_vblank@ts-continuation-modeset-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.31] s * igt@kms_vblank@ts-continuation-modeset-rpm@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_vblank@ts-continuation-modeset-rpm@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.65] s * igt@kms_vblank@ts-continuation-modeset-rpm@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [2.57] s * igt@kms_vblank@ts-continuation-modeset-rpm@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.83] s * igt@kms_vblank@ts-continuation-modeset-rpm@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.09] s * igt@kms_vblank@ts-continuation-modeset-rpm@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.66] s * igt@kms_vblank@ts-continuation-modeset@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.30] s * igt@kms_vblank@ts-continuation-modeset@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.34] s * igt@kms_vblank@ts-continuation-modeset@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [4.90] s * igt@kms_vblank@ts-continuation-modeset@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [0.41] s * igt@kms_vblank@ts-continuation-modeset@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [0.18] s * igt@kms_vblank@ts-continuation-modeset@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [0.33] s * igt@kms_vblank@ts-continuation-suspend@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [1.61] s * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.29] s * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.58] s * igt@kms_vblank@ts-continuation-suspend@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [2.58] s * igt@kms_vblank@ts-continuation-suspend@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.63] s * igt@kms_vblank@ts-continuation-suspend@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [1.60] s * igt@kms_vblank@ts-continuation-suspend@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [1.74] s * igt@kms_vblank@ts-continuation-suspend@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.62] s * igt@kms_vblank@wait-busy-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@wait-busy-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@wait-busy-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.57] s * igt@kms_vblank@wait-busy-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_vblank@wait-busy-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.32] s * igt@kms_vblank@wait-busy-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.38] s * igt@kms_vblank@wait-busy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.41] s * igt@kms_vblank@wait-busy@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@wait-busy@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.58] s * igt@kms_vblank@wait-busy@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_vblank@wait-busy@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.32] s * igt@kms_vblank@wait-busy@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@wait-forked-busy-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_vblank@wait-forked-busy-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.39] s * igt@kms_vblank@wait-forked-busy-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [4.83] s * igt@kms_vblank@wait-forked-busy-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_vblank@wait-forked-busy-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.32] s * igt@kms_vblank@wait-forked-busy-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_vblank@wait-forked-busy@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.45] s * igt@kms_vblank@wait-forked-busy@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.39] s * igt@kms_vblank@wait-forked-busy@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@wait-forked-busy@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [5.47] s * igt@kms_vblank@wait-forked-busy@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.44] s * igt@kms_vblank@wait-forked-busy@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.42] s * igt@kms_vblank@wait-forked-busy@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.33] s * igt@kms_vblank@wait-forked-busy@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.40] s * igt@kms_vblank@wait-forked-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.28] s * igt@kms_vblank@wait-forked-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.28] s * igt@kms_vblank@wait-forked-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.40] s * igt@kms_vblank@wait-forked-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.33] s * igt@kms_vblank@wait-forked-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.20] s * igt@kms_vblank@wait-forked-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_vblank@wait-forked@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.34] s * igt@kms_vblank@wait-forked@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.28] s * igt@kms_vblank@wait-forked@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_vblank@wait-forked@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.42] s * igt@kms_vblank@wait-forked@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.32] s * igt@kms_vblank@wait-forked@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_vblank@wait-forked@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.20] s * igt@kms_vblank@wait-forked@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.30] s * igt@kms_vblank@wait-idle-hang@pipe-a-dp-4: - Statuses : 1 pass(s) - Exec time: [2.26] s * igt@kms_vblank@wait-idle-hang@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.22] s * igt@kms_vblank@wait-idle-hang@pipe-a-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.21] s * igt@kms_vblank@wait-idle-hang@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.31] s * igt@kms_vblank@wait-idle-hang@pipe-d-dp-2: - Statuses : 1 pass(s) - Exec time: [2.24] s * igt@kms_vblank@wait-idle-hang@pipe-d-dp-4: - Statuses : 1 pass(s) - Exec time: [2.22] s * igt@kms_vblank@wait-idle-hang@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.14] s * igt@kms_vblank@wait-idle-hang@pipe-d-hdmi-a-3: - Statuses : 1 pass(s) - Exec time: [2.20] s * igt@kms_vblank@wait-idle@pipe-a-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.22] s * igt@kms_vblank@wait-idle@pipe-c-edp-1: - Statuses : 1 pass(s) - Exec time: [3.61] s * igt@kms_vblank@wait-idle@pipe-d-hdmi-a-1: - Statuses : 1 pass(s) - Exec time: [2.14] s Known issues ------------ Here are the changes found in xe-pw-139931v1_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_addfb_basic@invalid-smem-bo-on-discrete: - shard-adlp: NOTRUN -> [SKIP][14] ([Intel XE#660]) [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1: - shard-adlp: [PASS][15] -> [DMESG-WARN][16] ([Intel XE#1033] / [Intel XE#1727]) +1 other test dmesg-warn [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-3/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-4/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html * igt@kms_big_fb@4-tiled-16bpp-rotate-90: - shard-dg2-set2: NOTRUN -> [SKIP][17] ([Intel XE#316]) [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html * igt@kms_big_fb@4-tiled-addfb-size-overflow: - shard-adlp: NOTRUN -> [SKIP][18] ([Intel XE#610]) [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_big_fb@4-tiled-addfb-size-overflow.html * igt@kms_big_fb@linear-32bpp-rotate-270: - shard-adlp: NOTRUN -> [SKIP][19] ([Intel XE#316]) +1 other test skip [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_big_fb@linear-32bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-270: - shard-adlp: NOTRUN -> [SKIP][20] ([Intel XE#1124]) +3 other tests skip [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html * igt@kms_big_fb@yf-tiled-32bpp-rotate-180: - shard-dg2-set2: NOTRUN -> [SKIP][21] ([Intel XE#1124]) +4 other tests skip [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html * igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow: - shard-dg2-set2: NOTRUN -> [SKIP][22] ([Intel XE#607]) [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html * igt@kms_ccs@bad-pixel-format-yf-tiled-ccs: - shard-dg2-set2: NOTRUN -> [SKIP][23] ([Intel XE#455] / [Intel XE#787]) +5 other tests skip [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-6: - shard-dg2-set2: NOTRUN -> [SKIP][24] ([Intel XE#787]) +20 other tests skip [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-6.html * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-d-hdmi-a-1: - shard-adlp: NOTRUN -> [SKIP][25] ([Intel XE#455] / [Intel XE#787]) +13 other tests skip [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-d-hdmi-a-1.html * igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-b-hdmi-a-1: - shard-adlp: NOTRUN -> [SKIP][26] ([Intel XE#787]) +20 other tests skip [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-b-hdmi-a-1.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc: - shard-dg2-set2: [PASS][27] -> [INCOMPLETE][28] ([Intel XE#1195] / [Intel XE#1727]) +1 other test incomplete [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6: - shard-dg2-set2: [PASS][29] -> [INCOMPLETE][30] ([Intel XE#1195]) +2 other tests incomplete [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-6.html * igt@kms_chamelium_color@ctm-red-to-blue: - shard-dg2-set2: NOTRUN -> [SKIP][31] ([Intel XE#306]) [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_chamelium_color@ctm-red-to-blue.html * igt@kms_chamelium_hpd@dp-hpd: - shard-adlp: NOTRUN -> [SKIP][32] ([Intel XE#373]) +3 other tests skip [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@kms_chamelium_hpd@dp-hpd.html * igt@kms_chamelium_hpd@hdmi-hpd-storm-disable: - shard-dg2-set2: NOTRUN -> [SKIP][33] ([Intel XE#373]) +1 other test skip [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html * igt@kms_content_protection@lic-type-0: - shard-dg2-set2: NOTRUN -> [FAIL][34] ([Intel XE#1178] / [Intel XE#1204]) [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_content_protection@lic-type-0.html * igt@kms_content_protection@lic-type-0@pipe-a-dp-4: - shard-dg2-set2: NOTRUN -> [FAIL][35] ([Intel XE#1204]) [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_content_protection@lic-type-0@pipe-a-dp-4.html * igt@kms_cursor_crc@cursor-offscreen-512x170: - shard-adlp: NOTRUN -> [SKIP][36] ([Intel XE#308]) [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_cursor_crc@cursor-offscreen-512x170.html * igt@kms_cursor_crc@cursor-onscreen-512x170: - shard-dg2-set2: NOTRUN -> [SKIP][37] ([Intel XE#308]) [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_cursor_crc@cursor-onscreen-512x170.html * igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic: - shard-adlp: NOTRUN -> [SKIP][38] ([Intel XE#309]) [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html * igt@kms_cursor_legacy@basic-flip-before-cursor-atomic: - shard-lnl: [PASS][39] -> [SKIP][40] ([Intel XE#2423]) [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor-toggle: - shard-lnl: [PASS][41] -> [FAIL][42] ([Intel XE#1475]) +1 other test fail [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-1/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-4/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html * igt@kms_feature_discovery@display-4x: - shard-adlp: NOTRUN -> [SKIP][43] ([Intel XE#1138]) [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_feature_discovery@display-4x.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a6-dp4: - shard-dg2-set2: [PASS][44] -> [FAIL][45] ([Intel XE#301]) +6 other tests fail [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-436/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a6-dp4.html [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-433/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a6-dp4.html * igt@kms_flip@2x-nonexisting-fb-interruptible: - shard-adlp: NOTRUN -> [SKIP][46] ([Intel XE#310]) +3 other tests skip [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_flip@2x-nonexisting-fb-interruptible.html * igt@kms_flip@flip-vs-absolute-wf_vblank@b-edp1: - shard-lnl: [PASS][47] -> [FAIL][48] ([Intel XE#886]) [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-7/igt@kms_flip@flip-vs-absolute-wf_vblank@b-edp1.html [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-6/igt@kms_flip@flip-vs-absolute-wf_vblank@b-edp1.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a6: - shard-dg2-set2: [PASS][49] -> [FAIL][50] ([Intel XE#1204]) [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-435/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a6.html [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-463/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a6.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling: - shard-adlp: NOTRUN -> [SKIP][51] ([Intel XE#455]) +4 other tests skip [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling: - shard-lnl: [PASS][52] -> [SKIP][53] ([Intel XE#2351]) [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling.html [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling.html * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt: - shard-adlp: NOTRUN -> [SKIP][54] ([Intel XE#656]) +11 other tests skip [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-plflip-blt: - shard-dg2-set2: NOTRUN -> [SKIP][55] ([Intel XE#651]) +8 other tests skip [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbcdrrs-modesetfrombusy: - shard-adlp: NOTRUN -> [SKIP][56] ([Intel XE#651]) +1 other test skip [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@kms_frontbuffer_tracking@fbcdrrs-modesetfrombusy.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc: - shard-adlp: NOTRUN -> [SKIP][57] ([Intel XE#653]) +7 other tests skip [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render: - shard-dg2-set2: NOTRUN -> [SKIP][58] ([Intel XE#653]) +7 other tests skip [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render.html * igt@kms_joiner@invalid-modeset-big-joiner: - shard-dg2-set2: NOTRUN -> [SKIP][59] ([Intel XE#346]) [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_joiner@invalid-modeset-big-joiner.html * igt@kms_plane@plane-position-covered@pipe-a-plane-1: - shard-lnl: [PASS][60] -> [DMESG-FAIL][61] ([Intel XE#324]) +1 other test dmesg-fail [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-5/igt@kms_plane@plane-position-covered@pipe-a-plane-1.html [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-3/igt@kms_plane@plane-position-covered@pipe-a-plane-1.html * igt@kms_plane@plane-position-covered@pipe-b-plane-4: - shard-lnl: [PASS][62] -> [DMESG-WARN][63] ([Intel XE#324]) +1 other test dmesg-warn [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-5/igt@kms_plane@plane-position-covered@pipe-b-plane-4.html [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-3/igt@kms_plane@plane-position-covered@pipe-b-plane-4.html * igt@kms_plane_scaling@intel-max-src-size: - shard-dg2-set2: NOTRUN -> [FAIL][64] ([Intel XE#361]) +1 other test fail [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_plane_scaling@intel-max-src-size.html * igt@kms_plane_scaling@planes-downscale-factor-0-25: - shard-adlp: NOTRUN -> [SKIP][65] ([Intel XE#2763] / [Intel XE#455]) +1 other test skip [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_plane_scaling@planes-downscale-factor-0-25.html * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-b: - shard-adlp: NOTRUN -> [SKIP][66] ([Intel XE#2763]) +2 other tests skip [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-b.html * igt@kms_pm_dc@dc9-dpms: - shard-adlp: NOTRUN -> [SKIP][67] ([Intel XE#734]) [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@kms_pm_dc@dc9-dpms.html * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf: - shard-dg2-set2: NOTRUN -> [SKIP][68] ([Intel XE#1489]) +1 other test skip [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb: - shard-adlp: NOTRUN -> [SKIP][69] ([Intel XE#1489]) +1 other test skip [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area-big-fb.html * igt@kms_psr2_su@page_flip-xrgb8888: - shard-dg2-set2: NOTRUN -> [SKIP][70] ([Intel XE#1122]) [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_psr2_su@page_flip-xrgb8888.html * igt@kms_psr@fbc-psr2-sprite-plane-onoff: - shard-dg2-set2: NOTRUN -> [SKIP][71] ([Intel XE#2850] / [Intel XE#929]) +4 other tests skip [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_psr@fbc-psr2-sprite-plane-onoff.html * igt@kms_psr@psr-cursor-plane-onoff: - shard-adlp: NOTRUN -> [SKIP][72] ([Intel XE#2850] / [Intel XE#929]) +4 other tests skip [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@kms_psr@psr-cursor-plane-onoff.html * igt@kms_rotation_crc@primary-x-tiled-reflect-x-0: - shard-lnl: [PASS][73] -> [DMESG-WARN][74] ([Intel XE#2055]) [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-2/igt@kms_rotation_crc@primary-x-tiled-reflect-x-0.html [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-2/igt@kms_rotation_crc@primary-x-tiled-reflect-x-0.html * igt@kms_rotation_crc@primary-y-tiled-reflect-x-270: - shard-adlp: NOTRUN -> [SKIP][75] ([Intel XE#327]) [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html * igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1: - shard-lnl: [PASS][76] -> [FAIL][77] ([Intel XE#899]) [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-7/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-6/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html * igt@xe_create@create-big-vram: - shard-adlp: NOTRUN -> [SKIP][78] ([Intel XE#1062]) [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@xe_create@create-big-vram.html * igt@xe_eudebug@basic-vm-bind-metadata-discovery: - shard-dg2-set2: NOTRUN -> [SKIP][79] ([Intel XE#2905]) +1 other test skip [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html * igt@xe_eudebug_online@basic-breakpoint: - shard-adlp: NOTRUN -> [SKIP][80] ([Intel XE#2905]) +1 other test skip [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@xe_eudebug_online@basic-breakpoint.html * igt@xe_eudebug_online@single-step: - shard-lnl: NOTRUN -> [SKIP][81] ([Intel XE#2905]) [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@xe_eudebug_online@single-step.html * igt@xe_evict@evict-cm-threads-large: - shard-adlp: NOTRUN -> [SKIP][82] ([Intel XE#261] / [Intel XE#688]) +3 other tests skip [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-1/igt@xe_evict@evict-cm-threads-large.html * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind: - shard-adlp: NOTRUN -> [SKIP][83] ([Intel XE#1392]) +3 other tests skip [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-rebind.html * igt@xe_exec_compute_mode@once-userptr-invalidate: - shard-lnl: [PASS][84] -> [FAIL][85] ([Intel XE#2754]) [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-6/igt@xe_exec_compute_mode@once-userptr-invalidate.html [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-5/igt@xe_exec_compute_mode@once-userptr-invalidate.html * igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-imm: - shard-adlp: NOTRUN -> [SKIP][86] ([Intel XE#288]) +9 other tests skip [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-imm.html * igt@xe_exec_fault_mode@twice-invalid-fault: - shard-lnl: [PASS][87] -> [SKIP][88] ([Intel XE#1130]) +8 other tests skip [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@xe_exec_fault_mode@twice-invalid-fault.html [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@xe_exec_fault_mode@twice-invalid-fault.html * igt@xe_exec_fault_mode@twice-userptr-rebind-imm: - shard-dg2-set2: NOTRUN -> [SKIP][89] ([Intel XE#288]) +7 other tests skip [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@xe_exec_fault_mode@twice-userptr-rebind-imm.html * igt@xe_exec_mix_modes@exec-spinner-interrupted-lr: - shard-adlp: NOTRUN -> [SKIP][90] ([Intel XE#2360]) [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@xe_exec_mix_modes@exec-spinner-interrupted-lr.html * igt@xe_exec_reset@parallel-gt-reset: - shard-dg2-set2: [PASS][91] -> [TIMEOUT][92] ([Intel XE#2105]) [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-433/igt@xe_exec_reset@parallel-gt-reset.html [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-466/igt@xe_exec_reset@parallel-gt-reset.html * igt@xe_gt_freq@freq_reset_multiple: - shard-lnl: [PASS][93] -> [DMESG-FAIL][94] ([Intel XE#1620]) [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@xe_gt_freq@freq_reset_multiple.html [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@xe_gt_freq@freq_reset_multiple.html * igt@xe_oa@blocking: - shard-dg2-set2: NOTRUN -> [SKIP][95] ([Intel XE#2541]) [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-432/igt@xe_oa@blocking.html * igt@xe_oa@enable-disable: - shard-adlp: NOTRUN -> [SKIP][96] ([Intel XE#2541]) +1 other test skip [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@xe_oa@enable-disable.html * igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p: - shard-dg2-set2: NOTRUN -> [FAIL][97] ([Intel XE#1173]) +1 other test fail [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p.html * igt@xe_pm@s3-multiple-execs: - shard-dg2-set2: NOTRUN -> [ABORT][98] ([Intel XE#1358] / [Intel XE#1794]) [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-432/igt@xe_pm@s3-multiple-execs.html * igt@xe_pm@s4-basic: - shard-dg2-set2: [PASS][99] -> [ABORT][100] ([Intel XE#1358]) [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-433/igt@xe_pm@s4-basic.html [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-432/igt@xe_pm@s4-basic.html * igt@xe_pm@s4-exec-after: - shard-adlp: [PASS][101] -> [ABORT][102] ([Intel XE#1358] / [Intel XE#1607]) [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-4/igt@xe_pm@s4-exec-after.html [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-9/igt@xe_pm@s4-exec-after.html * igt@xe_tlb@basic-tlb: - shard-dg2-set2: NOTRUN -> [FAIL][103] ([Intel XE#2922]) [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-432/igt@xe_tlb@basic-tlb.html #### Possible fixes #### * igt@kms_async_flips@alternate-sync-async-flip: - shard-adlp: [DMESG-FAIL][104] ([Intel XE#1033] / [Intel XE#1727] / [Intel XE#324]) -> [PASS][105] +1 other test pass [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-6/igt@kms_async_flips@alternate-sync-async-flip.html [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-9/igt@kms_async_flips@alternate-sync-async-flip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip: - shard-lnl: [FAIL][106] ([Intel XE#1659]) -> [PASS][107] [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0: - shard-adlp: [DMESG-WARN][108] -> [PASS][109] [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-8/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0.html [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-6/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0.html * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs: - {shard-bmg}: [FAIL][110] ([Intel XE#2436]) -> [PASS][111] +1 other test pass [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-bmg-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-bmg-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html * igt@kms_display_modes@extended-mode-basic: - {shard-bmg}: [DMESG-WARN][112] ([Intel XE#877]) -> [PASS][113] +1 other test pass [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-bmg-1/igt@kms_display_modes@extended-mode-basic.html [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-bmg-7/igt@kms_display_modes@extended-mode-basic.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-dp2-hdmi-a3: - {shard-bmg}: [FAIL][114] ([Intel XE#301]) -> [PASS][115] +2 other tests pass [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-bmg-3/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-dp2-hdmi-a3.html [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-bmg-8/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-dp2-hdmi-a3.html * igt@kms_flip@plain-flip-fb-recreate: - shard-adlp: [FAIL][116] -> [PASS][117] +1 other test pass [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-9/igt@kms_flip@plain-flip-fb-recreate.html [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@kms_flip@plain-flip-fb-recreate.html * igt@kms_flip@wf_vblank-ts-check@a-edp1: - shard-lnl: [FAIL][118] ([Intel XE#886]) -> [PASS][119] +7 other tests pass [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-1/igt@kms_flip@wf_vblank-ts-check@a-edp1.html [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-1/igt@kms_flip@wf_vblank-ts-check@a-edp1.html * igt@kms_hdr@invalid-hdr: - shard-dg2-set2: [SKIP][120] ([Intel XE#455]) -> [PASS][121] [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-435/igt@kms_hdr@invalid-hdr.html [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-463/igt@kms_hdr@invalid-hdr.html * igt@kms_plane@plane-position-covered@pipe-a-plane-2: - shard-lnl: [DMESG-FAIL][122] ([Intel XE#324]) -> [PASS][123] +1 other test pass [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-5/igt@kms_plane@plane-position-covered@pipe-a-plane-2.html [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-3/igt@kms_plane@plane-position-covered@pipe-a-plane-2.html * igt@kms_plane@plane-position-hole-dpms@pipe-b-plane-3: - shard-lnl: [DMESG-WARN][124] ([Intel XE#324]) -> [PASS][125] +5 other tests pass [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-3/igt@kms_plane@plane-position-hole-dpms@pipe-b-plane-3.html [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-8/igt@kms_plane@plane-position-hole-dpms@pipe-b-plane-3.html * igt@kms_pm_dc@dc6-psr: - shard-lnl: [FAIL][126] ([Intel XE#1430]) -> [PASS][127] +1 other test pass [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-5/igt@kms_pm_dc@dc6-psr.html [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-3/igt@kms_pm_dc@dc6-psr.html * igt@kms_pm_rpm@universal-planes-dpms: - shard-lnl: [DMESG-WARN][128] ([Intel XE#1620] / [Intel XE#2042]) -> [PASS][129] [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-4/igt@kms_pm_rpm@universal-planes-dpms.html [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_pm_rpm@universal-planes-dpms.html * igt@kms_pm_rpm@universal-planes-dpms@plane-41: - shard-lnl: [DMESG-WARN][130] ([Intel XE#2990]) -> [PASS][131] [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-4/igt@kms_pm_rpm@universal-planes-dpms@plane-41.html [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_pm_rpm@universal-planes-dpms@plane-41.html * igt@kms_pm_rpm@universal-planes-dpms@plane-68: - shard-lnl: [DMESG-WARN][132] ([Intel XE#2932]) -> [PASS][133] [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-4/igt@kms_pm_rpm@universal-planes-dpms@plane-68.html [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_pm_rpm@universal-planes-dpms@plane-68.html * igt@kms_psr@psr2-primary-page-flip@edp-1: - shard-lnl: [FAIL][134] ([Intel XE#2948]) -> [PASS][135] +1 other test pass [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-6/igt@kms_psr@psr2-primary-page-flip@edp-1.html [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-5/igt@kms_psr@psr2-primary-page-flip@edp-1.html * igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1: - shard-lnl: [FAIL][136] ([Intel XE#899]) -> [PASS][137] [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-7/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-6/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html * igt@kms_vblank@accuracy-idle: - shard-lnl: [FAIL][138] ([Intel XE#1523]) -> [PASS][139] +1 other test pass [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-6/igt@kms_vblank@accuracy-idle.html [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-5/igt@kms_vblank@accuracy-idle.html * igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-vram01-vram01: - shard-dg2-set2: [ABORT][140] ([Intel XE#2625]) -> [PASS][141] +1 other test pass [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-432/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-vram01-vram01.html [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@xe_ccs@suspend-resume@tile64-compressed-compfmt0-vram01-vram01.html * igt@xe_evict@evict-beng-mixed-threads-large: - {shard-bmg}: [TIMEOUT][142] ([Intel XE#1473]) -> [PASS][143] [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-bmg-5/igt@xe_evict@evict-beng-mixed-threads-large.html [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-bmg-2/igt@xe_evict@evict-beng-mixed-threads-large.html * igt@xe_evict@evict-threads-large: - {shard-bmg}: [TIMEOUT][144] ([Intel XE#1473] / [Intel XE#2472]) -> [PASS][145] +1 other test pass [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-bmg-5/igt@xe_evict@evict-threads-large.html [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-bmg-2/igt@xe_evict@evict-threads-large.html * igt@xe_exec_compute_mode@once-bindexecqueue-userptr-invalidate-race: - shard-lnl: [FAIL][146] ([Intel XE#2754]) -> [PASS][147] [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-3/igt@xe_exec_compute_mode@once-bindexecqueue-userptr-invalidate-race.html [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-8/igt@xe_exec_compute_mode@once-bindexecqueue-userptr-invalidate-race.html * igt@xe_exec_threads@threads-bal-mixed-shared-vm-userptr-invalidate: - shard-lnl: [FAIL][148] -> [PASS][149] +1 other test pass [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@xe_exec_threads@threads-bal-mixed-shared-vm-userptr-invalidate.html [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-1/igt@xe_exec_threads@threads-bal-mixed-shared-vm-userptr-invalidate.html * igt@xe_pm@d3hot-mocs: - shard-lnl: [DMESG-FAIL][150] ([Intel XE#1620]) -> [PASS][151] [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-6/igt@xe_pm@d3hot-mocs.html [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@xe_pm@d3hot-mocs.html * igt@xe_pm@s4-mocs: - shard-adlp: [ABORT][152] ([Intel XE#1794]) -> [PASS][153] +1 other test pass [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-9/igt@xe_pm@s4-mocs.html [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-2/igt@xe_pm@s4-mocs.html #### Warnings #### * igt@kms_big_fb@4-tiled-8bpp-rotate-270: - shard-lnl: [SKIP][154] ([Intel XE#1407]) -> [SKIP][155] ([Intel XE#2351]) [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip: - shard-adlp: [FAIL][156] ([Intel XE#1231]) -> [FAIL][157] ([Intel XE#1231] / [Intel XE#3052]) [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-9/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-3/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html * igt@kms_big_fb@yf-tiled-64bpp-rotate-0: - shard-lnl: [SKIP][158] ([Intel XE#1124]) -> [SKIP][159] ([Intel XE#2351]) [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html * igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs: - shard-lnl: [SKIP][160] ([Intel XE#2887]) -> [SKIP][161] ([Intel XE#2351]) +1 other test skip [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs: - shard-dg2-set2: [INCOMPLETE][162] ([Intel XE#1727]) -> [INCOMPLETE][163] ([Intel XE#1195] / [Intel XE#1727]) [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html * igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode: - shard-lnl: [SKIP][164] ([Intel XE#373]) -> [SKIP][165] ([Intel XE#2423]) [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html * igt@kms_feature_discovery@chamelium: - shard-dg2-set2: [SKIP][166] ([Intel XE#701]) -> [INCOMPLETE][167] ([Intel XE#1195] / [Intel XE#2594]) [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-434/igt@kms_feature_discovery@chamelium.html [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-463/igt@kms_feature_discovery@chamelium.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt: - shard-adlp: [FAIL][168] ([Intel XE#1861]) -> [TIMEOUT][169] ([Intel XE#1033]) [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt.html [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-render: - shard-lnl: [SKIP][170] ([Intel XE#651]) -> [SKIP][171] ([Intel XE#2351]) [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-render.html [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-render.html * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-indfb-plflip-blt: - shard-lnl: [SKIP][172] ([Intel XE#656]) -> [SKIP][173] ([Intel XE#2351]) +2 other tests skip [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-indfb-plflip-blt.html [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-indfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt: - shard-dg2-set2: [SKIP][174] ([Intel XE#2351]) -> [SKIP][175] ([Intel XE#2351] / [Intel XE#2890]) [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt.html [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt.html * igt@kms_plane@pixel-format-source-clamping: - shard-adlp: [INCOMPLETE][176] ([Intel XE#1035] / [Intel XE#1195]) -> [INCOMPLETE][177] ([Intel XE#1035]) [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-adlp-1/igt@kms_plane@pixel-format-source-clamping.html [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-adlp-3/igt@kms_plane@pixel-format-source-clamping.html * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5: - shard-lnl: [SKIP][178] ([Intel XE#2763]) -> [SKIP][179] ([Intel XE#2423]) [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html * igt@kms_writeback@writeback-fb-id: - shard-lnl: [SKIP][180] ([Intel XE#756]) -> [SKIP][181] ([Intel XE#2423]) [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@kms_writeback@writeback-fb-id.html [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@kms_writeback@writeback-fb-id.html * igt@xe_exec_basic@multigpu-no-exec-null: - shard-lnl: [SKIP][182] ([Intel XE#1392]) -> [SKIP][183] ([Intel XE#1130]) [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-lnl-8/igt@xe_exec_basic@multigpu-no-exec-null.html [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-lnl-7/igt@xe_exec_basic@multigpu-no-exec-null.html * igt@xe_live_ktest@xe_bo: - shard-dg2-set2: [INCOMPLETE][184] -> [TIMEOUT][185] ([Intel XE#2961]) +1 other test timeout [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06/shard-dg2-432/igt@xe_live_ktest@xe_bo.html [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/shard-dg2-432/igt@xe_live_ktest@xe_bo.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033 [Intel XE#1035]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1035 [Intel XE#1062]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1062 [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122 [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124 [Intel XE#1130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1130 [Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138 [Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173 [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178 [Intel XE#1195]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1195 [Intel XE#1204]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1204 [Intel XE#1231]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1231 [Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358 [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392 [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407 [Intel XE#1430]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1430 [Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473 [Intel XE#1475]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1475 [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489 [Intel XE#1523]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1523 [Intel XE#1607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1607 [Intel XE#1620]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1620 [Intel XE#1659]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1659 [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727 [Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794 [Intel XE#1861]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1861 [Intel XE#2042]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2042 [Intel XE#2055]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2055 [Intel XE#2105]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2105 [Intel XE#2351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2351 [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360 [Intel XE#2423]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2423 [Intel XE#2436]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2436 [Intel XE#2472]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2472 [Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541 [Intel XE#2594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2594 [Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261 [Intel XE#2625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2625 [Intel XE#2754]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2754 [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763 [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850 [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288 [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887 [Intel XE#2890]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2890 [Intel XE#2905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2905 [Intel XE#2922]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2922 [Intel XE#2932]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2932 [Intel XE#2948]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2948 [Intel XE#2961]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2961 [Intel XE#2990]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2990 [Intel XE#2998]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2998 [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301 [Intel XE#3052]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3052 [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306 [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308 [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#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316 [Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324 [Intel XE#327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/327 [Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346 [Intel XE#361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/361 [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373 [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455 [Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607 [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610 [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651 [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653 [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656 [Intel XE#660]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/660 [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688 [Intel XE#701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/701 [Intel XE#734]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/734 [Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756 [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787 [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 Build changes ------------- * Linux: xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06 -> xe-pw-139931v1 IGT_8068: 8068 xe-2059-61475267a6e1ec41d171c840a833dc1a2c1bcf06: 61475267a6e1ec41d171c840a833dc1a2c1bcf06 xe-pw-139931v1: 139931v1 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-139931v1/index.html [-- Attachment #2: Type: text/html, Size: 184259 bytes --] ^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2024-11-29 4:35 UTC | newest] Thread overview: 30+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-10-14 6:00 [PATCH v4 0/5] Add support for EU stall sampling Harish Chegondi 2024-10-14 6:00 ` [PATCH v4 1/5] drm/xe/topology: Add a function to find the index of the last DSS in a mask Harish Chegondi 2024-10-14 21:26 ` Dixit, Ashutosh 2024-10-16 3:44 ` Harish Chegondi 2024-10-18 21:26 ` Matt Roper 2024-10-14 6:00 ` [PATCH v4 2/5] drm/xe/eustall: Introduce API for EU stall sampling Harish Chegondi 2024-10-14 22:21 ` Dixit, Ashutosh 2024-10-18 22:03 ` Matt Roper 2024-11-14 16:23 ` Umesh Nerlige Ramappa 2024-11-19 23:59 ` Harish Chegondi 2024-11-20 19:04 ` Dixit, Ashutosh 2024-11-21 1:05 ` Umesh Nerlige Ramappa 2024-11-21 3:18 ` Dixit, Ashutosh 2024-11-22 18:18 ` Dixit, Ashutosh 2024-11-27 18:47 ` Harish Chegondi 2024-11-29 4:31 ` Kumar, Shubham 2024-11-29 4:35 ` Kumar, Shubham 2024-10-14 6:00 ` [PATCH v4 3/5] drm/xe/eustall: Implement EU stall sampling APIs Harish Chegondi 2024-10-18 23:31 ` Matt Roper 2024-10-14 6:00 ` [PATCH v4 4/5] drm/xe/query: Add a device query to get EU stall data information Harish Chegondi 2024-10-14 21:39 ` Dixit, Ashutosh 2024-10-14 6:00 ` [PATCH v4 5/5] drm/xe/eustall: Add workaround 22016596838 which applies to PVC Harish Chegondi 2024-10-14 6:05 ` ✓ CI.Patch_applied: success for Add support for EU stall sampling Patchwork 2024-10-14 6:05 ` ✗ CI.checkpatch: warning " Patchwork 2024-10-14 6:06 ` ✓ CI.KUnit: success " Patchwork 2024-10-14 6:18 ` ✓ CI.Build: " Patchwork 2024-10-14 6:20 ` ✗ CI.Hooks: failure " Patchwork 2024-10-14 6:22 ` ✓ CI.checksparse: success " Patchwork 2024-10-14 6:47 ` ✓ CI.BAT: " Patchwork 2024-10-14 7:54 ` ✗ CI.FULL: failure " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).