Lines Matching refs:fence
37 struct fence *fence; member
61 static bool amdgpu_sync_same_dev(struct amdgpu_device *adev, struct fence *f) in amdgpu_sync_same_dev()
79 static bool amdgpu_sync_test_owner(struct fence *f, void *owner) in amdgpu_sync_test_owner()
90 static void amdgpu_sync_keep_later(struct fence **keep, struct fence *fence) in amdgpu_sync_keep_later() argument
92 if (*keep && fence_is_later(*keep, fence)) in amdgpu_sync_keep_later()
96 *keep = fence_get(fence); in amdgpu_sync_keep_later()
107 struct fence *f) in amdgpu_sync_fence()
110 struct amdgpu_fence *fence; in amdgpu_sync_fence() local
119 fence = to_amdgpu_fence(f); in amdgpu_sync_fence()
120 if (!fence || fence->ring->adev != adev) { in amdgpu_sync_fence()
122 if (unlikely(e->fence->context != f->context)) in amdgpu_sync_fence()
125 amdgpu_sync_keep_later(&e->fence, f); in amdgpu_sync_fence()
134 e->fence = fence_get(f); in amdgpu_sync_fence()
138 amdgpu_sync_keep_later(&sync->sync_to[fence->ring->idx], f); in amdgpu_sync_fence()
143 static void *amdgpu_sync_get_owner(struct fence *f) in amdgpu_sync_get_owner()
170 struct fence *f; in amdgpu_sync_resv()
215 struct fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync) in amdgpu_sync_get_fence()
219 struct fence *f; in amdgpu_sync_get_fence()
224 f = e->fence; in amdgpu_sync_get_fence()
244 r = fence_wait(e->fence, false); in amdgpu_sync_wait()
249 fence_put(e->fence); in amdgpu_sync_wait()
257 struct fence *fence = sync->sync_to[i]; in amdgpu_sync_wait() local
258 if (!fence) in amdgpu_sync_wait()
261 r = fence_wait(fence, false); in amdgpu_sync_wait()
288 struct amdgpu_fence *fence; in amdgpu_sync_rings() local
293 fence = to_amdgpu_fence(sync->sync_to[i]); in amdgpu_sync_rings()
297 !amdgpu_fence_need_sync(fence, ring)) in amdgpu_sync_rings()
315 r = fence_wait(&fence->base, false); in amdgpu_sync_rings()
335 r = fence_wait(&fence->base, false); in amdgpu_sync_rings()
345 r = fence_wait(&fence->base, false); in amdgpu_sync_rings()
352 amdgpu_fence_note_sync(fence, ring); in amdgpu_sync_rings()
369 struct fence *fence) in amdgpu_sync_free() argument
377 fence_put(e->fence); in amdgpu_sync_free()
382 amdgpu_semaphore_free(adev, &sync->semaphores[i], fence); in amdgpu_sync_free()