diff options
author | Santosh Shilimkar <santosh.shilimkar@ti.com> | 2014-04-24 11:30:07 -0400 |
---|---|---|
committer | Santosh Shilimkar <santosh.shilimkar@ti.com> | 2014-05-07 09:21:45 -0400 |
commit | 2161c2485d03520060f6094359b22f33913eefa2 (patch) | |
tree | ea6d4386a3172b0cb2be1d4e2ba720a5bfdf0063 /arch/arm/mm | |
parent | 812b99e4b024d6f83e9281ec1a0bd4bf63dad90f (diff) |
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, | |||
885 | static void __dma_page_cpu_to_dev(struct page *page, unsigned long off, | 885 | static void __dma_page_cpu_to_dev(struct page *page, unsigned long off, |
886 | size_t size, enum dma_data_direction dir) | 886 | size_t size, enum dma_data_direction dir) |
887 | { | 887 | { |
888 | unsigned long paddr; | 888 | phys_addr_t paddr; |
889 | 889 | ||
890 | dma_cache_maint_page(page, off, size, dir, dmac_map_area); | 890 | dma_cache_maint_page(page, off, size, dir, dmac_map_area); |
891 | 891 | ||
@@ -901,7 +901,7 @@ static void __dma_page_cpu_to_dev(struct page *page, unsigned long off, | |||
901 | static void __dma_page_dev_to_cpu(struct page *page, unsigned long off, | 901 | static void __dma_page_dev_to_cpu(struct page *page, unsigned long off, |
902 | size_t size, enum dma_data_direction dir) | 902 | size_t size, enum dma_data_direction dir) |
903 | { | 903 | { |
904 | unsigned long paddr = page_to_phys(page) + off; | 904 | phys_addr_t paddr = page_to_phys(page) + off; |
905 | 905 | ||
906 | /* FIXME: non-speculating: not required */ | 906 | /* FIXME: non-speculating: not required */ |
907 | /* don't bother invalidating if DMA to device */ | 907 | /* don't bother invalidating if DMA to device */ |