cma.h 573 B

123456789101112131415161718192021222324252627
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __MM_CMA_H__
  3. #define __MM_CMA_H__
  4. struct 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. const char *name;
  15. };
  16. extern struct cma cma_areas[MAX_CMA_AREAS];
  17. extern unsigned cma_area_count;
  18. static inline unsigned long cma_bitmap_maxno(struct cma *cma)
  19. {
  20. return cma->count >> cma->order_per_bit;
  21. }
  22. #endif