]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
28b24c1f SL |
2 | #ifndef __MM_CMA_H__ |
3 | #define __MM_CMA_H__ | |
4 | ||
a2b992c8 JK |
5 | #include <linux/debugfs.h> |
6 | ||
28b24c1f SL |
7 | struct cma { |
8 | unsigned long base_pfn; | |
9 | unsigned long count; | |
10 | unsigned long *bitmap; | |
11 | unsigned int order_per_bit; /* Order of pages represented by one bit */ | |
12 | struct mutex lock; | |
26b02a1f SL |
13 | #ifdef CONFIG_CMA_DEBUGFS |
14 | struct hlist_head mem_head; | |
15 | spinlock_t mem_head_lock; | |
a2b992c8 | 16 | struct debugfs_u32_array dfs_bitmap; |
26b02a1f | 17 | #endif |
f318dd08 | 18 | const char *name; |
28b24c1f SL |
19 | }; |
20 | ||
21 | extern struct cma cma_areas[MAX_CMA_AREAS]; | |
22 | extern unsigned cma_area_count; | |
23 | ||
f21838e0 | 24 | static inline unsigned long cma_bitmap_maxno(struct cma *cma) |
28b24c1f SL |
25 | { |
26 | return cma->count >> cma->order_per_bit; | |
27 | } | |
28 | ||
29 | #endif |