Lines Matching refs:resv
44 #include <linux/dma-resv.h>
163 dma_resv_assert_held(bo->base.resv);
197 dma_resv_assert_held(pos->first->base.resv);
198 dma_resv_assert_held(pos->last->base.resv);
212 dma_resv_assert_held(pos->first->base.resv);
213 dma_resv_assert_held(pos->last->base.resv);
227 dma_resv_assert_held(pos->first->base.resv);
228 dma_resv_assert_held(pos->last->base.resv);
334 if (bo->base.resv == &bo->base._resv)
339 r = dma_resv_copy_fences(&bo->base._resv, bo->base.resv);
347 * the resv object while holding the lru_lock.
350 bo->base.resv = &bo->base._resv;
359 struct dma_resv *resv = &bo->base._resv;
365 fobj = rcu_dereference(resv->fence);
366 fence = rcu_dereference(resv->fence_excl);
396 struct dma_resv *resv = &bo->base._resv;
399 if (dma_resv_test_signaled_rcu(resv, true))
408 dma_resv_unlock(bo->base.resv);
411 lret = dma_resv_wait_timeout_rcu(resv, true, interruptible,
420 if (unlock_resv && !dma_resv_trylock(bo->base.resv)) {
437 dma_resv_unlock(bo->base.resv);
448 dma_resv_unlock(bo->base.resv);
477 if (remove_all || bo->base.resv != &bo->base._resv) {
479 dma_resv_lock(bo->base.resv, NULL);
484 } else if (dma_resv_trylock(bo->base.resv)) {
524 dma_resv_wait_timeout_rcu(bo->base.resv, true, false,
535 if (!dma_resv_test_signaled_rcu(bo->base.resv, true) ||
536 !dma_resv_trylock(bo->base.resv)) {
570 dma_resv_unlock(bo->base.resv);
608 dma_resv_assert_held(bo->base.resv);
663 * a. if share same reservation object with ctx->resv, have assumption
682 if (bo->base.resv == ctx->resv) {
683 dma_resv_assert_held(bo->base.resv);
690 ret = dma_resv_trylock(bo->base.resv);
718 r = dma_resv_lock_interruptible(busy_bo->base.resv,
721 r = dma_resv_lock(busy_bo->base.resv, ticket);
729 dma_resv_unlock(busy_bo->base.resv);
753 dma_resv_locking_ctx(bo->base.resv))
761 dma_resv_unlock(bo->base.resv);
766 dma_resv_unlock(bo->base.resv);
831 dma_resv_add_shared_fence(bo->base.resv, fence);
833 ret = dma_resv_reserve_shared(bo->base.resv, 1);
858 ticket = dma_resv_locking_ctx(bo->base.resv);
953 ret = dma_resv_reserve_shared(bo->base.resv, 1);
1022 dma_resv_assert_held(bo->base.resv);
1094 dma_resv_assert_held(bo->base.resv);
1139 struct dma_resv *resv,
1188 if (resv) {
1189 bo->base.resv = resv;
1190 dma_resv_assert_held(bo->base.resv);
1192 bo->base.resv = &bo->base._resv;
1216 if (!resv) {
1217 locked = dma_resv_trylock(bo->base.resv);
1225 if (!resv)
1247 struct dma_resv *resv,
1255 sg, resv, destroy);
1259 if (!resv)
1498 if (dma_resv_test_signaled_rcu(bo->base.resv, true))
1504 timeout = dma_resv_wait_timeout_rcu(bo->base.resv, true,
1512 dma_resv_add_excl_fence(bo->base.resv, NULL);
1537 dma_resv_unlock(bo->base.resv);
1608 dma_resv_unlock(bo->base.resv);