drm/amdgpu: fix ATC handling for Ryzen
Otherwise we don't correctly use translate further. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
此提交包含在:
@@ -769,14 +769,17 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev,
|
||||
|
||||
addr = 0;
|
||||
if (ats_entries) {
|
||||
uint64_t ats_value;
|
||||
uint64_t value = 0, flags;
|
||||
|
||||
ats_value = AMDGPU_PTE_DEFAULT_ATC;
|
||||
if (level != AMDGPU_VM_PTB)
|
||||
ats_value |= AMDGPU_PDE_PTE;
|
||||
flags = AMDGPU_PTE_DEFAULT_ATC;
|
||||
if (level != AMDGPU_VM_PTB) {
|
||||
/* Handle leaf PDEs as PTEs */
|
||||
flags |= AMDGPU_PDE_PTE;
|
||||
amdgpu_gmc_get_vm_pde(adev, level, &value, &flags);
|
||||
}
|
||||
|
||||
r = vm->update_funcs->update(¶ms, bo, addr, 0, ats_entries,
|
||||
0, ats_value);
|
||||
value, flags);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
|
新增問題並參考
封鎖使用者