Lines Matching refs:active

37 node_from_active(struct i915_active_request *active)  in node_from_active()  argument
39 return container_of(active, struct active_node, base); in node_from_active()
44 static inline bool is_barrier(const struct i915_active_request *active) in is_barrier() argument
46 return IS_ERR(rcu_access_pointer(active->request)); in is_barrier()
80 return (void *)ref->active ?: (void *)ref->retire ?: (void *)ref; in active_debug_hint()
234 int (*active)(struct i915_active *ref), in __i915_active_init()
242 ref->active = active; in __i915_active_init()
303 struct i915_active_request *active; in i915_active_ref() local
313 active = active_instance(ref, tl); in i915_active_ref()
314 if (!active) { in i915_active_ref()
319 if (is_barrier(active)) { /* proto-node used by our idle barrier */ in i915_active_ref()
325 __active_del_barrier(ref, node_from_active(active)); in i915_active_ref()
326 RCU_INIT_POINTER(active->request, NULL); in i915_active_ref()
327 INIT_LIST_HEAD(&active->link); in i915_active_ref()
329 if (!i915_active_request_isset(active)) in i915_active_ref()
333 __i915_active_request_set(active, rq); in i915_active_ref()
352 if (!atomic_read(&ref->count) && ref->active) in i915_active_acquire()
353 err = ref->active(ref); in i915_active_acquire()
443 struct i915_active_request *active) in i915_request_await_active_request() argument
446 i915_active_request_raw(active, &rq->i915->drm.struct_mutex); in i915_request_await_active_request()
708 int i915_active_request_set(struct i915_active_request *active, in i915_active_request_set() argument
714 lockdep_assert_held(active->lock); in i915_active_request_set()
718 err = i915_request_await_active_request(rq, active); in i915_active_request_set()
722 __i915_active_request_set(active, rq); in i915_active_request_set()
726 void i915_active_retire_noop(struct i915_active_request *active, in i915_active_retire_noop() argument