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