✗ CI.checkpatch: warning for Add support for EU stall sampling
Patchwork
patchwork at emeril.freedesktop.org
Tue Sep 10 06:33:35 UTC 2024
== Series Details ==
Series: Add support for EU stall sampling
URL : https://patchwork.freedesktop.org/series/138389/
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
c62d7e164862503a3662a095da1c6c9014248cb2
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 56119e9fbd1fb7b6c1703e7ce7516944f25f6ac2
Author: Harish Chegondi <harish.chegondi at intel.com>
Date: Mon Sep 9 00:36:40 2024 -0700
drm/xe/eustall: Add support for EU stall sampling
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 architecture GPUs - LNL and BMG.
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 find the EU stall data record size with the IOCTL
DRM_XE_OBSERVATION_IOCTL_INFO through struct drm_xe_eu_stall_stream_info
parameter. User space can also call poll() to check for availability of
data. The data can be read with read(). 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 up 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.
v3: a. Removed data header.
b. Changed read() to return -EIO when data is dropped by the HW.
c. Added a new DRM_XE_OBSERVATION_IOCTL_INFO to query data record info
d. 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
e. Addressed other review comments from v2
v2: Rename xe perf layer as xe observation layer (Ashutosh)
Signed-off-by: Harish Chegondi <harish.chegondi at intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
+ /mt/dim checkpatch bab1666fc2379a31ac48e7d61683d3edeaf29244 drm-intel
56119e9fbd1f drm/xe/eustall: Add support for EU stall sampling
-:40: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#40:
d. Added struct drm_xe_eu_stall_data_pvc and struct drm_xe_eu_stall_data_xe2
-:62: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#62:
new file mode 100644
-:131: WARNING:AVOID_EXTERNS: externs should be avoided in .c files
#131: FILE: drivers/gpu/drm/xe/xe_eustall_cntr.c:26:
+extern u32 xe_observation_paranoid;
-:359: CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around 'write_ptr != read_ptr'
#359: FILE: drivers/gpu/drm/xe/xe_eustall_cntr.c:254:
+ if ((write_ptr != read_ptr) && !min_data_present) {
-:1306: CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#1306: FILE: drivers/gpu/drm/xe/xe_trace.h:432:
+ TP_STRUCT__entry(
-:1316: CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#1316: FILE: drivers/gpu/drm/xe/xe_trace.h:442:
+ TP_fast_assign(
total: 0 errors, 3 warnings, 3 checks, 1376 lines checked
More information about the Intel-xe
mailing list