diff options
author | Santosh Shilimkar <santosh.shilimkar@ti.com> | 2014-04-24 17:30:07 +0200 |
---|---|---|
committer | Santosh Shilimkar <santosh.shilimkar@ti.com> | 2014-05-07 15:21:45 +0200 |
commit | 2161c2485d03520060f6094359b22f33913eefa2 (patch) | |
tree | ea6d4386a3172b0cb2be1d4e2ba720a5bfdf0063 /arch/arm/mm | |
parent | ARM: dma: implement set_arch_dma_coherent_ops() (diff) | |
download | linux-2161c2485d03520060f6094359b22f33913eefa2.tar.xz linux-2161c2485d03520060f6094359b22f33913eefa2.zip |
ARM: dma: use phys_addr_t in __dma_page_[cpu_to_dev/dev_to_cpu]
On a 32 bit ARM architecture with LPAE extension physical addresses
cannot fit into unsigned long variable.
So fix it by using phys_addr_t instead of unsigned long.
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Diffstat (limited to 'arch/arm/mm')
-rw-r--r-- | arch/arm/mm/dma-mapping.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index f62aa0677e5c..5260f43c3d03 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -885,7 +885,7 @@ static void dma_cache_maint_page(struct page *page, unsigned long offset, static void __dma_page_cpu_to_dev(struct page *page, unsigned long off, size_t size, enum dma_data_direction dir) { - unsigned long paddr; + phys_addr_t paddr; dma_cache_maint_page(page, off, size, dir, dmac_map_area); @@ -901,7 +901,7 @@ static void __dma_page_cpu_to_dev(struct page *page, unsigned long off, static void __dma_page_dev_to_cpu(struct page *page, unsigned long off, size_t size, enum dma_data_direction dir) { - unsigned long paddr = page_to_phys(page) + off; + phys_addr_t paddr = page_to_phys(page) + off; /* FIXME: non-speculating: not required */ /* don't bother invalidating if DMA to device */ |