Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
[linux-block.git] / mm / cma.h
CommitLineData
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
18e98e56
BS
7#define CMA_MAX_NAME 64
8
28b24c1f
SL
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;
26b02a1f
SL
15#ifdef CONFIG_CMA_DEBUGFS
16 struct hlist_head mem_head;
17 spinlock_t mem_head_lock;
a2b992c8 18 struct debugfs_u32_array dfs_bitmap;
26b02a1f 19#endif
18e98e56 20 char name[CMA_MAX_NAME];
28b24c1f
SL
21};
22
23extern struct cma cma_areas[MAX_CMA_AREAS];
24extern unsigned cma_area_count;
25
f21838e0 26static inline unsigned long cma_bitmap_maxno(struct cma *cma)
28b24c1f
SL
27{
28 return cma->count >> cma->order_per_bit;
29}
30
31#endif