diff options
| author | Abdiel Janulgue <abdiel.janulgue@linux.intel.com> | 2015-07-01 03:12:23 -0400 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-07-06 04:36:46 -0400 |
| commit | a9ed33ca075f712cc7fd96eb84e3d322012fcaaf (patch) | |
| tree | 589ebf374960a5f6380a031c3cd84a6fbda5c259 /include/uapi/drm | |
| parent | 6922528a04a810b2889e82a4dc17eab920379117 (diff) | |
drm/i915: Expose I915_EXEC_RESOURCE_STREAMER flag and getparam
Ensures that the batch buffer is executed by the resource streamer.
And will let userspace know whether Resource Streamer is supported in
the kernel.
v2: Don't skip 1<<15 for the exec flags (Jani Nikula)
v3: Use HAS_RESOURCE_STREAMER macro for execbuf validation (Chris Wilson)
(from getparam patch)
v2: Update I915_PARAM_HAS_RESOURCE_STREAMER so it's after
I915_PARAM_HAS_GPU_RESET.
v3: Only advertise RS support for hardware that supports it.
v4: Add HAS_RESOURCE_STREAMER() macro (Chris)
Testcase: igt/gem_exec_params
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
[danvet: squash in getparam patch since it'd break bisect, suggested
by Chris.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/uapi/drm')
| -rw-r--r-- | include/uapi/drm/i915_drm.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index f88cc1cac5d9..e7c29f1659ad 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h | |||
| @@ -355,6 +355,7 @@ typedef struct drm_i915_irq_wait { | |||
| 355 | #define I915_PARAM_SUBSLICE_TOTAL 33 | 355 | #define I915_PARAM_SUBSLICE_TOTAL 33 |
| 356 | #define I915_PARAM_EU_TOTAL 34 | 356 | #define I915_PARAM_EU_TOTAL 34 |
| 357 | #define I915_PARAM_HAS_GPU_RESET 35 | 357 | #define I915_PARAM_HAS_GPU_RESET 35 |
| 358 | #define I915_PARAM_HAS_RESOURCE_STREAMER 36 | ||
| 358 | 359 | ||
| 359 | typedef struct drm_i915_getparam { | 360 | typedef struct drm_i915_getparam { |
| 360 | int param; | 361 | int param; |
| @@ -765,7 +766,12 @@ struct drm_i915_gem_execbuffer2 { | |||
| 765 | #define I915_EXEC_BSD_RING1 (1<<13) | 766 | #define I915_EXEC_BSD_RING1 (1<<13) |
| 766 | #define I915_EXEC_BSD_RING2 (2<<13) | 767 | #define I915_EXEC_BSD_RING2 (2<<13) |
| 767 | 768 | ||
| 768 | #define __I915_EXEC_UNKNOWN_FLAGS -(1<<15) | 769 | /** Tell the kernel that the batchbuffer is processed by |
| 770 | * the resource streamer. | ||
| 771 | */ | ||
| 772 | #define I915_EXEC_RESOURCE_STREAMER (1<<15) | ||
| 773 | |||
| 774 | #define __I915_EXEC_UNKNOWN_FLAGS -(I915_EXEC_RESOURCE_STREAMER<<1) | ||
| 769 | 775 | ||
| 770 | #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff) | 776 | #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff) |
| 771 | #define i915_execbuffer2_set_context_id(eb2, context) \ | 777 | #define i915_execbuffer2_set_context_id(eb2, context) \ |
