Lines Matching refs:pfn
84 static void cma_clear_bitmap(struct cma *cma, unsigned long pfn, in cma_clear_bitmap() argument
89 bitmap_no = (pfn - cma->base_pfn) >> cma->order_per_bit; in cma_clear_bitmap()
100 unsigned long base_pfn = cma->base_pfn, pfn = base_pfn; in cma_activate_area() local
109 WARN_ON_ONCE(!pfn_valid(pfn)); in cma_activate_area()
110 zone = page_zone(pfn_to_page(pfn)); in cma_activate_area()
115 base_pfn = pfn; in cma_activate_area()
116 for (j = pageblock_nr_pages; j; --j, pfn++) { in cma_activate_area()
117 WARN_ON_ONCE(!pfn_valid(pfn)); in cma_activate_area()
124 if (page_zone(pfn_to_page(pfn)) != zone) in cma_activate_area()
367 unsigned long pfn = -1; in cma_alloc() local
404 pfn = cma->base_pfn + (bitmap_no << cma->order_per_bit); in cma_alloc()
406 ret = alloc_contig_range(pfn, pfn + count, MIGRATE_CMA); in cma_alloc()
409 page = pfn_to_page(pfn); in cma_alloc()
413 cma_clear_bitmap(cma, pfn, count); in cma_alloc()
418 __func__, pfn_to_page(pfn)); in cma_alloc()
423 trace_cma_alloc(pfn, page, count, align); in cma_alloc()
441 unsigned long pfn; in cma_release() local
448 pfn = page_to_pfn(pages); in cma_release()
450 if (pfn < cma->base_pfn || pfn >= cma->base_pfn + cma->count) in cma_release()
453 VM_BUG_ON(pfn + count > cma->base_pfn + cma->count); in cma_release()
455 free_contig_range(pfn, count); in cma_release()
456 cma_clear_bitmap(cma, pfn, count); in cma_release()
457 trace_cma_release(pfn, pages, count); in cma_release()