Lines Matching refs:ref
20 struct kref ref; member
26 kref_get(&active->ref); in __live_get()
35 static void __live_release(struct kref *ref) in __live_release() argument
37 struct live_active *active = container_of(ref, typeof(*active), ref); in __live_release()
44 kref_put(&active->ref, __live_release); in __live_put()
71 kref_init(&active->ref); in __live_alloc()
279 void i915_active_print(struct i915_active *ref, struct drm_printer *m) in i915_active_print() argument
281 drm_printf(m, "active %ps:%ps\n", ref->active, ref->retire); in i915_active_print()
282 drm_printf(m, "\tcount: %d\n", atomic_read(&ref->count)); in i915_active_print()
284 str_yes_no(!llist_empty(&ref->preallocated_barriers))); in i915_active_print()
286 if (i915_active_acquire_if_busy(ref)) { in i915_active_print()
289 rbtree_postorder_for_each_entry_safe(it, n, &ref->tree, node) { in i915_active_print()
305 i915_active_release(ref); in i915_active_print()
315 static void active_flush(struct i915_active *ref, in active_flush() argument
327 atomic_dec(&ref->count); in active_flush()
332 void i915_active_unlock_wait(struct i915_active *ref) in i915_active_unlock_wait() argument
334 if (i915_active_acquire_if_busy(ref)) { in i915_active_unlock_wait()
339 active_flush(ref, &ref->excl); in i915_active_unlock_wait()
340 rbtree_postorder_for_each_entry_safe(it, n, &ref->tree, node) in i915_active_unlock_wait()
341 active_flush(ref, &it->base); in i915_active_unlock_wait()
344 i915_active_release(ref); in i915_active_unlock_wait()
348 spin_unlock_wait(&ref->tree_lock); in i915_active_unlock_wait()
351 flush_work(&ref->work); in i915_active_unlock_wait()