summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_ring.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-02-20 19:33:15 +0100
committerChristian König <christian.koenig@amd.com>2014-03-03 11:26:27 +0100
commit529364e05bc093dc41b0c9e67e94ac82442c1b35 (patch)
treeb1b200ae02732a9094f306c2d5e50e47d54c25e9 /drivers/gpu/drm/radeon/radeon_ring.c
parent6d2f2944e95e504a7d33385eeeb9bb7fcca72592 (diff)
downloadlinux-529364e05bc093dc41b0c9e67e94ac82442c1b35.tar.bz2
drm/radeon: remove global vm lock
Not needed any more. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_ring.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_ring.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_ring.c b/drivers/gpu/drm/radeon/radeon_ring.c
index 665591a7faad..5321e249021f 100644
--- a/drivers/gpu/drm/radeon/radeon_ring.c
+++ b/drivers/gpu/drm/radeon/radeon_ring.c
@@ -145,6 +145,13 @@ int radeon_ib_schedule(struct radeon_device *rdev, struct radeon_ib *ib,
return r;
}
+ /* grab a vm id if necessary */
+ if (ib->vm) {
+ struct radeon_fence *vm_id_fence;
+ vm_id_fence = radeon_vm_grab_id(rdev, ib->vm, ib->ring);
+ radeon_semaphore_sync_to(ib->semaphore, vm_id_fence);
+ }
+
/* sync with other rings */
r = radeon_semaphore_sync_rings(rdev, ib->semaphore, ib->ring);
if (r) {