aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/dma-contiguous.h
diff options
context:
space:
mode:
authorVitaly Andrianov <vitalya@ti.com>2012-12-05 09:29:25 -0500
committerMarek Szyprowski <m.szyprowski@samsung.com>2012-12-11 09:28:09 +0100
commit4009793e15d44469da1547a46ab129cc08ffa503 (patch)
tree7d5e89b42669f647278d21284517f3256d051259 /include/linux/dma-contiguous.h
parentmm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls (diff)
downloadwireguard-linux-4009793e15d44469da1547a46ab129cc08ffa503.tar.xz
wireguard-linux-4009793e15d44469da1547a46ab129cc08ffa503.zip
drivers: cma: represent physical addresses as phys_addr_t
This commit changes the CMA early initialization code to use phys_addr_t for representing physical addresses instead of unsigned long. Without this change, among other things, dma_declare_contiguous() simply discards any memory regions whose address is not representable as unsigned long. This is a problem on 32-bit PAE machines where unsigned long is 32-bit but physical address space is larger. Signed-off-by: Vitaly Andrianov <vitalya@ti.com> Signed-off-by: Cyril Chemparathy <cyril@ti.com> Acked-by: Michal Nazarewicz <mina86@mina86.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Diffstat (limited to 'include/linux/dma-contiguous.h')
-rw-r--r--include/linux/dma-contiguous.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/dma-contiguous.h b/include/linux/dma-contiguous.h
index 2f303e4b7ed3..01b5c84be828 100644
--- a/include/linux/dma-contiguous.h
+++ b/include/linux/dma-contiguous.h
@@ -68,7 +68,7 @@ struct device;
extern struct cma *dma_contiguous_default_area;
void dma_contiguous_reserve(phys_addr_t addr_limit);
-int dma_declare_contiguous(struct device *dev, unsigned long size,
+int dma_declare_contiguous(struct device *dev, phys_addr_t size,
phys_addr_t base, phys_addr_t limit);
struct page *dma_alloc_from_contiguous(struct device *dev, int count,
@@ -83,7 +83,7 @@ bool dma_release_from_contiguous(struct device *dev, struct page *pages,
static inline void dma_contiguous_reserve(phys_addr_t limit) { }
static inline
-int dma_declare_contiguous(struct device *dev, unsigned long size,
+int dma_declare_contiguous(struct device *dev, phys_addr_t size,
phys_addr_t base, phys_addr_t limit)
{
return -ENOSYS;