diff options
| author | Vitaly Andrianov <vitalya@ti.com> | 2012-12-05 09:29:25 -0500 |
|---|---|---|
| committer | Marek Szyprowski <m.szyprowski@samsung.com> | 2012-12-11 03:28:09 -0500 |
| commit | 4009793e15d44469da1547a46ab129cc08ffa503 (patch) | |
| tree | 7d5e89b42669f647278d21284517f3256d051259 /include/linux | |
| parent | 387870f2d6d679746020fa8e25ef786ff338dc98 (diff) | |
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')
| -rw-r--r-- | include/linux/dma-contiguous.h | 4 |
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; | |||
| 68 | extern struct cma *dma_contiguous_default_area; | 68 | extern struct cma *dma_contiguous_default_area; |
| 69 | 69 | ||
| 70 | void dma_contiguous_reserve(phys_addr_t addr_limit); | 70 | void dma_contiguous_reserve(phys_addr_t addr_limit); |
| 71 | int dma_declare_contiguous(struct device *dev, unsigned long size, | 71 | int dma_declare_contiguous(struct device *dev, phys_addr_t size, |
| 72 | phys_addr_t base, phys_addr_t limit); | 72 | phys_addr_t base, phys_addr_t limit); |
| 73 | 73 | ||
| 74 | struct page *dma_alloc_from_contiguous(struct device *dev, int count, | 74 | 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, | |||
| 83 | static inline void dma_contiguous_reserve(phys_addr_t limit) { } | 83 | static inline void dma_contiguous_reserve(phys_addr_t limit) { } |
| 84 | 84 | ||
| 85 | static inline | 85 | static inline |
| 86 | int dma_declare_contiguous(struct device *dev, unsigned long size, | 86 | int dma_declare_contiguous(struct device *dev, phys_addr_t size, |
| 87 | phys_addr_t base, phys_addr_t limit) | 87 | phys_addr_t base, phys_addr_t limit) |
| 88 | { | 88 | { |
| 89 | return -ENOSYS; | 89 | return -ENOSYS; |
