diff options
author | Marek Szyprowski <m.szyprowski@samsung.com> | 2012-07-30 09:11:33 +0200 |
---|---|---|
committer | Hiroshi Doyu <hdoyu@nvidia.com> | 2012-09-07 11:46:10 +0300 |
commit | 55557ba47f5ab921551ef26d310cb0090bc60f81 (patch) | |
tree | 860bef5b5ffcc66530df90fd3192382da0747a28 /mm | |
parent | f6fad8b2e55060e4d1fb4874d17147bd36e848c0 (diff) |
ARM: dma-mapping: remove custom consistent dma region
This patch changes dma-mapping subsystem to use generic vmalloc areas
for all consistent dma allocations. This increases the total size limit
of the consistent allocations and removes platform hacks and a lot of
duplicated code.
Atomic allocations are served from special pool preallocated on boot,
because vmalloc areas cannot be reliably created in atomic context.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Minchan Kim <minchan@kernel.org>
Conflicts:
arch/arm/mm/dma-mapping.c
Change-Id: I376c99671f8dc3d078d1951022bacec4e46d5865
Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/vmalloc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 389e77ca8081..4284fb2a0557 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -1403,7 +1403,15 @@ struct vm_struct *get_vm_area_caller(unsigned long size, unsigned long flags, -1, GFP_KERNEL, caller); } -static struct vm_struct *find_vm_area(const void *addr) +/** + * find_vm_area - find a continuous kernel virtual area + * @addr: base address + * + * Search for the kernel VM area starting at @addr, and return it. + * It is up to the caller to do all required locking to keep the returned + * pointer valid. + */ +struct vm_struct *find_vm_area(const void *addr) { struct vmap_area *va; |