Commit 4abf0b0b authored by David Yat Sin's avatar David Yat Sin Committed by Alex Deucher

drm/amdgpu: Change extended-scope MTYPE on GC 9.4.3

Change local memory type to MTYPE_UC on revision id 0
Signed-off-by: default avatarDavid Yat Sin <David.YatSin@amd.com>
Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 61e0a982
...@@ -1180,7 +1180,10 @@ static void gmc_v9_0_get_coherence_flags(struct amdgpu_device *adev, ...@@ -1180,7 +1180,10 @@ static void gmc_v9_0_get_coherence_flags(struct amdgpu_device *adev,
if (uncached) { if (uncached) {
mtype = MTYPE_UC; mtype = MTYPE_UC;
} else if (ext_coherent) { } else if (ext_coherent) {
mtype = is_local ? MTYPE_CC : MTYPE_UC; if (adev->rev_id)
mtype = is_local ? MTYPE_CC : MTYPE_UC;
else
mtype = MTYPE_UC;
} else if (adev->flags & AMD_IS_APU) { } else if (adev->flags & AMD_IS_APU) {
mtype = is_local ? mtype_local : MTYPE_NC; mtype = is_local ? mtype_local : MTYPE_NC;
} else { } else {
...@@ -1301,7 +1304,7 @@ static void gmc_v9_0_override_vm_pte_flags(struct amdgpu_device *adev, ...@@ -1301,7 +1304,7 @@ static void gmc_v9_0_override_vm_pte_flags(struct amdgpu_device *adev,
*flags = (*flags & ~AMDGPU_PTE_MTYPE_VG10_MASK) | *flags = (*flags & ~AMDGPU_PTE_MTYPE_VG10_MASK) |
AMDGPU_PTE_MTYPE_VG10(mtype_local); AMDGPU_PTE_MTYPE_VG10(mtype_local);
} else { } else if (adev->rev_id) {
/* MTYPE_UC case */ /* MTYPE_UC case */
*flags = (*flags & ~AMDGPU_PTE_MTYPE_VG10_MASK) | *flags = (*flags & ~AMDGPU_PTE_MTYPE_VG10_MASK) |
AMDGPU_PTE_MTYPE_VG10(MTYPE_CC); AMDGPU_PTE_MTYPE_VG10(MTYPE_CC);
......
...@@ -1255,9 +1255,11 @@ svm_range_get_pte_flags(struct kfd_node *node, ...@@ -1255,9 +1255,11 @@ svm_range_get_pte_flags(struct kfd_node *node,
} }
break; break;
case IP_VERSION(9, 4, 3): case IP_VERSION(9, 4, 3):
mtype_local = amdgpu_mtype_local == 1 ? AMDGPU_VM_MTYPE_NC : if (ext_coherent)
(amdgpu_mtype_local == 2 || ext_coherent ? mtype_local = node->adev->rev_id ? AMDGPU_VM_MTYPE_CC : AMDGPU_VM_MTYPE_UC;
AMDGPU_VM_MTYPE_CC : AMDGPU_VM_MTYPE_RW); else
mtype_local = amdgpu_mtype_local == 1 ? AMDGPU_VM_MTYPE_NC :
amdgpu_mtype_local == 2 ? AMDGPU_VM_MTYPE_CC : AMDGPU_VM_MTYPE_RW;
snoop = true; snoop = true;
if (uncached) { if (uncached) {
mapping_flags |= AMDGPU_VM_MTYPE_UC; mapping_flags |= AMDGPU_VM_MTYPE_UC;
......
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