Hi Padmarao, On Fri, Dec 11, 2020 at 3:10 PM Padmarao Begari <padmara...@gmail.com> wrote: > > Hi Bin, > > On Thu, Dec 10, 2020 at 4:11 PM Bin Meng <bmeng...@gmail.com> wrote: >> >> Hi Padmarao, >> >> On Thu, Dec 3, 2020 at 4:43 AM Padmarao Begari >> <padmarao.beg...@microchip.com> wrote: >> > >> > 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 <padmarao.beg...@microchip.com> >> > Reviewed-by: Anup Patel <anup.pa...@wdc.com> >> > --- >> > 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 <stddef.h> >> > >> > +#ifdef CONFIG_DMA_ADDR_T_64BIT >> > +typedef u64 dma_addr_t; >> > +#else >> > typedef u32 dma_addr_t; >> > +#endif >> >> Why is this patch needed for U-Boot? >> > > Initially this patch was created for the MACB driver dependency and now the > MACB driver is not dependent on CONFIG_DMA_ADDR_T_64BIT. > But We created this patch the same as the ARM 64-bit kconfig and the > 'CONFIG_DMA_ADDR_T_64BIT' is used when the MMC driver is configured with DMA. >
But in U-Boot there is no 64-bit address. The DMA address should be under 4G. Both MACB and MMC driver should work with the 32-bit DMA addresses, no? Regards, Bin