Lines Matching refs:ref
19 struct kref ref; member
25 kref_get(&active->ref); in __live_get()
34 static void __live_release(struct kref *ref) in __live_release() argument
36 struct live_active *active = container_of(ref, typeof(*active), ref); in __live_release()
43 kref_put(&active->ref, __live_release); in __live_put()
70 kref_init(&active->ref); in __live_alloc()
278 void i915_active_print(struct i915_active *ref, struct drm_printer *m) in i915_active_print() argument
280 drm_printf(m, "active %ps:%ps\n", ref->active, ref->retire); in i915_active_print()
281 drm_printf(m, "\tcount: %d\n", atomic_read(&ref->count)); in i915_active_print()
283 yesno(!llist_empty(&ref->preallocated_barriers))); in i915_active_print()
285 if (i915_active_acquire_if_busy(ref)) { in i915_active_print()
288 rbtree_postorder_for_each_entry_safe(it, n, &ref->tree, node) { in i915_active_print()
304 i915_active_release(ref); in i915_active_print()
314 static void active_flush(struct i915_active *ref, in active_flush() argument
326 atomic_dec(&ref->count); in active_flush()
331 void i915_active_unlock_wait(struct i915_active *ref) in i915_active_unlock_wait() argument
333 if (i915_active_acquire_if_busy(ref)) { in i915_active_unlock_wait()
338 active_flush(ref, &ref->excl); in i915_active_unlock_wait()
339 rbtree_postorder_for_each_entry_safe(it, n, &ref->tree, node) in i915_active_unlock_wait()
340 active_flush(ref, &it->base); in i915_active_unlock_wait()
343 i915_active_release(ref); in i915_active_unlock_wait()
347 spin_unlock_wait(&ref->tree_lock); in i915_active_unlock_wait()
350 flush_work(&ref->work); in i915_active_unlock_wait()