From 4da4990337b34be49b95d99524c99910f4f0577f Mon Sep 17 00:00:00 2001 From: Mukul Joshi Date: Wed, 26 Feb 2025 15:45:46 -0500 Subject: [PATCH] drm/amdgpu: Setup PCIe atomics bit in PTE on GFX 12.1.0 To enable atomic access to memory, setup the new PCIe atomics bit in PTE on GFX 12.1.0. Signed-off-by: Mukul Joshi Reviewed-by: Alex Sierra Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c | 3 +++ drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c index ae08f8b3bfbc..4ead488261a6 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c @@ -308,6 +308,9 @@ static void gmc_v12_1_get_vm_pte(struct amdgpu_device *adev, 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 = { diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c index 24a698702da7..903064610c23 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c @@ -1305,6 +1305,11 @@ svm_range_get_pte_flags(struct kfd_node *node, struct amdgpu_vm *vm, 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; } -- 2.47.3