Re: [PATCH v7 1/7] riscv: Add DMA 64-bit address support

2021-01-04 Thread Rick Chen
> From: Padmarao Begari [mailto:padmarao.beg...@microchip.com]
> Sent: Tuesday, December 22, 2020 9:12 PM
> To: u-boot@lists.denx.de; bmeng...@gmail.com; Rick Jian-Zhi Chen(陳建志); 
> anup.pa...@wdc.com; lukas.a...@aisec.fraunhofer.de; joe.hershber...@ni.com; 
> lu...@denx.de; atish.pa...@wdc.com
> Cc: cyril.j...@microchip.com; lewis.ha...@microchip.com; 
> ivan.grif...@emdalo.com; daire.mcnam...@emdalo.com; 
> conor.doo...@microchip.com; Padmarao Begari
> Subject: [PATCH v7 1/7] riscv: Add DMA 64-bit address support
>
> dma_addr_t holds any valid DMA address. If the DMA API only uses 32/64-bit
> addresses, dma_addr_t need only be 32/64 bits wide.
>
> Signed-off-by: Padmarao Begari 
> Reviewed-by: Anup Patel 
> Reviewed-by: Bin Meng 
> ---
>  arch/riscv/Kconfig | 4 
>  arch/riscv/include/asm/types.h | 4 
>  2 files changed, 8 insertions(+)
>

Reviewed-by: Rick Chen 


[PATCH v7 1/7] riscv: Add DMA 64-bit address support

2020-12-22 Thread Padmarao Begari
dma_addr_t holds any valid DMA address. If the DMA API only uses 32/64-bit
addresses, dma_addr_t need only be 32/64 bits wide.

Signed-off-by: Padmarao Begari 
Reviewed-by: Anup Patel 
Reviewed-by: Bin Meng 
---
 arch/riscv/Kconfig | 4 
 arch/riscv/include/asm/types.h | 4 
 2 files changed, 8 insertions(+)

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 30b05408b1..55eaee2da6 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -152,6 +152,10 @@ config 32BIT
 config 64BIT
bool
 
+config DMA_ADDR_T_64BIT
+   bool
+   default y if 64BIT
+
 config SIFIVE_CLINT
bool
depends on RISCV_MMODE || SPL_RISCV_MMODE
diff --git a/arch/riscv/include/asm/types.h b/arch/riscv/include/asm/types.h
index 403cf9a48f..b800b2d221 100644
--- a/arch/riscv/include/asm/types.h
+++ b/arch/riscv/include/asm/types.h
@@ -29,7 +29,11 @@ typedef unsigned short umode_t;
 
 #include 
 
+#ifdef CONFIG_DMA_ADDR_T_64BIT
+typedef u64 dma_addr_t;
+#else
 typedef u32 dma_addr_t;
+#endif
 
 typedef unsigned long phys_addr_t;
 typedef unsigned long phys_size_t;
-- 
2.17.1