summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
index 695f3cf05b6f..bef28aedfb93 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
@@ -496,7 +496,7 @@ static void gmc_v12_1_get_coherence_flags(struct amdgpu_device *adev,
bool uncached = bo->flags & AMDGPU_GEM_CREATE_UNCACHED;
unsigned int mtype, mtype_local;
bool snoop = false;
- bool is_local;
+ bool is_local = false;
switch (gc_ip_version) {
case IP_VERSION(12, 1, 0):
@@ -533,6 +533,9 @@ static void gmc_v12_1_get_coherence_flags(struct amdgpu_device *adev,
if (mtype != MTYPE_NC)
*flags = AMDGPU_PTE_MTYPE_GFX12(*flags, mtype);
+ if (is_local || adev->have_atomics_support)
+ *flags |= AMDGPU_PTE_BUS_ATOMICS;
+
*flags |= snoop ? AMDGPU_PTE_SNOOPED : 0;
}
@@ -577,9 +580,6 @@ static void gmc_v12_1_get_vm_pte(struct amdgpu_device *adev,
AMDGPU_GEM_CREATE_UNCACHED))
*flags = AMDGPU_PTE_MTYPE_NV10(*flags, MTYPE_UC);
- if (adev->have_atomics_support)
- *flags |= AMDGPU_PTE_BUS_ATOMICS;
-
if ((*flags & AMDGPU_PTE_VALID) && bo)
gmc_v12_1_get_coherence_flags(adev, bo, flags);
}