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()
364 unsigned long mask, offset, pfn, start = 0; in cma_alloc() local
400 pfn = cma->base_pfn + (bitmap_no << cma->order_per_bit); in cma_alloc()
402 ret = alloc_contig_range(pfn, pfn + count, MIGRATE_CMA); in cma_alloc()
405 page = pfn_to_page(pfn); in cma_alloc()
409 cma_clear_bitmap(cma, pfn, count); in cma_alloc()
414 __func__, pfn_to_page(pfn)); in cma_alloc()
419 trace_cma_alloc(page ? pfn : -1UL, page, count, align); in cma_alloc()
437 unsigned long pfn; in cma_release() local
444 pfn = page_to_pfn(pages); in cma_release()
446 if (pfn < cma->base_pfn || pfn >= cma->base_pfn + cma->count) in cma_release()
449 VM_BUG_ON(pfn + count > cma->base_pfn + cma->count); in cma_release()
451 free_contig_range(pfn, count); in cma_release()
452 cma_clear_bitmap(cma, pfn, count); in cma_release()
453 trace_cma_release(pfn, pages, count); in cma_release()