Lines Matching full:fence
8 #include <linux/dma-fence.h>
9 #include <linux/dma-fence-chain.h>
62 struct dma_fence *fence, in mock_chain() argument
71 dma_fence_chain_init(f, dma_fence_get(prev), dma_fence_get(fence), in mock_chain()
184 struct dma_fence *fence; in find_seqno() local
192 fence = dma_fence_get(fc.tail); in find_seqno()
193 err = dma_fence_chain_find_seqno(&fence, 0); in find_seqno()
194 dma_fence_put(fence); in find_seqno()
201 fence = dma_fence_get(fc.tail); in find_seqno()
202 err = dma_fence_chain_find_seqno(&fence, i + 1); in find_seqno()
203 dma_fence_put(fence); in find_seqno()
209 if (fence != fc.chains[i]) { in find_seqno()
210 pr_err("Incorrect fence reported by find_seqno(%d:%d)\n", in find_seqno()
216 dma_fence_get(fence); in find_seqno()
217 err = dma_fence_chain_find_seqno(&fence, i + 1); in find_seqno()
218 dma_fence_put(fence); in find_seqno()
223 if (fence != fc.chains[i]) { in find_seqno()
224 pr_err("Incorrect fence reported by find self\n"); in find_seqno()
229 dma_fence_get(fence); in find_seqno()
230 err = dma_fence_chain_find_seqno(&fence, i + 2); in find_seqno()
231 dma_fence_put(fence); in find_seqno()
233 pr_err("Error not reported for future fence: find_seqno(%d:%d)!\n", in find_seqno()
239 dma_fence_get(fence); in find_seqno()
240 err = dma_fence_chain_find_seqno(&fence, i); in find_seqno()
241 dma_fence_put(fence); in find_seqno()
243 pr_err("Error reported for previous fence!\n"); in find_seqno()
246 if (i > 0 && fence != fc.chains[i - 1]) { in find_seqno()
247 pr_err("Incorrect fence reported by find_seqno(%d:%d)\n", in find_seqno()
262 struct dma_fence *fence; in find_signaled() local
271 fence = dma_fence_get(fc.tail); in find_signaled()
272 err = dma_fence_chain_find_seqno(&fence, 1); in find_signaled()
273 dma_fence_put(fence); in find_signaled()
279 if (fence && fence != fc.chains[0]) { in find_signaled()
280 pr_err("Incorrect chain-fence.seqno:%lld reported for completed seqno:1\n", in find_signaled()
281 fence->seqno); in find_signaled()
283 dma_fence_get(fence); in find_signaled()
284 err = dma_fence_chain_find_seqno(&fence, 1); in find_signaled()
285 dma_fence_put(fence); in find_signaled()
300 struct dma_fence *fence; in find_out_of_order() local
309 fence = dma_fence_get(fc.tail); in find_out_of_order()
310 err = dma_fence_chain_find_seqno(&fence, 2); in find_out_of_order()
311 dma_fence_put(fence); in find_out_of_order()
318 * We signaled the middle fence (2) of the 1-2-3 chain. The behavior in find_out_of_order()
319 * of the dma-fence-chain is to make us wait for all the fences up to in find_out_of_order()
320 * the point we want. Since fence 1 is still not signaled, this what in find_out_of_order()
321 * we should get as fence to wait upon (fence 2 being garbage in find_out_of_order()
324 if (fence != fc.chains[0]) { in find_out_of_order()
325 pr_err("Incorrect chain-fence.seqno:%lld reported for completed seqno:2\n", in find_out_of_order()
326 fence ? fence->seqno : 0); in find_out_of_order()
344 struct dma_fence *fence; in find_gap() local
353 fence = dma_fence_get(fc.tail); in find_gap()
354 err = dma_fence_chain_find_seqno(&fence, 2 * i + 1); in find_gap()
355 dma_fence_put(fence); in find_gap()
361 if (fence != fc.chains[i]) { in find_gap()
362 pr_err("Incorrect fence.seqno:%lld reported by find_seqno(%d:%d)\n", in find_gap()
363 fence->seqno, in find_gap()
370 dma_fence_get(fence); in find_gap()
371 err = dma_fence_chain_find_seqno(&fence, 2 * i + 2); in find_gap()
372 dma_fence_put(fence); in find_gap()
377 if (fence != fc.chains[i]) { in find_gap()
378 pr_err("Incorrect fence reported by find self\n"); in find_gap()
400 struct dma_fence *fence = dma_fence_get(data->fc.tail); in __find_race() local
405 err = dma_fence_chain_find_seqno(&fence, seqno); in __find_race()
407 pr_err("Failed to find fence seqno:%d\n", in __find_race()
409 dma_fence_put(fence); in __find_race()
412 if (!fence) in __find_race()
416 * We can only find ourselves if we are on fence we were in __find_race()
419 if (fence->seqno == seqno) { in __find_race()
420 err = dma_fence_chain_find_seqno(&fence, seqno); in __find_race()
422 pr_err("Reported an invalid fence for find-self:%d\n", in __find_race()
424 dma_fence_put(fence); in __find_race()
429 dma_fence_put(fence); in __find_race()