Home
last modified time | relevance | path

Searched refs:iotlb_gather (Results 1 – 6 of 6) sorted by relevance

/linux/drivers/iommu/generic_pt/
H A Diommu_pt.h43 static void gather_range_pages(struct iommu_iotlb_gather *iotlb_gather, in gather_range_pages() argument
62 if (!iommu_iotlb_gather_queued(iotlb_gather)) { in gather_range_pages()
64 iommu_iotlb_gather_is_disjoint(iotlb_gather, iova, len)) { in gather_range_pages()
65 iommu_iotlb_sync(&iommu_table->domain, iotlb_gather); in gather_range_pages()
72 iommu_iotlb_gather_add_range(iotlb_gather, iova, len); in gather_range_pages()
75 iommu_pages_list_splice(free_list, &iotlb_gather->freelist); in gather_range_pages()
475 struct iommu_iotlb_gather *iotlb_gather; member
488 struct iommu_iotlb_gather *iotlb_gather, in clear_contig() argument
520 iotlb_gather, iommu_table, range.va, in clear_contig()
569 ret = clear_contig(&pts, map->iotlb_gather, step, in __map_range_leaf()
[all …]
/linux/include/linux/
H A Diommu.h767 struct iommu_iotlb_gather *iotlb_gather);
773 struct iommu_iotlb_gather *iotlb_gather);
928 struct iommu_iotlb_gather *iotlb_gather);
984 struct iommu_iotlb_gather *iotlb_gather) in iommu_iotlb_sync() argument
987 likely(iotlb_gather->start < iotlb_gather->end)) in iommu_iotlb_sync()
988 domain->ops->iotlb_sync(domain, iotlb_gather); in iommu_iotlb_sync()
990 iommu_iotlb_gather_init(iotlb_gather); in iommu_iotlb_sync()
1260 struct iommu_iotlb_gather *iotlb_gather) in iommu_unmap_fast() argument
1277 struct iommu_iotlb_gather *iotlb_gather) in iommu_iotlb_sync() argument
/linux/drivers/iommu/
H A Ddma-iommu.c830 struct iommu_iotlb_gather iotlb_gather; in __iommu_dma_unmap() local
835 iommu_iotlb_gather_init(&iotlb_gather); in __iommu_dma_unmap()
836 iotlb_gather.queued = READ_ONCE(cookie->fq_domain); in __iommu_dma_unmap()
838 unmapped = iommu_unmap_fast(domain, dma_addr, size, &iotlb_gather); in __iommu_dma_unmap()
841 if (!iotlb_gather.queued) in __iommu_dma_unmap()
842 iommu_iotlb_sync(domain, &iotlb_gather); in __iommu_dma_unmap()
843 iommu_dma_free_iova(domain, dma_addr, size, &iotlb_gather); in __iommu_dma_unmap()
2074 struct iommu_iotlb_gather iotlb_gather; in __iommu_dma_iova_unlink() local
2082 iommu_iotlb_gather_init(&iotlb_gather); in __iommu_dma_iova_unlink()
2083 iotlb_gather.queued = free_iova && READ_ONCE(cookie->fq_domain); in __iommu_dma_iova_unlink()
[all …]
H A Diommu.c2699 size_t size, struct iommu_iotlb_gather *iotlb_gather) in __iommu_unmap_domain_pgtbl() argument
2737 unmapped_page = ops->unmap_pages(domain, iova, pgsize, count, iotlb_gather); in __iommu_unmap_domain_pgtbl()
2747 if (iotlb_gather->start >= iotlb_gather->end) in __iommu_unmap_domain_pgtbl()
2748 iommu_iotlb_gather_add_range(iotlb_gather, iova, size); in __iommu_unmap_domain_pgtbl()
2759 struct iommu_iotlb_gather *iotlb_gather) in __iommu_unmap() argument
2765 unmapped = pt->ops->unmap_range(pt, iova, size, iotlb_gather); in __iommu_unmap()
2768 iotlb_gather); in __iommu_unmap()
2791 struct iommu_iotlb_gather iotlb_gather; in iommu_unmap() local
2794 iommu_iotlb_gather_init(&iotlb_gather); in iommu_unmap()
2795 ret = __iommu_unmap(domain, iova, size, &iotlb_gather); in iommu_unmap()
[all …]
H A Dsprd-iommu.c326 struct iommu_iotlb_gather *iotlb_gather) in sprd_iommu_unmap() argument
364 struct iommu_iotlb_gather *iotlb_gather) in sprd_iommu_sync() argument
/linux/drivers/iommu/arm/arm-smmu/
H A Darm-smmu.c1289 struct iommu_iotlb_gather *iotlb_gather) in arm_smmu_unmap_pages() argument
1299 ret = ops->unmap_pages(ops, iova, pgsize, pgcount, iotlb_gather); in arm_smmu_unmap_pages()