Searched refs:iotlb_gather (Results 1 – 6 of 6) sorted by relevance
| /linux/drivers/iommu/generic_pt/ |
| H A D | iommu_pt.h | 43 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 D | iommu.h | 767 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 D | dma-iommu.c | 830 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 D | iommu.c | 2699 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 D | sprd-iommu.c | 326 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 D | arm-smmu.c | 1289 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()
|