Lines Matching refs:fence
527 radeon_sa_bo_free(rdev, &vm->page_directory, vm->fence);
537 radeon_sa_bo_free(rdev, &vm->page_tables[i], vm->fence);
655 radeon_sa_bo_free(rdev, &vm->page_directory, vm->fence);
686 * Returns the fence we need to sync to (if any).
698 if (vm->fence && vm->fence == rdev->vm_manager.active[vm->id])
706 struct radeon_fence *fence = rdev->vm_manager.active[i];
708 if (fence == NULL) {
714 if (radeon_fence_is_earlier(fence, best[fence->ring])) {
715 best[fence->ring] = fence;
716 choices[fence->ring == ring ? 0 : 1] = i;
733 * radeon_vm_fence - remember fence for vm
736 * @vm: vm we want to fence
737 * @fence: fence to remember
740 * Set the fence used to protect page table and id.
746 struct radeon_fence *fence)
749 rdev->vm_manager.active[vm->id] = radeon_fence_ref(fence);
751 radeon_fence_unref(&vm->fence);
752 vm->fence = radeon_fence_ref(fence);
1140 if (vm->fence && radeon_fence_signaled(vm->fence)) {
1141 radeon_fence_unref(&vm->fence);
1144 if (vm->fence && vm->fence->ring != ridx) {
1157 /* semaphore, fence and padding */
1182 if (sem && radeon_fence_need_sync(vm->fence, ridx)) {
1183 radeon_semaphore_sync_rings(rdev, sem, vm->fence->ring, ridx);
1184 radeon_fence_note_sync(vm->fence, ridx);
1196 radeon_fence_unref(&vm->fence);
1197 r = radeon_fence_emit(rdev, &vm->fence, ridx);
1203 radeon_semaphore_free(rdev, &sem, vm->fence);
1269 vm->fence = NULL;
1306 radeon_fence_unref(&vm->fence);