Lines Matching refs:deferred_flush
469 static struct deferred_flush_tables *deferred_flush; variable
3113 deferred_flush = kzalloc(g_num_of_iommus * in init_dmars()
3115 if (!deferred_flush) { in init_dmars()
3294 kfree(deferred_flush); in init_dmars()
3512 if (!deferred_flush[i].next) in flush_unmaps()
3519 for (j = 0; j < deferred_flush[i].next; j++) { in flush_unmaps()
3521 struct iova *iova = deferred_flush[i].iova[j]; in flush_unmaps()
3522 struct dmar_domain *domain = deferred_flush[i].domain[j]; in flush_unmaps()
3528 !deferred_flush[i].freelist[j], 0); in flush_unmaps()
3531 iommu_flush_dev_iotlb(deferred_flush[i].domain[j], in flush_unmaps()
3534 __free_iova(&deferred_flush[i].domain[j]->iovad, iova); in flush_unmaps()
3535 if (deferred_flush[i].freelist[j]) in flush_unmaps()
3536 dma_free_pagelist(deferred_flush[i].freelist[j]); in flush_unmaps()
3538 deferred_flush[i].next = 0; in flush_unmaps()
3566 next = deferred_flush[iommu_id].next; in add_unmap()
3567 deferred_flush[iommu_id].domain[next] = dom; in add_unmap()
3568 deferred_flush[iommu_id].iova[next] = iova; in add_unmap()
3569 deferred_flush[iommu_id].freelist[next] = freelist; in add_unmap()
3570 deferred_flush[iommu_id].next++; in add_unmap()