[PATCH] drm/amdgpu: Use uncached ioremap() for LoongArch
Huacai Chen
chenhuacai at loongson.cn
Sun Mar 5 05:21:37 UTC 2023
LoongArch maintains cache coherency in hardware, but its WUC attribute
(Weak-ordered UnCached, which is similar to WC) is out of the scope of
cache coherency machanism. This means WUC can only used for write-only
memory regions. So use uncached ioremap() for LoongArch in the amdgpu
driver.
Signed-off-by: Huacai Chen <chenhuacai at loongson.cn>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index c5ef7f7bdc15..c6888a58819a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1750,8 +1750,13 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
else
#endif
+#ifdef CONFIG_LOONGARCH
+ adev->mman.aper_base_kaddr = ioremap(adev->gmc.aper_base,
+ adev->gmc.visible_vram_size);
+#else
adev->mman.aper_base_kaddr = ioremap_wc(adev->gmc.aper_base,
adev->gmc.visible_vram_size);
+#endif
#endif
/*
--
2.39.1
More information about the amd-gfx
mailing list