diff options
Diffstat (limited to 'include/linux/highmem.h')
-rw-r--r-- | include/linux/highmem.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 3a93f73..ee879c7 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -175,8 +175,30 @@ static inline struct page * alloc_zeroed_user_highpage_movable(struct vm_area_struct *vma, unsigned long vaddr) { +#ifndef CONFIG_DMA_CMA return __alloc_zeroed_user_highpage(__GFP_MOVABLE, vma, vaddr); +#else + return __alloc_zeroed_user_highpage(__GFP_MOVABLE|__GFP_CMA, vma, + vaddr); +#endif +} + +#ifdef CONFIG_DMA_CMA +static inline struct page * +alloc_zeroed_user_highpage(struct vm_area_struct *vma, + unsigned long vaddr) +{ + return __alloc_zeroed_user_highpage(0, vma, vaddr); +} + +static inline struct page * +alloc_zeroed_user_highpage_movable_cma(struct vm_area_struct *vma, + unsigned long vaddr) +{ + return __alloc_zeroed_user_highpage(__GFP_MOVABLE|__GFP_CMA, vma, + vaddr); } +#endif static inline void clear_highpage(struct page *page) { |