History

tools headers: Synchronize drm/i915_drm.h

To pick up the changes from these csets: bf64e0b00e1f ("drm/i915: Expand I915_PARAM_HAS_SCHEDULER into a capability bitmask") ac14fbd460d0 ("drm/i915/scheduler: Support user-defined priorities") 822a4b673284 ("drm/i915: Don't use BIT() in UAPI section") 3fd3a6ffe279 ("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'

Arnaldo Carvalho de Melo committed 8 years ago

Commit 485be0c1 parent 8ce6d5e1 file · +27 −6Browse files

Showing the changes to tools/include/uapi (1 of 1 file). Show all

Unified · Split

tools/include/uapi/drm/i915_drm.h+27−6
@@ -397,10 +397,20 @@ typedef struct drm_i915_irq_wait { · 396 unmodified lines
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 { · 902 unmodified lines
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 { · 36 unmodified lines
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 { · 145 unmodified lines
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)