Lines Matching full:fence
3 * fence-chain: chain fences together in a timeline
13 #include <linux/dma-fence.h>
18 * struct dma_fence_chain - fence to represent an node of a fence chain
19 * @base: fence base class
20 * @prev: previous fence of the chain
22 * @fence: encapsulated fence
23 * @lock: spinlock for fence handling
29 struct dma_fence *fence; member
35 * complection of the fence chain. Never used at the same time
54 * to_dma_fence_chain - cast a fence to a dma_fence_chain
55 * @fence: fence to cast to a dma_fence_array
57 * Returns NULL if the fence is not a dma_fence_chain,
61 to_dma_fence_chain(struct dma_fence *fence) in to_dma_fence_chain() argument
63 if (!fence || !dma_fence_is_chain(fence)) in to_dma_fence_chain()
66 return container_of(fence, struct dma_fence_chain, base); in to_dma_fence_chain()
70 * dma_fence_chain_contained - return the contained fence
71 * @fence: the fence to test
73 * If the fence is a dma_fence_chain the function returns the fence contained
74 * inside the chain object, otherwise it returns the fence itself.
77 dma_fence_chain_contained(struct dma_fence *fence) in dma_fence_chain_contained() argument
79 struct dma_fence_chain *chain = to_dma_fence_chain(fence); in dma_fence_chain_contained()
81 return chain ? chain->fence : fence; in dma_fence_chain_contained()
101 * doesn't need an RCU grace period since the fence was never initialized nor
102 * published. After dma_fence_chain_init() has been called the fence must be
112 * @iter: current fence
116 * fence while inside the loop which must be dropped when breaking out.
124 struct dma_fence *dma_fence_chain_walk(struct dma_fence *fence);
128 struct dma_fence *fence,