Lines Matching refs:ctx

22 static inline bool i915_gem_context_is_closed(const struct i915_gem_context *ctx)
24 return test_bit(CONTEXT_CLOSED, &ctx->flags);
27 static inline void i915_gem_context_set_closed(struct i915_gem_context *ctx)
29 GEM_BUG_ON(i915_gem_context_is_closed(ctx));
30 set_bit(CONTEXT_CLOSED, &ctx->flags);
33 static inline bool i915_gem_context_no_error_capture(const struct i915_gem_context *ctx)
35 return test_bit(UCONTEXT_NO_ERROR_CAPTURE, &ctx->user_flags);
38 static inline void i915_gem_context_set_no_error_capture(struct i915_gem_context *ctx)
40 set_bit(UCONTEXT_NO_ERROR_CAPTURE, &ctx->user_flags);
43 static inline void i915_gem_context_clear_no_error_capture(struct i915_gem_context *ctx)
45 clear_bit(UCONTEXT_NO_ERROR_CAPTURE, &ctx->user_flags);
48 static inline bool i915_gem_context_is_bannable(const struct i915_gem_context *ctx)
50 return test_bit(UCONTEXT_BANNABLE, &ctx->user_flags);
53 static inline void i915_gem_context_set_bannable(struct i915_gem_context *ctx)
55 set_bit(UCONTEXT_BANNABLE, &ctx->user_flags);
58 static inline void i915_gem_context_clear_bannable(struct i915_gem_context *ctx)
60 clear_bit(UCONTEXT_BANNABLE, &ctx->user_flags);
63 static inline bool i915_gem_context_is_recoverable(const struct i915_gem_context *ctx)
65 return test_bit(UCONTEXT_RECOVERABLE, &ctx->user_flags);
68 static inline void i915_gem_context_set_recoverable(struct i915_gem_context *ctx)
70 set_bit(UCONTEXT_RECOVERABLE, &ctx->user_flags);
73 static inline void i915_gem_context_clear_recoverable(struct i915_gem_context *ctx)
75 clear_bit(UCONTEXT_RECOVERABLE, &ctx->user_flags);
78 static inline bool i915_gem_context_is_persistent(const struct i915_gem_context *ctx)
80 return test_bit(UCONTEXT_PERSISTENCE, &ctx->user_flags);
83 static inline void i915_gem_context_set_persistence(struct i915_gem_context *ctx)
85 set_bit(UCONTEXT_PERSISTENCE, &ctx->user_flags);
88 static inline void i915_gem_context_clear_persistence(struct i915_gem_context *ctx)
90 clear_bit(UCONTEXT_PERSISTENCE, &ctx->user_flags);
94 i915_gem_context_user_engines(const struct i915_gem_context *ctx)
96 return test_bit(CONTEXT_USER_ENGINES, &ctx->flags);
100 i915_gem_context_set_user_engines(struct i915_gem_context *ctx)
102 set_bit(CONTEXT_USER_ENGINES, &ctx->flags);
106 i915_gem_context_clear_user_engines(struct i915_gem_context *ctx)
108 clear_bit(CONTEXT_USER_ENGINES, &ctx->flags);
112 i915_gem_context_uses_protected_content(const struct i915_gem_context *ctx)
114 return ctx->uses_protected_content;
146 i915_gem_context_get(struct i915_gem_context *ctx)
148 kref_get(&ctx->ref);
149 return ctx;
152 static inline void i915_gem_context_put(struct i915_gem_context *ctx)
154 kref_put(&ctx->ref, i915_gem_context_release);
158 i915_gem_context_vm(struct i915_gem_context *ctx)
160 return rcu_dereference_protected(ctx->vm, lockdep_is_held(&ctx->mutex));
163 static inline bool i915_gem_context_has_full_ppgtt(struct i915_gem_context *ctx)
165 GEM_BUG_ON(!!ctx->vm != HAS_FULL_PPGTT(ctx->i915));
167 return !!ctx->vm;
171 i915_gem_context_get_eb_vm(struct i915_gem_context *ctx)
175 vm = ctx->vm;
177 vm = &to_gt(ctx->i915)->ggtt->vm;
184 i915_gem_context_engines(struct i915_gem_context *ctx)
186 return rcu_dereference_protected(ctx->engines,
187 lockdep_is_held(&ctx->engines_mutex));
191 i915_gem_context_lock_engines(struct i915_gem_context *ctx)
192 __acquires(&ctx->engines_mutex)
194 mutex_lock(&ctx->engines_mutex);
195 return i915_gem_context_engines(ctx);
199 i915_gem_context_unlock_engines(struct i915_gem_context *ctx)
200 __releases(&ctx->engines_mutex)
202 mutex_unlock(&ctx->engines_mutex);
206 i915_gem_context_get_engine(struct i915_gem_context *ctx, unsigned int idx)
211 struct i915_gem_engines *e = rcu_dereference(ctx->engines);