Commit b6f3a51e authored by Christian König's avatar Christian König Committed by Alex Deucher

drm/amdgpu: handle leaf PDEs as PTEs on Vega

This way we get retry faults for missing PDs.
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 5fa76a9d
...@@ -787,15 +787,22 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev, ...@@ -787,15 +787,22 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev,
} }
if (entries) { if (entries) {
uint64_t value = 0; uint64_t value = 0, flags = 0;
/* Workaround for fault priority problem on GMC9 */ if (adev->asic_type >= CHIP_VEGA10) {
if (level == AMDGPU_VM_PTB && if (level != AMDGPU_VM_PTB) {
adev->asic_type >= CHIP_VEGA10) /* Handle leaf PDEs as PTEs */
value = AMDGPU_PTE_EXECUTABLE; flags |= AMDGPU_PDE_PTE;
amdgpu_gmc_get_vm_pde(adev, level,
&value, &flags);
} else {
/* Workaround for fault priority problem on GMC9 */
flags = AMDGPU_PTE_EXECUTABLE;
}
}
r = vm->update_funcs->update(&params, bo, addr, 0, entries, r = vm->update_funcs->update(&params, bo, addr, 0, entries,
0, value); value, flags);
if (r) if (r)
return r; return r;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment