summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/radeon/radeon_vm.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-02-20 22:33:15 +0400
committerChristian König <christian.koenig@amd.com>2014-03-03 14:26:27 +0400
commit529364e05bc093dc41b0c9e67e94ac82442c1b35 (patch)
treeb1b200ae02732a9094f306c2d5e50e47d54c25e9 /drivers/gpu/drm/radeon/radeon_vm.c
parent6d2f2944e95e504a7d33385eeeb9bb7fcca72592 (diff)
downloadlinux-529364e05bc093dc41b0c9e67e94ac82442c1b35.tar.xz
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_vm.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_vm.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c
index 44b6918a87ba..81d91b513ce1 100644
--- a/drivers/gpu/drm/radeon/radeon_vm.c
+++ b/drivers/gpu/drm/radeon/radeon_vm.c
@@ -110,12 +110,10 @@ void radeon_vm_manager_fini(struct radeon_device *rdev)
if (!rdev->vm_manager.enabled)
return;
- mutex_lock(&rdev->vm_manager.lock);
for (i = 0; i < RADEON_NUM_VM; ++i)
radeon_fence_unref(&rdev->vm_manager.active[i]);
radeon_asic_vm_fini(rdev);
rdev->vm_manager.enabled = false;
- mutex_unlock(&rdev->vm_manager.lock);
}
/**
@@ -734,7 +732,7 @@ static void radeon_vm_update_ptes(struct radeon_device *rdev,
* Fill in the page table entries for @bo (cayman+).
* Returns 0 for success, -EINVAL for failure.
*
- * Object have to be reserved & global and local mutex must be locked!
+ * Object have to be reserved and mutex must be locked!
*/
int radeon_vm_bo_update(struct radeon_device *rdev,
struct radeon_vm *vm,
@@ -842,12 +840,10 @@ int radeon_vm_bo_rmv(struct radeon_device *rdev,
{
int r = 0;
- mutex_lock(&rdev->vm_manager.lock);
mutex_lock(&bo_va->vm->mutex);
- if (bo_va->soffset) {
+ if (bo_va->soffset)
r = radeon_vm_bo_update(rdev, bo_va->vm, bo_va->bo, NULL);
- }
- mutex_unlock(&rdev->vm_manager.lock);
+
list_del(&bo_va->vm_list);
mutex_unlock(&bo_va->vm->mutex);
list_del(&bo_va->bo_list);