aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-08-31 04:46:20 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-08-31 13:46:08 -0400
commit0f2fc435d837213202bec3b8e26fbb67a4d6df24 (patch)
tree3156f0ac0d4246d46faf3b03a1b5bc2124de0780 /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
parent705e519e0ef1d1824c28ced3b1857a8608853dfb (diff)
drm/amdgpu: fix new PD update code for Vega10 v2
We need to refer to the parent instead of the root BO for multi level page tables on Vega10. Also don't set the PDE_PTE bit. v2: Don't set the PDE_PTE bit either. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-and-Tested-by: Roger He <Hongbo.He@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 1582feba9289..d3c48557555c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -309,7 +309,7 @@ static int amdgpu_vm_alloc_levels(struct amdgpu_device *adev,
309 /* Keep a reference to the root directory to avoid 309 /* Keep a reference to the root directory to avoid
310 * freeing them up in the wrong order. 310 * freeing them up in the wrong order.
311 */ 311 */
312 pt->parent = amdgpu_bo_ref(vm->root.base.bo); 312 pt->parent = amdgpu_bo_ref(parent->base.bo);
313 313
314 entry->base.vm = vm; 314 entry->base.vm = vm;
315 entry->base.bo = pt; 315 entry->base.bo = pt;
@@ -317,7 +317,7 @@ static int amdgpu_vm_alloc_levels(struct amdgpu_device *adev,
317 spin_lock(&vm->status_lock); 317 spin_lock(&vm->status_lock);
318 list_add(&entry->base.vm_status, &vm->relocated); 318 list_add(&entry->base.vm_status, &vm->relocated);
319 spin_unlock(&vm->status_lock); 319 spin_unlock(&vm->status_lock);
320 entry->addr = ~0ULL; 320 entry->addr = 0;
321 } 321 }
322 322
323 if (level < adev->vm_manager.num_level) { 323 if (level < adev->vm_manager.num_level) {