Lines Matching refs:pfn
87 static void cma_clear_bitmap(struct cma *cma, unsigned long pfn, in cma_clear_bitmap() argument
92 bitmap_no = (pfn - cma->base_pfn) >> cma->order_per_bit; in cma_clear_bitmap()
103 unsigned long base_pfn = cma->base_pfn, pfn = base_pfn; in cma_activate_area() local
112 WARN_ON_ONCE(!pfn_valid(pfn)); in cma_activate_area()
113 zone = page_zone(pfn_to_page(pfn)); in cma_activate_area()
118 base_pfn = pfn; in cma_activate_area()
119 for (j = pageblock_nr_pages; j; --j, pfn++) { in cma_activate_area()
120 WARN_ON_ONCE(!pfn_valid(pfn)); in cma_activate_area()
127 if (page_zone(pfn_to_page(pfn)) != zone) in cma_activate_area()
407 unsigned long pfn = -1; in cma_alloc() local
447 pfn = cma->base_pfn + (bitmap_no << cma->order_per_bit); in cma_alloc()
449 ret = alloc_contig_range(pfn, pfn + count, MIGRATE_CMA, in cma_alloc()
453 page = pfn_to_page(pfn); in cma_alloc()
457 cma_clear_bitmap(cma, pfn, count); in cma_alloc()
462 __func__, pfn_to_page(pfn)); in cma_alloc()
467 trace_cma_alloc(pfn, page, count, align); in cma_alloc()
491 unsigned long pfn; in cma_release() local
498 pfn = page_to_pfn(pages); in cma_release()
500 if (pfn < cma->base_pfn || pfn >= cma->base_pfn + cma->count) in cma_release()
503 VM_BUG_ON(pfn + count > cma->base_pfn + cma->count); in cma_release()
505 free_contig_range(pfn, count); in cma_release()
506 cma_clear_bitmap(cma, pfn, count); in cma_release()
507 trace_cma_release(pfn, pages, count); in cma_release()