Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0 */ 2 : : #ifndef __MM_CMA_H__ 3 : : #define __MM_CMA_H__ 4 : : 5 : : struct cma { 6 : : unsigned long base_pfn; 7 : : unsigned long count; 8 : : unsigned long *bitmap; 9 : : unsigned int order_per_bit; /* Order of pages represented by one bit */ 10 : : struct mutex lock; 11 : : #ifdef CONFIG_CMA_DEBUGFS 12 : : struct hlist_head mem_head; 13 : : spinlock_t mem_head_lock; 14 : : #endif 15 : : const char *name; 16 : : }; 17 : : 18 : : extern struct cma cma_areas[MAX_CMA_AREAS]; 19 : : extern unsigned cma_area_count; 20 : : 21 : : static inline unsigned long cma_bitmap_maxno(struct cma *cma) 22 : : { 23 : 3 : return cma->count >> cma->order_per_bit; 24 : : } 25 : : 26 : : #endif