Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] RISC-V: Define pgprot_dmacoherent() for non-coherent devices
@ 2025-08-20 15:23 Anup Patel
  2025-10-12  6:07 ` Guo Ren
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Anup Patel @ 2025-08-20 15:23 UTC (permalink / raw)
  To: Sunil V L, Rafael J . Wysocki, Palmer Dabbelt, Paul Walmsley
  Cc: Alexandre Ghiti, Atish Patra, Andrew Jones, Anup Patel,
	linux-riscv, linux-kernel, Anup Patel

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: ff689fd21cb1 ("riscv: add RISC-V Svpbmt extension support")
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
---
 arch/riscv/include/asm/pgtable.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index 91697fbf1f90..00d8bdaf1e8d 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -653,6 +653,8 @@ static inline pgprot_t pgprot_writecombine(pgprot_t _prot)
 	return __pgprot(prot);
 }
 
+#define pgprot_dmacoherent pgprot_writecombine
+
 /*
  * Both Svade and Svadu control the hardware behavior when the PTE A/D bits need to be set. By
  * default the M-mode firmware enables the hardware updating scheme when only Svadu is present in
-- 
2.43.0


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-05-09 11:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-20 15:23 [PATCH] RISC-V: Define pgprot_dmacoherent() for non-coherent devices Anup Patel
2025-10-12  6:07 ` Guo Ren
2025-10-12  6:59   ` Guo Ren
2025-10-12 10:00 ` Han Gao (Revy)
2025-10-18 16:01 ` patchwork-bot+linux-riscv
2026-05-09 11:56 ` Vadim Akimov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox