mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
drm/radeon: fence virtual address and free it once idle v4
Virtual address need to be fenced to know when we can safely remove it.
This patch also properly clear the pagetable. Previously it was
serouisly broken.
Kernel 3.5/3.4 need a similar patch but adapted for difference in mutex locking.
v2: For to update pagetable when unbinding bo (don't bailout if
bo_va->valid is true).
v3: Add kernel 3.5/3.4 comment.
v4: Fix compilation warnings.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
69b62ad8a4
commit
e43b5ec05a
@@ -52,11 +52,7 @@ void radeon_bo_clear_va(struct radeon_bo *bo)
|
||||
|
||||
list_for_each_entry_safe(bo_va, tmp, &bo->va, bo_list) {
|
||||
/* remove from all vm address space */
|
||||
mutex_lock(&bo_va->vm->mutex);
|
||||
list_del(&bo_va->vm_list);
|
||||
mutex_unlock(&bo_va->vm->mutex);
|
||||
list_del(&bo_va->bo_list);
|
||||
kfree(bo_va);
|
||||
radeon_vm_bo_rmv(bo->rdev, bo_va->vm, bo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user