Lines Matching full:fence
55 * radeon_sync_fence - use the semaphore to sync to a fence
57 * @sync: sync object to add fence to
58 * @fence: fence to sync to
60 * Sync to the fence using the semaphore objects
63 struct radeon_fence *fence) in radeon_sync_fence() argument
67 if (!fence) in radeon_sync_fence()
70 other = sync->sync_to[fence->ring]; in radeon_sync_fence()
71 sync->sync_to[fence->ring] = radeon_fence_later(fence, other); in radeon_sync_fence()
73 if (fence->is_vm_update) { in radeon_sync_fence()
75 sync->last_vm_update = radeon_fence_later(fence, other); in radeon_sync_fence()
84 * @resv: reservation object with embedded fence
85 * @shared: true if we should only sync to the exclusive fence
87 * Sync to the fence using the semaphore objects
95 struct radeon_fence *fence; in radeon_sync_resv() local
100 fence = to_radeon_fence(f); in radeon_sync_resv()
101 if (fence && fence->rdev == rdev) in radeon_sync_resv()
102 radeon_sync_fence(sync, fence); in radeon_sync_resv()
129 struct radeon_fence *fence = sync->sync_to[i]; in radeon_sync_rings() local
133 if (!radeon_fence_need_sync(fence, ring)) in radeon_sync_rings()
144 r = radeon_fence_wait(fence, false); in radeon_sync_rings()
164 r = radeon_fence_wait(fence, false); in radeon_sync_rings()
174 r = radeon_fence_wait(fence, false); in radeon_sync_rings()
181 radeon_fence_note_sync(fence, ring); in radeon_sync_rings()
192 * @fence: fence to use for the free
198 struct radeon_fence *fence) in radeon_sync_free() argument
203 radeon_semaphore_free(rdev, &sync->semaphores[i], fence); in radeon_sync_free()