Message ID | 201010012112.o91LCtEk020866@imap1.linux-foundation.org (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
On Fri, Oct 1, 2010 at 5:12 PM, <akpm@linux-foundation.org> wrote: > From: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > --- > > arch/powerpc/Kconfig | 3 +++ > 1 file changed, 3 insertions(+) > > diff -puN arch/powerpc/Kconfig~powerpc-enable-arch_dma_addr_t_64bit-with-arch_phys_addr_t_64bit arch/powerpc/Kconfig > --- a/arch/powerpc/Kconfig~powerpc-enable-arch_dma_addr_t_64bit-with-arch_phys_addr_t_64bit > +++ a/arch/powerpc/Kconfig > @@ -16,6 +16,9 @@ config WORD_SIZE > config ARCH_PHYS_ADDR_T_64BIT > def_bool PPC64 || PHYS_64BIT > > +config ARCH_DMA_ADDR_T_64BIT > + def_bool ARCH_PHYS_ADDR_T_64BIT > + I seemed to have missed what this is about entirely. Is there some place I can look that describes what that is supposed to do? The PPC 4xx boards set PHYS_ADDR_T_64BIT because the MMU uses 36 bit addressing, but the CPU is only 32 bits. I want to make sure this DMA thing isn't going to cause problems. josh
On Fri, 2010-10-01 at 21:31 -0400, Josh Boyer wrote: > > +config ARCH_DMA_ADDR_T_64BIT > > + def_bool ARCH_PHYS_ADDR_T_64BIT > > + > > I seemed to have missed what this is about entirely. Is there some > place I can look that describes what that is supposed to do? The PPC > 4xx boards set PHYS_ADDR_T_64BIT because the MMU uses 36 bit > addressing, but the CPU is only 32 bits. I want to make sure this DMA > thing isn't going to cause problems. Yes, we need to test a bit. Our dma_addr_t has remained 32-bit so far because despite the fact that we've had routinely to deal with >32-bit physical addresses for MMIO, physical memory support has been constrained afaik to 32-bit. We might be better off keeping this as something individual platforms can select... Cheers, Ben.
On Sat, 02 Oct 2010 13:20:54 +1000 Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote: > On Fri, 2010-10-01 at 21:31 -0400, Josh Boyer wrote: > > > +config ARCH_DMA_ADDR_T_64BIT > > > + def_bool ARCH_PHYS_ADDR_T_64BIT > > > + > > > > I seemed to have missed what this is about entirely. Is there some > > place I can look that describes what that is supposed to do? The PPC This patchset unifies dma_addr_t typedef. > > 4xx boards set PHYS_ADDR_T_64BIT because the MMU uses 36 bit > > addressing, but the CPU is only 32 bits. I want to make sure this DMA > > thing isn't going to cause problems. this patchset changes nothing. Please see below. > Yes, we need to test a bit. Our dma_addr_t has remained 32-bit so far > because despite the fact that we've had routinely to deal with >32-bit > physical addresses for MMIO, physical memory support has been > constrained afaik to 32-bit. Really? The current dma_addr_t is: #if defined(__powerpc64__) || defined(CONFIG_PHYS_64BIT) typedef u64 dma_addr_t; #else typedef u32 dma_addr_t; #endif typedef u64 dma64_addr_t; I think that this patch doesn't change anything. Or I miss something? @@ -22,6 +22,9 @@ config WORD_SIZE config ARCH_PHYS_ADDR_T_64BIT def_bool PPC64 || PHYS_64BIT +config ARCH_DMA_ADDR_T_64BIT + def_bool ARCH_PHYS_ADDR_T_64BIT + config MMU bool default y
> Really? > > The current dma_addr_t is: > > #if defined(__powerpc64__) || defined(CONFIG_PHYS_64BIT) > typedef u64 dma_addr_t; > #else > typedef u32 dma_addr_t; > #endif > typedef u64 dma64_addr_t; -EBRAINFAI ... either I wasn't looking when we changed it or I just forgot :-) We -used-, I'm pretty sure, to have it always 32-bit :-) Anyways, doesn't matter. Patch looks good. We can always tweak the config option if we want to later. Cheers, Ben. > > I think that this patch doesn't change anything. Or I miss something? > > @@ -22,6 +22,9 @@ config WORD_SIZE > config ARCH_PHYS_ADDR_T_64BIT > def_bool PPC64 || PHYS_64BIT > > +config ARCH_DMA_ADDR_T_64BIT > + def_bool ARCH_PHYS_ADDR_T_64BIT > + > config MMU > bool > default y
diff -puN arch/powerpc/Kconfig~powerpc-enable-arch_dma_addr_t_64bit-with-arch_phys_addr_t_64bit arch/powerpc/Kconfig --- a/arch/powerpc/Kconfig~powerpc-enable-arch_dma_addr_t_64bit-with-arch_phys_addr_t_64bit +++ a/arch/powerpc/Kconfig @@ -16,6 +16,9 @@ config WORD_SIZE config ARCH_PHYS_ADDR_T_64BIT def_bool PPC64 || PHYS_64BIT +config ARCH_DMA_ADDR_T_64BIT + def_bool ARCH_PHYS_ADDR_T_64BIT + config MMU bool default y