Lines Matching defs:ctx
21 static inline bool i915_gem_context_is_closed(const struct i915_gem_context *ctx)
23 return test_bit(CONTEXT_CLOSED, &ctx->flags);
26 static inline void i915_gem_context_set_closed(struct i915_gem_context *ctx)
28 GEM_BUG_ON(i915_gem_context_is_closed(ctx));
29 set_bit(CONTEXT_CLOSED, &ctx->flags);
32 static inline bool i915_gem_context_no_error_capture(const struct i915_gem_context *ctx)
34 return test_bit(UCONTEXT_NO_ERROR_CAPTURE, &ctx->user_flags);
37 static inline void i915_gem_context_set_no_error_capture(struct i915_gem_context *ctx)
39 set_bit(UCONTEXT_NO_ERROR_CAPTURE, &ctx->user_flags);
42 static inline void i915_gem_context_clear_no_error_capture(struct i915_gem_context *ctx)
44 clear_bit(UCONTEXT_NO_ERROR_CAPTURE, &ctx->user_flags);
47 static inline bool i915_gem_context_is_bannable(const struct i915_gem_context *ctx)
49 return test_bit(UCONTEXT_BANNABLE, &ctx->user_flags);
52 static inline void i915_gem_context_set_bannable(struct i915_gem_context *ctx)
54 set_bit(UCONTEXT_BANNABLE, &ctx->user_flags);
57 static inline void i915_gem_context_clear_bannable(struct i915_gem_context *ctx)
59 clear_bit(UCONTEXT_BANNABLE, &ctx->user_flags);
62 static inline bool i915_gem_context_is_recoverable(const struct i915_gem_context *ctx)
64 return test_bit(UCONTEXT_RECOVERABLE, &ctx->user_flags);
67 static inline void i915_gem_context_set_recoverable(struct i915_gem_context *ctx)
69 set_bit(UCONTEXT_RECOVERABLE, &ctx->user_flags);
72 static inline void i915_gem_context_clear_recoverable(struct i915_gem_context *ctx)
74 clear_bit(UCONTEXT_RECOVERABLE, &ctx->user_flags);
77 static inline bool i915_gem_context_is_persistent(const struct i915_gem_context *ctx)
79 return test_bit(UCONTEXT_PERSISTENCE, &ctx->user_flags);
82 static inline void i915_gem_context_set_persistence(struct i915_gem_context *ctx)
84 set_bit(UCONTEXT_PERSISTENCE, &ctx->user_flags);
87 static inline void i915_gem_context_clear_persistence(struct i915_gem_context *ctx)
89 clear_bit(UCONTEXT_PERSISTENCE, &ctx->user_flags);
93 i915_gem_context_user_engines(const struct i915_gem_context *ctx)
95 return test_bit(CONTEXT_USER_ENGINES, &ctx->flags);
99 i915_gem_context_set_user_engines(struct i915_gem_context *ctx)
101 set_bit(CONTEXT_USER_ENGINES, &ctx->flags);
105 i915_gem_context_clear_user_engines(struct i915_gem_context *ctx)
107 clear_bit(CONTEXT_USER_ENGINES, &ctx->flags);
111 i915_gem_context_uses_protected_content(const struct i915_gem_context *ctx)
113 return ctx->uses_protected_content;
145 i915_gem_context_get(struct i915_gem_context *ctx)
147 kref_get(&ctx->ref);
148 return ctx;
151 static inline void i915_gem_context_put(struct i915_gem_context *ctx)
153 kref_put(&ctx->ref, i915_gem_context_release);
157 i915_gem_context_vm(struct i915_gem_context *ctx)
159 return rcu_dereference_protected(ctx->vm, lockdep_is_held(&ctx->mutex));
162 static inline bool i915_gem_context_has_full_ppgtt(struct i915_gem_context *ctx)
164 GEM_BUG_ON(!!ctx->vm != HAS_FULL_PPGTT(ctx->i915));
166 return !!ctx->vm;
170 i915_gem_context_get_eb_vm(struct i915_gem_context *ctx)
174 vm = ctx->vm;
176 vm = &to_gt(ctx->i915)->ggtt->vm;
183 i915_gem_context_engines(struct i915_gem_context *ctx)
185 return rcu_dereference_protected(ctx->engines,
186 lockdep_is_held(&ctx->engines_mutex));
190 i915_gem_context_lock_engines(struct i915_gem_context *ctx)
191 __acquires(&ctx->engines_mutex)
193 mutex_lock(&ctx->engines_mutex);
194 return i915_gem_context_engines(ctx);
198 i915_gem_context_unlock_engines(struct i915_gem_context *ctx)
199 __releases(&ctx->engines_mutex)
201 mutex_unlock(&ctx->engines_mutex);
205 i915_gem_context_get_engine(struct i915_gem_context *ctx, unsigned int idx)
210 struct i915_gem_engines *e = rcu_dereference(ctx->engines);