Lines Matching full:fence
27 /* Small library of different fence types useful for writing tests */
30 nop_fence_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state) in nop_fence_notify() argument
35 void __onstack_fence_init(struct i915_sw_fence *fence, in __onstack_fence_init() argument
39 debug_fence_init_onstack(fence); in __onstack_fence_init()
41 __init_waitqueue_head(&fence->wait, name, key); in __onstack_fence_init()
42 atomic_set(&fence->pending, 1); in __onstack_fence_init()
43 fence->error = 0; in __onstack_fence_init()
44 fence->fn = nop_fence_notify; in __onstack_fence_init()
47 void onstack_fence_fini(struct i915_sw_fence *fence) in onstack_fence_fini() argument
49 if (!fence->fn) in onstack_fence_fini()
52 i915_sw_fence_commit(fence); in onstack_fence_fini()
53 i915_sw_fence_fini(fence); in onstack_fence_fini()
60 i915_sw_fence_commit(&tf->fence); in timed_fence_wake()
65 onstack_fence_init(&tf->fence); in timed_fence_init()
72 i915_sw_fence_commit(&tf->fence); in timed_fence_init()
78 i915_sw_fence_commit(&tf->fence); in timed_fence_fini()
81 i915_sw_fence_fini(&tf->fence); in timed_fence_fini()
85 struct i915_sw_fence fence; member
93 heap_fence_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state) in heap_fence_notify() argument
95 struct heap_fence *h = container_of(fence, typeof(*h), fence); in heap_fence_notify()
102 heap_fence_put(&h->fence); in heap_fence_notify()
116 i915_sw_fence_init(&h->fence, heap_fence_notify); in heap_fence_create()
119 return &h->fence; in heap_fence_create()
126 i915_sw_fence_fini(&h->fence); in heap_fence_release()
131 void heap_fence_put(struct i915_sw_fence *fence) in heap_fence_put() argument
133 struct heap_fence *h = container_of(fence, typeof(*h), fence); in heap_fence_put()