Lines Matching defs:cmr
68 const struct cma_memrange *cmr,
71 return (cmr->base_pfn & ((1UL << align_order) - 1))
81 static void cma_clear_bitmap(struct cma *cma, const struct cma_memrange *cmr,
87 bitmap_no = (pfn - cmr->base_pfn) >> cma->order_per_bit;
91 bitmap_clear(cmr->bitmap, bitmap_no, bitmap_count);
105 struct cma_memrange *cmr;
119 cmr = &cma->ranges[r];
120 base_pfn = cmr->base_pfn;
128 if (pfn_range_intersects_zones(cma->nid, base_pfn, cmr->count)) {
143 struct cma_memrange *cmr;
147 cmr = &cma->ranges[allocrange];
148 early_pfn[allocrange] = cmr->early_pfn;
149 cmr->bitmap = bitmap_zalloc(cma_bitmap_maxno(cma, cmr),
151 if (!cmr->bitmap)
159 cmr = &cma->ranges[r];
160 if (early_pfn[r] != cmr->base_pfn) {
161 count = early_pfn[r] - cmr->base_pfn;
163 bitmap_set(cmr->bitmap, 0, bitmap_count);
166 for (pfn = early_pfn[r]; pfn < cmr->base_pfn + cmr->count;
190 cmr = &cma->ranges[r];
191 end_pfn = cmr->base_pfn + cmr->count;
758 struct cma_memrange *cmr;
763 cmr = &cma->ranges[r];
765 nbits = cma_bitmap_maxno(cma, cmr);
768 for_each_clear_bitrange(start, end, cmr->bitmap, nbits) {
779 static int cma_range_alloc(struct cma *cma, struct cma_memrange *cmr,
791 offset = cma_bitmap_aligned_offset(cma, cmr, align);
792 bitmap_maxno = cma_bitmap_maxno(cma, cmr);
808 bitmap_no = bitmap_find_next_zero_area_off(cmr->bitmap,
815 bitmap_set(cmr->bitmap, bitmap_no, bitmap_count);
824 pfn = cmr->base_pfn + (bitmap_no << cma->order_per_bit);
833 cma_clear_bitmap(cma, cmr, pfn, count);
941 struct cma_memrange *cmr;
951 cmr = &cma->ranges[r];
952 end = cmr->base_pfn + cmr->count;
953 if (pfn >= cmr->base_pfn && pfn < end) {
979 struct cma_memrange *cmr;
992 cmr = &cma->ranges[r];
993 if (pfn >= cmr->base_pfn &&
994 pfn < (cmr->base_pfn + cmr->count)) {
995 VM_BUG_ON(end_pfn > cmr->base_pfn + cmr->count);
1004 cma_clear_bitmap(cma, cmr, pfn, count);
1036 struct cma_memrange *cmr;
1040 cmr = &cma->ranges[r];
1042 rstart = PFN_PHYS(cmr->base_pfn);
1043 rend = PFN_PHYS(cmr->base_pfn + cmr->count);
1079 struct cma_memrange *cmr;
1103 cmr = &cma->ranges[r];
1104 available = cmr->count - (cmr->early_pfn - cmr->base_pfn);
1106 ret = phys_to_virt(PFN_PHYS(cmr->early_pfn));
1107 cmr->early_pfn += size;