blob: bd5a7a55cb452bbffaea02ad901292bb8e8857a9
1 | #ifndef __MM_CMA_H__ |
2 | #define __MM_CMA_H__ |
3 | |
4 | struct cma { |
5 | unsigned long base_pfn; |
6 | unsigned long count; |
7 | unsigned long *bitmap; |
8 | unsigned int order_per_bit; /* Order of pages represented by one bit */ |
9 | struct mutex lock; |
10 | #ifdef CONFIG_CMA_DEBUGFS |
11 | struct hlist_head mem_head; |
12 | spinlock_t mem_head_lock; |
13 | #endif |
14 | |
15 | #ifdef CONFIG_AMLOGIC_CMA /* clear kernel space mapping after driver it */ |
16 | bool clear_map; |
17 | #endif |
18 | |
19 | }; |
20 | |
21 | extern struct cma cma_areas[MAX_CMA_AREAS]; |
22 | extern unsigned cma_area_count; |
23 | |
24 | static inline unsigned long cma_bitmap_maxno(struct cma *cma) |
25 | { |
26 | return cma->count >> cma->order_per_bit; |
27 | } |
28 | |
29 | #endif |
30 |