drm/radeon: remove radeon_fence_create
It is completely unnecessary to create fences before they are emitted, so remove it and a bunch of checks if fences are emitted or not. Signed-off-by: Christian König <deathsimple@vodafone.de> Reviewed-by: Jerome Glisse <jglisse@redhat.com>
This commit is contained in:
@@ -106,13 +106,7 @@ void radeon_test_moves(struct radeon_device *rdev)
|
||||
|
||||
radeon_bo_kunmap(gtt_obj[i]);
|
||||
|
||||
r = radeon_fence_create(rdev, &fence, RADEON_RING_TYPE_GFX_INDEX);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to create GTT->VRAM fence %d\n", i);
|
||||
goto out_cleanup;
|
||||
}
|
||||
|
||||
r = radeon_copy(rdev, gtt_addr, vram_addr, size / RADEON_GPU_PAGE_SIZE, fence);
|
||||
r = radeon_copy(rdev, gtt_addr, vram_addr, size / RADEON_GPU_PAGE_SIZE, &fence);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed GTT->VRAM copy %d\n", i);
|
||||
goto out_cleanup;
|
||||
@@ -155,13 +149,7 @@ void radeon_test_moves(struct radeon_device *rdev)
|
||||
|
||||
radeon_bo_kunmap(vram_obj);
|
||||
|
||||
r = radeon_fence_create(rdev, &fence, RADEON_RING_TYPE_GFX_INDEX);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to create VRAM->GTT fence %d\n", i);
|
||||
goto out_cleanup;
|
||||
}
|
||||
|
||||
r = radeon_copy(rdev, vram_addr, gtt_addr, size / RADEON_GPU_PAGE_SIZE, fence);
|
||||
r = radeon_copy(rdev, vram_addr, gtt_addr, size / RADEON_GPU_PAGE_SIZE, &fence);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed VRAM->GTT copy %d\n", i);
|
||||
goto out_cleanup;
|
||||
@@ -245,17 +233,6 @@ void radeon_test_ring_sync(struct radeon_device *rdev,
|
||||
int ridxB = radeon_ring_index(rdev, ringB);
|
||||
int r;
|
||||
|
||||
r = radeon_fence_create(rdev, &fence1, ridxA);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to create sync fence 1\n");
|
||||
goto out_cleanup;
|
||||
}
|
||||
r = radeon_fence_create(rdev, &fence2, ridxA);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to create sync fence 2\n");
|
||||
goto out_cleanup;
|
||||
}
|
||||
|
||||
r = radeon_semaphore_create(rdev, &semaphore);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to create semaphore\n");
|
||||
@@ -268,9 +245,19 @@ void radeon_test_ring_sync(struct radeon_device *rdev,
|
||||
goto out_cleanup;
|
||||
}
|
||||
radeon_semaphore_emit_wait(rdev, ridxA, semaphore);
|
||||
radeon_fence_emit(rdev, fence1);
|
||||
r = radeon_fence_emit(rdev, &fence1, ridxA);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to emit fence 1\n");
|
||||
radeon_ring_unlock_undo(rdev, ringA);
|
||||
goto out_cleanup;
|
||||
}
|
||||
radeon_semaphore_emit_wait(rdev, ridxA, semaphore);
|
||||
radeon_fence_emit(rdev, fence2);
|
||||
r = radeon_fence_emit(rdev, &fence2, ridxA);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to emit fence 2\n");
|
||||
radeon_ring_unlock_undo(rdev, ringA);
|
||||
goto out_cleanup;
|
||||
}
|
||||
radeon_ring_unlock_commit(rdev, ringA);
|
||||
|
||||
mdelay(1000);
|
||||
@@ -342,17 +329,6 @@ void radeon_test_ring_sync2(struct radeon_device *rdev,
|
||||
bool sigA, sigB;
|
||||
int i, r;
|
||||
|
||||
r = radeon_fence_create(rdev, &fenceA, ridxA);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to create sync fence 1\n");
|
||||
goto out_cleanup;
|
||||
}
|
||||
r = radeon_fence_create(rdev, &fenceB, ridxB);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to create sync fence 2\n");
|
||||
goto out_cleanup;
|
||||
}
|
||||
|
||||
r = radeon_semaphore_create(rdev, &semaphore);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to create semaphore\n");
|
||||
@@ -365,7 +341,12 @@ void radeon_test_ring_sync2(struct radeon_device *rdev,
|
||||
goto out_cleanup;
|
||||
}
|
||||
radeon_semaphore_emit_wait(rdev, ridxA, semaphore);
|
||||
radeon_fence_emit(rdev, fenceA);
|
||||
r = radeon_fence_emit(rdev, &fenceA, ridxA);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to emit sync fence 1\n");
|
||||
radeon_ring_unlock_undo(rdev, ringA);
|
||||
goto out_cleanup;
|
||||
}
|
||||
radeon_ring_unlock_commit(rdev, ringA);
|
||||
|
||||
r = radeon_ring_lock(rdev, ringB, 64);
|
||||
@@ -374,7 +355,12 @@ void radeon_test_ring_sync2(struct radeon_device *rdev,
|
||||
goto out_cleanup;
|
||||
}
|
||||
radeon_semaphore_emit_wait(rdev, ridxB, semaphore);
|
||||
radeon_fence_emit(rdev, fenceB);
|
||||
r = radeon_fence_emit(rdev, &fenceB, ridxB);
|
||||
if (r) {
|
||||
DRM_ERROR("Failed to create sync fence 2\n");
|
||||
radeon_ring_unlock_undo(rdev, ringB);
|
||||
goto out_cleanup;
|
||||
}
|
||||
radeon_ring_unlock_commit(rdev, ringB);
|
||||
|
||||
mdelay(1000);
|
||||
|
Reference in New Issue
Block a user