On Thu, Aug 1, 2013 at 5:25 PM, Santosh Shilimkar <santosh.shilim...@ti.com> wrote: > Most of the kernel code assumes that max*pfn is maximum pfns because > the physical start of memory is expected to be PFN0. Since this > assumption is not true on ARM architectures, the meaning of max*pfn > is number of memory pages. This is done to keep drivers happy which > are making use of of these variable to calculate the dma bounce limit > using dma_mask. > > Now since we have a architecture override possibility for DMAable > maximum pfns, lets make meaning of max*pfns as maximum pnfs on ARM > as well. > > Signed-off-by: Santosh Shilimkar <santosh.shilim...@ti.com> > Signed-off-by: Russell King <rmk+ker...@arm.linux.org.uk> > --- > arch/arm/include/asm/dma-mapping.h | 8 ++++++++ > arch/arm/mm/init.c | 10 ++++------ > 2 files changed, 12 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/include/asm/dma-mapping.h > b/arch/arm/include/asm/dma-mapping.h > index 5b579b9..863cd84 100644 > --- a/arch/arm/include/asm/dma-mapping.h > +++ b/arch/arm/include/asm/dma-mapping.h > @@ -64,6 +64,7 @@ static inline dma_addr_t virt_to_dma(struct device *dev, > void *addr) > { > return (dma_addr_t)__virt_to_bus((unsigned long)(addr)); > } > + > #else > static inline dma_addr_t pfn_to_dma(struct device *dev, unsigned long pfn) > { > @@ -86,6 +87,13 @@ static inline dma_addr_t virt_to_dma(struct device *dev, > void *addr) > } > #endif > > +/* The ARM override for dma_max_pfn() */ > +static inline unsigned long dma_max_pfn(struct device *dev) > +{ > + return PHYS_PFN_OFFSET + dma_to_pfn(dev, *dev->dma_mask);
Do we need to handle dev == NULL case? Rob -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/