Lines Matching full:fence

3  * fence-chain: chain fences together in a timeline
10 #include <linux/dma-fence-chain.h>
12 static bool dma_fence_chain_enable_signaling(struct dma_fence *fence);
15 * dma_fence_chain_get_prev - use RCU to get a reference to the previous fence
18 * Use dma_fence_get_rcu_safe to get a reference to the previous fence of the
33 * @fence: current chain node
35 * Walk the chain to the next node. Returns the next fence or NULL if we are at
39 struct dma_fence *dma_fence_chain_walk(struct dma_fence *fence)
44 chain = to_dma_fence_chain(fence);
46 dma_fence_put(fence);
54 if (!dma_fence_is_signaled(prev_chain->fence))
74 dma_fence_put(fence);
80 * dma_fence_chain_find_seqno - find fence chain node by seqno
84 * Advance the fence pointer to the chain node which will signal this sequence
87 * Returns EINVAL if the fence is not a chain node or the sequence number has
112 static const char *dma_fence_chain_get_driver_name(struct dma_fence *fence)
117 static const char *dma_fence_chain_get_timeline_name(struct dma_fence *fence)
145 static bool dma_fence_chain_enable_signaling(struct dma_fence *fence)
147 struct dma_fence_chain *head = to_dma_fence_chain(fence);
150 dma_fence_chain_for_each(fence, &head->base) {
151 struct dma_fence *f = dma_fence_chain_contained(fence);
155 dma_fence_put(fence);
164 static bool dma_fence_chain_signaled(struct dma_fence *fence)
166 dma_fence_chain_for_each(fence, fence) {
167 struct dma_fence *f = dma_fence_chain_contained(fence);
170 dma_fence_put(fence);
178 static void dma_fence_chain_release(struct dma_fence *fence)
180 struct dma_fence_chain *chain = to_dma_fence_chain(fence);
205 dma_fence_put(chain->fence);
206 dma_fence_free(fence);
210 static void dma_fence_chain_set_deadline(struct dma_fence *fence,
213 dma_fence_chain_for_each(fence, fence) {
214 struct dma_fence *f = dma_fence_chain_contained(fence);
231 * dma_fence_chain_init - initialize a fence chain
233 * @prev: the previous fence
234 * @fence: the current fence
235 * @seqno: the sequence number to use for the fence chain
238 * the existing chain of the previous fence.
242 struct dma_fence *fence,
250 chain->fence = fence;
269 * the prev fence and not through the contained fence.
271 * The correct way of handling this is to flatten out the fence
274 WARN_ON(dma_fence_is_chain(fence));