• Home
  • Raw
  • Download

Lines Matching refs:fence

105 				      struct dma_fence *fence)  in reservation_object_add_shared_inplace()  argument
109 dma_fence_get(fence); in reservation_object_add_shared_inplace()
120 if (old_fence->context == fence->context) { in reservation_object_add_shared_inplace()
122 RCU_INIT_POINTER(fobj->shared[i], fence); in reservation_object_add_shared_inplace()
135 RCU_INIT_POINTER(fobj->shared[fobj->shared_count], fence); in reservation_object_add_shared_inplace()
146 struct dma_fence *fence) in reservation_object_add_shared_replace() argument
151 dma_fence_get(fence); in reservation_object_add_shared_replace()
154 RCU_INIT_POINTER(fobj->shared[0], fence); in reservation_object_add_shared_replace()
173 if (!old_fence && check->context == fence->context) { in reservation_object_add_shared_replace()
175 RCU_INIT_POINTER(fobj->shared[i], fence); in reservation_object_add_shared_replace()
180 RCU_INIT_POINTER(fobj->shared[fobj->shared_count], fence); in reservation_object_add_shared_replace()
191 RCU_INIT_POINTER(obj->fence, fobj); in reservation_object_add_shared_replace()
210 struct dma_fence *fence) in reservation_object_add_shared_fence() argument
219 reservation_object_add_shared_inplace(obj, old, fence); in reservation_object_add_shared_fence()
221 reservation_object_add_shared_replace(obj, old, fobj, fence); in reservation_object_add_shared_fence()
233 struct dma_fence *fence) in reservation_object_add_excl_fence() argument
243 if (fence) in reservation_object_add_excl_fence()
244 dma_fence_get(fence); in reservation_object_add_excl_fence()
249 RCU_INIT_POINTER(obj->fence_excl, fence); in reservation_object_add_excl_fence()
280 src_list = rcu_dereference(src->fence); in reservation_object_copy_fences()
294 src_list = rcu_dereference(src->fence); in reservation_object_copy_fences()
303 struct dma_fence *fence; in reservation_object_copy_fences() local
305 fence = rcu_dereference(src_list->shared[i]); in reservation_object_copy_fences()
307 &fence->flags)) in reservation_object_copy_fences()
310 if (!dma_fence_get_rcu(fence)) { in reservation_object_copy_fences()
312 src_list = rcu_dereference(src->fence); in reservation_object_copy_fences()
316 if (dma_fence_is_signaled(fence)) { in reservation_object_copy_fences()
317 dma_fence_put(fence); in reservation_object_copy_fences()
321 dst_list->shared[dst_list->shared_count++] = fence; in reservation_object_copy_fences()
340 RCU_INIT_POINTER(dst->fence, dst_list); in reservation_object_copy_fences()
388 fobj = rcu_dereference(obj->fence); in reservation_object_get_fences_rcu()
461 struct dma_fence *fence; in reservation_object_wait_timeout_rcu() local
472 fence = rcu_dereference(obj->fence_excl); in reservation_object_wait_timeout_rcu()
473 if (fence && !test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags)) { in reservation_object_wait_timeout_rcu()
474 if (!dma_fence_get_rcu(fence)) in reservation_object_wait_timeout_rcu()
477 if (dma_fence_is_signaled(fence)) { in reservation_object_wait_timeout_rcu()
478 dma_fence_put(fence); in reservation_object_wait_timeout_rcu()
479 fence = NULL; in reservation_object_wait_timeout_rcu()
483 fence = NULL; in reservation_object_wait_timeout_rcu()
488 rcu_dereference(obj->fence); in reservation_object_wait_timeout_rcu()
493 for (i = 0; !fence && i < shared_count; ++i) { in reservation_object_wait_timeout_rcu()
508 fence = lfence; in reservation_object_wait_timeout_rcu()
514 if (fence) { in reservation_object_wait_timeout_rcu()
516 dma_fence_put(fence); in reservation_object_wait_timeout_rcu()
520 ret = dma_fence_wait_timeout(fence, intr, ret); in reservation_object_wait_timeout_rcu()
521 dma_fence_put(fence); in reservation_object_wait_timeout_rcu()
537 struct dma_fence *fence, *lfence = passed_fence; in reservation_object_test_signaled_single() local
541 fence = dma_fence_get_rcu(lfence); in reservation_object_test_signaled_single()
542 if (!fence) in reservation_object_test_signaled_single()
545 ret = !!dma_fence_is_signaled(fence); in reservation_object_test_signaled_single()
546 dma_fence_put(fence); in reservation_object_test_signaled_single()
577 rcu_dereference(obj->fence); in reservation_object_test_signaled_rcu()
583 struct dma_fence *fence = rcu_dereference(fobj->shared[i]); in reservation_object_test_signaled_rcu() local
585 ret = reservation_object_test_signaled_single(fence); in reservation_object_test_signaled_rcu()