Lines Matching defs:ref

154 void __i915_active_init(struct i915_active *ref,
155 int (*active)(struct i915_active *ref),
156 void (*retire)(struct i915_active *ref),
161 #define i915_active_init(ref, active, retire) do { \
165 __i915_active_init(ref, active, retire, &__mkey, &__wkey); \
168 int i915_active_ref(struct i915_active *ref,
173 i915_active_add_request(struct i915_active *ref, struct i915_request *rq)
175 return i915_active_ref(ref, i915_request_timeline(rq), &rq->fence);
178 void i915_active_set_exclusive(struct i915_active *ref, struct dma_fence *f);
180 static inline bool i915_active_has_exclusive(struct i915_active *ref)
182 return rcu_access_pointer(ref->excl.fence);
185 int i915_active_wait(struct i915_active *ref);
187 int i915_request_await_active(struct i915_request *rq, struct i915_active *ref);
189 int i915_active_acquire(struct i915_active *ref);
190 bool i915_active_acquire_if_busy(struct i915_active *ref);
191 void i915_active_release(struct i915_active *ref);
193 static inline void __i915_active_acquire(struct i915_active *ref)
195 GEM_BUG_ON(!atomic_read(&ref->count));
196 atomic_inc(&ref->count);
200 i915_active_is_idle(const struct i915_active *ref)
202 return !atomic_read(&ref->count);
205 void i915_active_fini(struct i915_active *ref);
207 int i915_active_acquire_preallocate_barrier(struct i915_active *ref,
209 void i915_active_acquire_barrier(struct i915_active *ref);
212 void i915_active_print(struct i915_active *ref, struct drm_printer *m);
213 void i915_active_unlock_wait(struct i915_active *ref);