Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82f91b6e authored by Xiang, Haihao's avatar Xiang, Haihao Committed by Daniel Vetter
Browse files

drm/i915: add I915_EXEC_VEBOX to i915_gem_do_execbuffer()



A user can run batchbuffer via VEBOX ring.

Signed-off-by: default avatarXiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 9010ebfd
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -885,6 +885,15 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
			return -EPERM;
			return -EPERM;
		}
		}
		break;
		break;
	case I915_EXEC_VEBOX:
		ring = &dev_priv->ring[VECS];
		if (ctx_id != 0) {
			DRM_DEBUG("Ring %s doesn't support contexts\n",
				  ring->name);
			return -EPERM;
		}
		break;

	default:
	default:
		DRM_DEBUG("execbuf with unknown ring: %d\n",
		DRM_DEBUG("execbuf with unknown ring: %d\n",
			  (int)(args->flags & I915_EXEC_RING_MASK));
			  (int)(args->flags & I915_EXEC_RING_MASK));
+1 −0
Original line number Original line Diff line number Diff line
@@ -660,6 +660,7 @@ struct drm_i915_gem_execbuffer2 {
#define I915_EXEC_RENDER                 (1<<0)
#define I915_EXEC_RENDER                 (1<<0)
#define I915_EXEC_BSD                    (2<<0)
#define I915_EXEC_BSD                    (2<<0)
#define I915_EXEC_BLT                    (3<<0)
#define I915_EXEC_BLT                    (3<<0)
#define I915_EXEC_VEBOX                  (4<<0)


/* Used for switching the constants addressing mode on gen4+ RENDER ring.
/* Used for switching the constants addressing mode on gen4+ RENDER ring.
 * Gen6+ only supports relative addressing to dynamic state (default) and
 * Gen6+ only supports relative addressing to dynamic state (default) and