To enable atomic access to memory, setup the new PCIe atomics bit
in PTE on GFX 12.1.0.
Signed-off-by: Mukul Joshi <mukul.joshi@amd.com>
Reviewed-by: Alex Sierra <alex.sierra@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
if (bo && bo->flags & AMDGPU_GEM_CREATE_UNCACHED)
*flags = AMDGPU_PTE_MTYPE_GFX12(*flags, MTYPE_UC);
+
+ if (adev->have_atomics_support)
+ *flags |= AMDGPU_PTE_BUS_ATOMICS;
}
static const struct amdgpu_gmc_funcs gmc_v12_1_gmc_funcs = {
pte_flags |= AMDGPU_PTE_READABLE;
if (!(flags & KFD_IOCTL_SVM_FLAG_GPU_RO))
pte_flags |= AMDGPU_PTE_WRITEABLE;
+
+ if ((gc_ip_version == IP_VERSION(12, 1, 0)) &&
+ node->adev->have_atomics_support)
+ pte_flags |= AMDGPU_PTE_BUS_ATOMICS;
+
return pte_flags;
}