Commit 8319f44c authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Re-expose SINGLE_TIMELINE flags for context creation



The SINGLE_TIMELINE flag can be used to create a context such that all
engine instances within that context share a common timeline. This can
be useful for mixing operations between real and virtual engines, or
when using a composite context for a single client API context.

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190521211134.16117-4-chris@chris-wilson.co.uk
parent e620f7b3
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -96,8 +96,6 @@
#include "i915_trace.h"
#include "i915_user_extensions.h"

#define I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE (1 << 1)

#define ALL_L3_SLICES(dev) (1 << NUM_L3_SLICES(dev)) - 1

static struct i915_global_gem_context {
@@ -505,8 +503,6 @@ i915_gem_create_context(struct drm_i915_private *dev_priv, unsigned int flags)

	lockdep_assert_held(&dev_priv->drm.struct_mutex);

	BUILD_BUG_ON(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE &
		     ~I915_CONTEXT_CREATE_FLAGS_UNKNOWN);
	if (flags & I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE &&
	    !HAS_EXECLISTS(dev_priv))
		return ERR_PTR(-EINVAL);
+2 −1
Original line number Diff line number Diff line
@@ -1469,8 +1469,9 @@ struct drm_i915_gem_context_create_ext {
	__u32 ctx_id; /* output: id of new context*/
	__u32 flags;
#define I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS	(1u << 0)
#define I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE	(1u << 1)
#define I915_CONTEXT_CREATE_FLAGS_UNKNOWN \
	(-(I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS << 1))
	(-(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE << 1))
	__u64 extensions;
};