mirror of
https://github.com/torvalds/linux.git
synced 2026-05-02 13:32:40 -04:00
drm/amdgpu: Always set PTE.B for device memory on GFX 12.1
On GFX 12.1, we need to set the atomics bit (PTE.B) always for device memory. 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>
This commit is contained in:
committed by
Alex Deucher
parent
80be8286d0
commit
2d70a10dd1
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user