Lines Matching refs:mag
819 static void iova_magazine_free(struct iova_magazine *mag) in iova_magazine_free() argument
821 kfree(mag); in iova_magazine_free()
825 iova_magazine_free_pfns(struct iova_magazine *mag, struct iova_domain *iovad) in iova_magazine_free_pfns() argument
830 if (!mag) in iova_magazine_free_pfns()
835 for (i = 0 ; i < mag->size; ++i) { in iova_magazine_free_pfns()
836 struct iova *iova = private_find_iova(iovad, mag->pfns[i]); in iova_magazine_free_pfns()
847 mag->size = 0; in iova_magazine_free_pfns()
850 static bool iova_magazine_full(struct iova_magazine *mag) in iova_magazine_full() argument
852 return (mag && mag->size == IOVA_MAG_SIZE); in iova_magazine_full()
855 static bool iova_magazine_empty(struct iova_magazine *mag) in iova_magazine_empty() argument
857 return (!mag || mag->size == 0); in iova_magazine_empty()
860 static unsigned long iova_magazine_pop(struct iova_magazine *mag, in iova_magazine_pop() argument
866 BUG_ON(iova_magazine_empty(mag)); in iova_magazine_pop()
869 for (i = mag->size - 1; mag->pfns[i] > limit_pfn; i--) in iova_magazine_pop()
874 pfn = mag->pfns[i]; in iova_magazine_pop()
875 mag->pfns[i] = mag->pfns[--mag->size]; in iova_magazine_pop()
880 static void iova_magazine_push(struct iova_magazine *mag, unsigned long pfn) in iova_magazine_push() argument
882 BUG_ON(iova_magazine_full(mag)); in iova_magazine_push()
884 mag->pfns[mag->size++] = pfn; in iova_magazine_push()