mirror of https://gitee.com/openkylin/linux.git
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: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190521211134.16117-4-chris@chris-wilson.co.uk
This commit is contained in:
parent
e620f7b3a2
commit
8319f44c05
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue