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