aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/r600.c
diff options
context:
space:
mode:
authorChristian König <deathsimple@vodafone.de>2012-05-09 09:35:01 -0400
committerDave Airlie <airlied@redhat.com>2012-05-09 12:22:54 -0400
commitf237750f007412eb5e1baafe3e32857b35fbc6ee (patch)
treeea8bacec8aa0e4e3a3401d369bb62cdcb5235111 /drivers/gpu/drm/radeon/r600.c
parent68470ae7e67fe15b9ab01e1c1c709e6e2485a8e5 (diff)
drm/radeon: remove r600 blit mutex v2
If we don't store local data into global variables it isn't necessary to lock anything. v2: rebased on new SA interface Signed-off-by: Christian König <deathsimple@vodafone.de> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r600.c')
-rw-r--r--drivers/gpu/drm/radeon/r600.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index 478b51ea4d87..00b22385e3f8 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -2363,20 +2363,15 @@ int r600_copy_blit(struct radeon_device *rdev,
2363 unsigned num_gpu_pages, 2363 unsigned num_gpu_pages,
2364 struct radeon_fence *fence) 2364 struct radeon_fence *fence)
2365{ 2365{
2366 struct radeon_sa_bo *vb = NULL;
2366 int r; 2367 int r;
2367 2368
2368 mutex_lock(&rdev->r600_blit.mutex); 2369 r = r600_blit_prepare_copy(rdev, num_gpu_pages, &vb);
2369 rdev->r600_blit.vb_ib = NULL;
2370 r = r600_blit_prepare_copy(rdev, num_gpu_pages);
2371 if (r) { 2370 if (r) {
2372 if (rdev->r600_blit.vb_ib)
2373 radeon_ib_free(rdev, &rdev->r600_blit.vb_ib);
2374 mutex_unlock(&rdev->r600_blit.mutex);
2375 return r; 2371 return r;
2376 } 2372 }
2377 r600_kms_blit_copy(rdev, src_offset, dst_offset, num_gpu_pages); 2373 r600_kms_blit_copy(rdev, src_offset, dst_offset, num_gpu_pages, vb);
2378 r600_blit_done_copy(rdev, fence); 2374 r600_blit_done_copy(rdev, fence, vb);
2379 mutex_unlock(&rdev->r600_blit.mutex);
2380 return 0; 2375 return 0;
2381} 2376}
2382 2377