RISC-V: Define pgprot_dmacoherent() for non-coherent devices
[ Upstream commit ca525d53 ] The pgprot_dmacoherent() is used when allocating memory for non-coherent devices and by default pgprot_dmacoherent() is same as pgprot_noncached() unless architecture overrides it. Currently, there is no pgprot_dmacoherent() definition for RISC-V hence non-coherent device memory is being mapped as IO thereby making CPU access to such memory slow. Define pgprot_dmacoherent() to be same as pgprot_writecombine() for RISC-V so that CPU access non-coherent device memory as NOCACHE which is better than accessing it as IO. Fixes: ff689fd2 ("riscv: add RISC-V Svpbmt extension support") Signed-off-by:Anup Patel <apatel@ventanamicro.com> Tested-by:
Han Gao <rabenda.cn@gmail.com> Tested-by:
Guo Ren (Alibaba DAMO Academy) <guoren@kernel.org> Link: https://lore.kernel.org/r/20250820152316.1012757-1-apatel@ventanamicro.com Signed-off-by:
Paul Walmsley <pjw@kernel.org> Signed-off-by:
Sasha Levin <sashal@kernel.org>
Loading
Please sign in to comment