Skip to content

Commit 8239251

Browse files
committed
tools headers uapi: Update drm/i915_drm.h
To get the changes in: e46c2e9 ("drm/i915: Expose RPCS (SSEU) configuration to userspace (Gen11 only)") That don't cause changes in the generated perf binaries. To silence this perf build warning: Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs from latest version at 'include/uapi/drm/i915_drm.h' diff -u tools/include/uapi/drm/i915_drm.h include/uapi/drm/i915_drm.h Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://lkml.kernel.org/n/tip-h6bspm1nomjnpr90333rrx7q@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 parent 949af89 commit 8239251

1 file changed

Lines changed: 64 additions & 0 deletions

File tree

tools/include/uapi/drm/i915_drm.h

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1486,9 +1486,73 @@ struct drm_i915_gem_context_param {
14861486
#define I915_CONTEXT_MAX_USER_PRIORITY 1023 /* inclusive */
14871487
#define I915_CONTEXT_DEFAULT_PRIORITY 0
14881488
#define I915_CONTEXT_MIN_USER_PRIORITY -1023 /* inclusive */
1489+
/*
1490+
* When using the following param, value should be a pointer to
1491+
* drm_i915_gem_context_param_sseu.
1492+
*/
1493+
#define I915_CONTEXT_PARAM_SSEU 0x7
14891494
__u64 value;
14901495
};
14911496

1497+
/**
1498+
* Context SSEU programming
1499+
*
1500+
* It may be necessary for either functional or performance reason to configure
1501+
* a context to run with a reduced number of SSEU (where SSEU stands for Slice/
1502+
* Sub-slice/EU).
1503+
*
1504+
* This is done by configuring SSEU configuration using the below
1505+
* @struct drm_i915_gem_context_param_sseu for every supported engine which
1506+
* userspace intends to use.
1507+
*
1508+
* Not all GPUs or engines support this functionality in which case an error
1509+
* code -ENODEV will be returned.
1510+
*
1511+
* Also, flexibility of possible SSEU configuration permutations varies between
1512+
* GPU generations and software imposed limitations. Requesting such a
1513+
* combination will return an error code of -EINVAL.
1514+
*
1515+
* NOTE: When perf/OA is active the context's SSEU configuration is ignored in
1516+
* favour of a single global setting.
1517+
*/
1518+
struct drm_i915_gem_context_param_sseu {
1519+
/*
1520+
* Engine class & instance to be configured or queried.
1521+
*/
1522+
__u16 engine_class;
1523+
__u16 engine_instance;
1524+
1525+
/*
1526+
* Unused for now. Must be cleared to zero.
1527+
*/
1528+
__u32 flags;
1529+
1530+
/*
1531+
* Mask of slices to enable for the context. Valid values are a subset
1532+
* of the bitmask value returned for I915_PARAM_SLICE_MASK.
1533+
*/
1534+
__u64 slice_mask;
1535+
1536+
/*
1537+
* Mask of subslices to enable for the context. Valid values are a
1538+
* subset of the bitmask value return by I915_PARAM_SUBSLICE_MASK.
1539+
*/
1540+
__u64 subslice_mask;
1541+
1542+
/*
1543+
* Minimum/Maximum number of EUs to enable per subslice for the
1544+
* context. min_eus_per_subslice must be inferior or equal to
1545+
* max_eus_per_subslice.
1546+
*/
1547+
__u16 min_eus_per_subslice;
1548+
__u16 max_eus_per_subslice;
1549+
1550+
/*
1551+
* Unused for now. Must be cleared to zero.
1552+
*/
1553+
__u32 rsvd;
1554+
};
1555+
14921556
enum drm_i915_oa_format {
14931557
I915_OA_FORMAT_A13 = 1, /* HSW only */
14941558
I915_OA_FORMAT_A29, /* HSW only */

0 commit comments

Comments
 (0)