Skip to content
Snippets Groups Projects
cma.h 646 B
Newer Older
Sasha Levin's avatar
Sasha Levin committed
#ifndef __MM_CMA_H__
#define __MM_CMA_H__

Sasha Levin's avatar
Sasha Levin committed
struct cma {
	unsigned long   base_pfn;
	unsigned long   count;
	unsigned long   *bitmap;
	unsigned int order_per_bit; /* Order of pages represented by one bit */
	struct mutex    lock;
#ifdef CONFIG_CMA_DEBUGFS
	struct hlist_head mem_head;
	spinlock_t mem_head_lock;
	struct debugfs_u32_array dfs_bitmap;
#endif
	char name[CMA_MAX_NAME];
Sasha Levin's avatar
Sasha Levin committed
};

extern struct cma cma_areas[MAX_CMA_AREAS];
extern unsigned cma_area_count;

static inline unsigned long cma_bitmap_maxno(struct cma *cma)
Sasha Levin's avatar
Sasha Levin committed
{
	return cma->count >> cma->order_per_bit;
}

#endif