Lines Matching refs:mag
795 static void iova_magazine_free(struct iova_magazine *mag)
797 kfree(mag);
801 iova_magazine_free_pfns(struct iova_magazine *mag, struct iova_domain *iovad)
806 if (!mag)
811 for (i = 0 ; i < mag->size; ++i) {
812 struct iova *iova = private_find_iova(iovad, mag->pfns[i]);
822 mag->size = 0;
825 static bool iova_magazine_full(struct iova_magazine *mag)
827 return (mag && mag->size == IOVA_MAG_SIZE);
830 static bool iova_magazine_empty(struct iova_magazine *mag)
832 return (!mag || mag->size == 0);
835 static unsigned long iova_magazine_pop(struct iova_magazine *mag,
841 BUG_ON(iova_magazine_empty(mag));
844 for (i = mag->size - 1; mag->pfns[i] > limit_pfn; i--)
849 pfn = mag->pfns[i];
850 mag->pfns[i] = mag->pfns[--mag->size];
855 static void iova_magazine_push(struct iova_magazine *mag, unsigned long pfn)
857 BUG_ON(iova_magazine_full(mag));
859 mag->pfns[mag->size++] = pfn;