Lines Matching refs:deferred_flush
392 static struct deferred_flush_tables *deferred_flush; variable
2807 deferred_flush = kzalloc(g_num_of_iommus * in init_dmars()
2809 if (!deferred_flush) { in init_dmars()
2924 kfree(deferred_flush); in init_dmars()
3132 if (!deferred_flush[i].next) in flush_unmaps()
3139 for (j = 0; j < deferred_flush[i].next; j++) { in flush_unmaps()
3141 struct iova *iova = deferred_flush[i].iova[j]; in flush_unmaps()
3142 struct dmar_domain *domain = deferred_flush[i].domain[j]; in flush_unmaps()
3148 !deferred_flush[i].freelist[j], 0); in flush_unmaps()
3151 iommu_flush_dev_iotlb(deferred_flush[i].domain[j], in flush_unmaps()
3154 __free_iova(&deferred_flush[i].domain[j]->iovad, iova); in flush_unmaps()
3155 if (deferred_flush[i].freelist[j]) in flush_unmaps()
3156 dma_free_pagelist(deferred_flush[i].freelist[j]); in flush_unmaps()
3158 deferred_flush[i].next = 0; in flush_unmaps()
3186 next = deferred_flush[iommu_id].next; in add_unmap()
3187 deferred_flush[iommu_id].domain[next] = dom; in add_unmap()
3188 deferred_flush[iommu_id].iova[next] = iova; in add_unmap()
3189 deferred_flush[iommu_id].freelist[next] = freelist; in add_unmap()
3190 deferred_flush[iommu_id].next++; in add_unmap()