Lines Matching refs:ce
17 void intel_context_init(struct intel_context *ce,
20 void intel_context_fini(struct intel_context *ce);
26 void intel_context_free(struct intel_context *ce);
36 static inline int intel_context_lock_pinned(struct intel_context *ce) in intel_context_lock_pinned() argument
37 __acquires(ce->pin_mutex) in intel_context_lock_pinned()
39 return mutex_lock_interruptible(&ce->pin_mutex); in intel_context_lock_pinned()
52 intel_context_is_pinned(struct intel_context *ce) in intel_context_is_pinned() argument
54 return atomic_read(&ce->pin_count); in intel_context_is_pinned()
63 static inline void intel_context_unlock_pinned(struct intel_context *ce) in intel_context_unlock_pinned() argument
64 __releases(ce->pin_mutex) in intel_context_unlock_pinned()
66 mutex_unlock(&ce->pin_mutex); in intel_context_unlock_pinned()
69 int __intel_context_do_pin(struct intel_context *ce);
71 static inline int intel_context_pin(struct intel_context *ce) in intel_context_pin() argument
73 if (likely(atomic_inc_not_zero(&ce->pin_count))) in intel_context_pin()
76 return __intel_context_do_pin(ce); in intel_context_pin()
79 static inline void __intel_context_pin(struct intel_context *ce) in __intel_context_pin() argument
81 GEM_BUG_ON(!intel_context_is_pinned(ce)); in __intel_context_pin()
82 atomic_inc(&ce->pin_count); in __intel_context_pin()
85 void intel_context_unpin(struct intel_context *ce);
87 void intel_context_enter_engine(struct intel_context *ce);
88 void intel_context_exit_engine(struct intel_context *ce);
90 static inline void intel_context_enter(struct intel_context *ce) in intel_context_enter() argument
92 lockdep_assert_held(&ce->timeline->mutex); in intel_context_enter()
93 if (!ce->active_count++) in intel_context_enter()
94 ce->ops->enter(ce); in intel_context_enter()
97 static inline void intel_context_mark_active(struct intel_context *ce) in intel_context_mark_active() argument
99 lockdep_assert_held(&ce->timeline->mutex); in intel_context_mark_active()
100 ++ce->active_count; in intel_context_mark_active()
103 static inline void intel_context_exit(struct intel_context *ce) in intel_context_exit() argument
105 lockdep_assert_held(&ce->timeline->mutex); in intel_context_exit()
106 GEM_BUG_ON(!ce->active_count); in intel_context_exit()
107 if (!--ce->active_count) in intel_context_exit()
108 ce->ops->exit(ce); in intel_context_exit()
111 int intel_context_active_acquire(struct intel_context *ce);
112 void intel_context_active_release(struct intel_context *ce);
114 static inline struct intel_context *intel_context_get(struct intel_context *ce) in intel_context_get() argument
116 kref_get(&ce->ref); in intel_context_get()
117 return ce; in intel_context_get()
120 static inline void intel_context_put(struct intel_context *ce) in intel_context_put() argument
122 kref_put(&ce->ref, ce->ops->destroy); in intel_context_put()
126 intel_context_timeline_lock(struct intel_context *ce) in intel_context_timeline_lock() argument
127 __acquires(&ce->timeline->mutex) in intel_context_timeline_lock()
129 struct intel_timeline *tl = ce->timeline; in intel_context_timeline_lock()
145 int intel_context_prepare_remote_request(struct intel_context *ce,
148 struct i915_request *intel_context_create_request(struct intel_context *ce);