Skip to content

Commit 485be0c

Browse files
committed
tools headers: Synchronize drm/i915_drm.h
To pick up the changes from these csets: bf64e0b ("drm/i915: Expand I915_PARAM_HAS_SCHEDULER into a capability bitmask") ac14fbd ("drm/i915/scheduler: Support user-defined priorities") 822a4b6 ("drm/i915: Don't use BIT() in UAPI section") 3fd3a6f ("drm/i915: Simplify i915_reg_read_ioctl") None of them affects how the tools are built, this os done just 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' Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Link: https://lkml.kernel.org/n/tip-d2gor8brpcowe7bcxovjhqwm@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 parent 8ce6d5e commit 485be0c

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

tools/include/uapi/drm/i915_drm.h

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -397,10 +397,20 @@ typedef struct drm_i915_irq_wait {
397397
#define I915_PARAM_MIN_EU_IN_POOL 39
398398
#define I915_PARAM_MMAP_GTT_VERSION 40
399399

400-
/* Query whether DRM_I915_GEM_EXECBUFFER2 supports user defined execution
400+
/*
401+
* Query whether DRM_I915_GEM_EXECBUFFER2 supports user defined execution
401402
* priorities and the driver will attempt to execute batches in priority order.
403+
* The param returns a capability bitmask, nonzero implies that the scheduler
404+
* is enabled, with different features present according to the mask.
405+
*
406+
* The initial priority for each batch is supplied by the context and is
407+
* controlled via I915_CONTEXT_PARAM_PRIORITY.
402408
*/
403409
#define I915_PARAM_HAS_SCHEDULER 41
410+
#define I915_SCHEDULER_CAP_ENABLED (1ul << 0)
411+
#define I915_SCHEDULER_CAP_PRIORITY (1ul << 1)
412+
#define I915_SCHEDULER_CAP_PREEMPTION (1ul << 2)
413+
404414
#define I915_PARAM_HUC_STATUS 42
405415

406416
/* Query whether DRM_I915_GEM_EXECBUFFER2 supports the ability to opt-out of
@@ -1309,14 +1319,16 @@ struct drm_i915_reg_read {
13091319
* be specified
13101320
*/
13111321
__u64 offset;
1322+
#define I915_REG_READ_8B_WA (1ul << 0)
1323+
13121324
__u64 val; /* Return value */
13131325
};
13141326
/* Known registers:
13151327
*
13161328
* Render engine timestamp - 0x2358 + 64bit - gen7+
13171329
* - Note this register returns an invalid value if using the default
1318-
* single instruction 8byte read, in order to workaround that use
1319-
* offset (0x2538 | 1) instead.
1330+
* single instruction 8byte read, in order to workaround that pass
1331+
* flag I915_REG_READ_8B_WA in offset field.
13201332
*
13211333
*/
13221334

@@ -1359,6 +1371,10 @@ struct drm_i915_gem_context_param {
13591371
#define I915_CONTEXT_PARAM_GTT_SIZE 0x3
13601372
#define I915_CONTEXT_PARAM_NO_ERROR_CAPTURE 0x4
13611373
#define I915_CONTEXT_PARAM_BANNABLE 0x5
1374+
#define I915_CONTEXT_PARAM_PRIORITY 0x6
1375+
#define I915_CONTEXT_MAX_USER_PRIORITY 1023 /* inclusive */
1376+
#define I915_CONTEXT_DEFAULT_PRIORITY 0
1377+
#define I915_CONTEXT_MIN_USER_PRIORITY -1023 /* inclusive */
13621378
__u64 value;
13631379
};
13641380

@@ -1510,9 +1526,14 @@ struct drm_i915_perf_oa_config {
15101526
__u32 n_boolean_regs;
15111527
__u32 n_flex_regs;
15121528

1513-
__u64 __user mux_regs_ptr;
1514-
__u64 __user boolean_regs_ptr;
1515-
__u64 __user flex_regs_ptr;
1529+
/*
1530+
* These fields are pointers to tuples of u32 values (register
1531+
* address, value). For example the expected length of the buffer
1532+
* pointed by mux_regs_ptr is (2 * sizeof(u32) * n_mux_regs).
1533+
*/
1534+
__u64 mux_regs_ptr;
1535+
__u64 boolean_regs_ptr;
1536+
__u64 flex_regs_ptr;
15161537
};
15171538

15181539
#if defined(__cplusplus)

0 commit comments

Comments
 (0)