Lines Matching refs:mag
650 struct iova_magazine *mag;
652 mag = kmalloc(sizeof(*mag), flags);
653 if (mag)
654 mag->size = 0;
656 return mag;
659 static void iova_magazine_free(struct iova_magazine *mag)
661 kfree(mag);
665 iova_magazine_free_pfns(struct iova_magazine *mag, struct iova_domain *iovad)
672 for (i = 0 ; i < mag->size; ++i) {
673 struct iova *iova = private_find_iova(iovad, mag->pfns[i]);
684 mag->size = 0;
687 static bool iova_magazine_full(struct iova_magazine *mag)
689 return mag->size == IOVA_MAG_SIZE;
692 static bool iova_magazine_empty(struct iova_magazine *mag)
694 return mag->size == 0;
697 static unsigned long iova_magazine_pop(struct iova_magazine *mag,
704 for (i = mag->size - 1; mag->pfns[i] > limit_pfn; i--)
709 pfn = mag->pfns[i];
710 mag->pfns[i] = mag->pfns[--mag->size];
715 static void iova_magazine_push(struct iova_magazine *mag, unsigned long pfn)
717 mag->pfns[mag->size++] = pfn;