Lines Matching refs:pfn

93 static void cma_clear_bitmap(struct cma *cma, unsigned long pfn,  in cma_clear_bitmap()  argument
98 bitmap_no = (pfn - cma->base_pfn) >> cma->order_per_bit; in cma_clear_bitmap()
108 unsigned long base_pfn = cma->base_pfn, pfn; in cma_activate_area() local
124 for (pfn = base_pfn + 1; pfn < base_pfn + cma->count; pfn++) { in cma_activate_area()
125 WARN_ON_ONCE(!pfn_valid(pfn)); in cma_activate_area()
126 if (page_zone(pfn_to_page(pfn)) != zone) in cma_activate_area()
130 for (pfn = base_pfn; pfn < base_pfn + cma->count; in cma_activate_area()
131 pfn += pageblock_nr_pages) in cma_activate_area()
132 init_cma_reserved_pageblock(pfn_to_page(pfn)); in cma_activate_area()
148 for (pfn = base_pfn; pfn < base_pfn + cma->count; pfn++) in cma_activate_area()
149 free_reserved_page(pfn_to_page(pfn)); in cma_activate_area()
459 unsigned long pfn = -1; in cma_alloc() local
532 pfn = cma->base_pfn + (bitmap_no << cma->order_per_bit); in cma_alloc()
534 page = pfn_to_page(pfn); in cma_alloc()
539 ret = alloc_contig_range(pfn, pfn + count, MIGRATE_CMA, gfp_mask, &info); in cma_alloc()
553 page = pfn_to_page(pfn); in cma_alloc()
557 cma_clear_bitmap(cma, pfn, count); in cma_alloc()
562 __func__, pfn_to_page(pfn)); in cma_alloc()
564 trace_cma_alloc_busy_retry(cma->name, pfn, pfn_to_page(pfn), in cma_alloc()
579 trace_cma_alloc_finish(cma->name, pfn, page, count, align); in cma_alloc()
626 unsigned long pfn; in cma_release() local
633 pfn = page_to_pfn(pages); in cma_release()
635 if (pfn < cma->base_pfn || pfn >= cma->base_pfn + cma->count) in cma_release()
638 VM_BUG_ON(pfn + count > cma->base_pfn + cma->count); in cma_release()
640 free_contig_range(pfn, count); in cma_release()
641 cma_clear_bitmap(cma, pfn, count); in cma_release()
642 trace_cma_release(cma->name, pfn, pages, count); in cma_release()