xref: /openbmc/linux/mm/cma.h (revision 1c2dd16a)
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 
16 extern struct cma cma_areas[MAX_CMA_AREAS];
17 extern unsigned cma_area_count;
18 
19 static inline unsigned long cma_bitmap_maxno(struct cma *cma)
20 {
21 	return cma->count >> cma->order_per_bit;
22 }
23 
24 #endif
25