xref: /openbmc/linux/mm/cma.h (revision 1b69c6d0ae90b7f1a4f61d5c8209d5cb7a55f849)
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