aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2013-05-28 22:22:33 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-05-31 14:54:21 -0400
commit82f91b6e93e2138c7e02b5a866f63d04cf040c86 (patch)
treebb4fb58ac9ba70fe5dc5f0e191257bf32a1c8b03
parent9010ebfd2b803ebab6c2fc70b9004b2a59e7937a (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.c9
-rw-r--r--include/uapi/drm/i915_drm.h1
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