diff options
author | Xiang, Haihao <haihao.xiang@intel.com> | 2013-05-28 22:22:33 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-05-31 14:54:21 -0400 |
commit | 82f91b6e93e2138c7e02b5a866f63d04cf040c86 (patch) | |
tree | bb4fb58ac9ba70fe5dc5f0e191257bf32a1c8b03 | |
parent | 9010ebfd2b803ebab6c2fc70b9004b2a59e7937a (diff) |
drm/i915: add I915_EXEC_VEBOX to i915_gem_do_execbuffer()
A user can run batchbuffer via VEBOX ring.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_execbuffer.c | 9 | ||||
-rw-r--r-- | include/uapi/drm/i915_drm.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index 117ce3813681..a8bb62ca8756 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c | |||
@@ -885,6 +885,15 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data, | |||
885 | return -EPERM; | 885 | return -EPERM; |
886 | } | 886 | } |
887 | break; | 887 | break; |
888 | case I915_EXEC_VEBOX: | ||
889 | ring = &dev_priv->ring[VECS]; | ||
890 | if (ctx_id != 0) { | ||
891 | DRM_DEBUG("Ring %s doesn't support contexts\n", | ||
892 | ring->name); | ||
893 | return -EPERM; | ||
894 | } | ||
895 | break; | ||
896 | |||
888 | default: | 897 | default: |
889 | DRM_DEBUG("execbuf with unknown ring: %d\n", | 898 | DRM_DEBUG("execbuf with unknown ring: %d\n", |
890 | (int)(args->flags & I915_EXEC_RING_MASK)); | 899 | (int)(args->flags & I915_EXEC_RING_MASK)); |
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index 07d59419fe6b..81b99817198e 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h | |||
@@ -660,6 +660,7 @@ struct drm_i915_gem_execbuffer2 { | |||
660 | #define I915_EXEC_RENDER (1<<0) | 660 | #define I915_EXEC_RENDER (1<<0) |
661 | #define I915_EXEC_BSD (2<<0) | 661 | #define I915_EXEC_BSD (2<<0) |
662 | #define I915_EXEC_BLT (3<<0) | 662 | #define I915_EXEC_BLT (3<<0) |
663 | #define I915_EXEC_VEBOX (4<<0) | ||
663 | 664 | ||
664 | /* Used for switching the constants addressing mode on gen4+ RENDER ring. | 665 | /* Used for switching the constants addressing mode on gen4+ RENDER ring. |
665 | * Gen6+ only supports relative addressing to dynamic state (default) and | 666 | * Gen6+ only supports relative addressing to dynamic state (default) and |