diff options
| author | Mukul Joshi <mukul.joshi@amd.com> | 2025-02-26 15:45:46 -0500 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2025-12-08 14:13:01 -0500 |
| commit | 4da4990337b34be49b95d99524c99910f4f0577f (patch) | |
| tree | a971fdb2be53361eeae10ae234dc7cf3ba923e18 /drivers/gpu/drm/amd | |
| parent | e08a675f940b2ec546236754718cd5f2a0054317 (diff) | |
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 <mukul.joshi@amd.com>
Reviewed-by: Alex Sierra <alex.sierra@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 5 |
2 files changed, 8 insertions, 0 deletions
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; } |
