drm/radeon: rework ring syncing code
[deliverable/linux.git] / drivers / gpu / drm / radeon / radeon_ttm.c
index 2d36bdda9327aa191f319161310cbdd75e74b3f5..c43035c5cc3efc2bd033bf465dafc821f0b07f1f 100644 (file)
@@ -223,7 +223,6 @@ static int radeon_move_blit(struct ttm_buffer_object *bo,
        struct radeon_device *rdev;
        uint64_t old_start, new_start;
        struct radeon_fence *fence;
-       struct radeon_semaphore *sem = NULL;
        int r, ridx;
 
        rdev = radeon_get_rdev(bo->bdev);
@@ -262,31 +261,12 @@ static int radeon_move_blit(struct ttm_buffer_object *bo,
 
        /* sync other rings */
        fence = bo->sync_obj;
-       if (fence && fence->ring != ridx
-           && !radeon_fence_signaled(fence)) {
-               bool sync_to_ring[RADEON_NUM_RINGS] = { };
-               sync_to_ring[fence->ring] = true;
-
-               r = radeon_semaphore_create(rdev, &sem);
-               if (r) {
-                       return r;
-               }
-
-               r = radeon_semaphore_sync_rings(rdev, sem, sync_to_ring, ridx);
-               if (r) {
-                       radeon_semaphore_free(rdev, sem, NULL);
-                       return r;
-               }
-       }
-
-       fence = NULL;
        r = radeon_copy(rdev, old_start, new_start,
                        new_mem->num_pages * (PAGE_SIZE / RADEON_GPU_PAGE_SIZE), /* GPU pages */
                        &fence);
        /* FIXME: handle copy error */
        r = ttm_bo_move_accel_cleanup(bo, (void *)fence, NULL,
                                      evict, no_wait_reserve, no_wait_gpu, new_mem);
-       radeon_semaphore_free(rdev, sem, fence);
        radeon_fence_unref(&fence);
        return r;
 }
This page took 0.027774 seconds and 5 git commands to generate.