| /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 55 iommu_iotlb_gather_is_disjoint(iotlb_gather, iova, len)) { in gather_range_pages() 56 iommu_iotlb_sync(&iommu_table->domain, iotlb_gather); in gather_range_pages() 63 iommu_iotlb_gather_add_range(iotlb_gather, iova, len); in gather_range_pages() 64 iommu_pages_list_splice(free_list, &iotlb_gather->freelist); in gather_range_pages() 464 struct iommu_iotlb_gather *iotlb_gather; member 476 struct iommu_iotlb_gather *iotlb_gather, in clear_contig() argument 508 iotlb_gather, iommu_table, range.va, in clear_contig() 544 ret = clear_contig(&pts, map->iotlb_gather, step, in __map_range_leaf() 851 struct iommu_iotlb_gather iotlb_gather; in map_pages() local [all …]
|
| /linux/include/linux/ |
| H A D | iommu.h | 764 struct iommu_iotlb_gather *iotlb_gather); 770 struct iommu_iotlb_gather *iotlb_gather); 925 struct iommu_iotlb_gather *iotlb_gather); 981 struct iommu_iotlb_gather *iotlb_gather) in iommu_iotlb_sync() argument 984 likely(iotlb_gather->start < iotlb_gather->end)) in iommu_iotlb_sync() 985 domain->ops->iotlb_sync(domain, iotlb_gather); in iommu_iotlb_sync() 987 iommu_iotlb_gather_init(iotlb_gather); in iommu_iotlb_sync() 1257 struct iommu_iotlb_gather *iotlb_gather) in iommu_unmap_fast() argument 1274 struct iommu_iotlb_gather *iotlb_gather) in iommu_iotlb_sync() argument
|
| /linux/drivers/iommu/ |
| H A D | dma-iommu.c | 819 struct iommu_iotlb_gather iotlb_gather; in __iommu_dma_unmap() local 824 iommu_iotlb_gather_init(&iotlb_gather); in __iommu_dma_unmap() 825 iotlb_gather.queued = READ_ONCE(cookie->fq_domain); in __iommu_dma_unmap() 827 unmapped = iommu_unmap_fast(domain, dma_addr, size, &iotlb_gather); in __iommu_dma_unmap() 830 if (!iotlb_gather.queued) in __iommu_dma_unmap() 831 iommu_iotlb_sync(domain, &iotlb_gather); in __iommu_dma_unmap() 832 iommu_dma_free_iova(domain, dma_addr, size, &iotlb_gather); in __iommu_dma_unmap() 2044 struct iommu_iotlb_gather iotlb_gather; in __iommu_dma_iova_unlink() local 2052 iommu_iotlb_gather_init(&iotlb_gather); in __iommu_dma_iova_unlink() 2053 iotlb_gather.queued = free_iova && READ_ONCE(cookie->fq_domain); in __iommu_dma_iova_unlink() [all …]
|
| H A D | iommu.c | 2675 struct iommu_iotlb_gather *iotlb_gather) in __iommu_unmap() argument 2714 unmapped_page = ops->unmap_pages(domain, iova, pgsize, count, iotlb_gather); in __iommu_unmap() 2724 if (iotlb_gather->start >= iotlb_gather->end) in __iommu_unmap() 2725 iommu_iotlb_gather_add_range(iotlb_gather, iova, size); in __iommu_unmap() 2753 struct iommu_iotlb_gather iotlb_gather; in iommu_unmap() local 2756 iommu_iotlb_gather_init(&iotlb_gather); in iommu_unmap() 2757 ret = __iommu_unmap(domain, iova, size, &iotlb_gather); in iommu_unmap() 2758 iommu_iotlb_sync(domain, &iotlb_gather); in iommu_unmap() 2785 struct iommu_iotlb_gather *iotlb_gather) in iommu_unmap_fast() argument 2787 return __iommu_unmap(domain, iova, size, iotlb_gather); in iommu_unmap_fast()
|
| 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/include/linux/generic_pt/ |
| H A D | iommu.h | 204 struct iommu_iotlb_gather *iotlb_gather); \
|
| /linux/drivers/vfio/ |
| H A D | vfio_iommu_type1.c | 1061 struct iommu_iotlb_gather *iotlb_gather) in vfio_sync_unpin() argument 1066 iommu_iotlb_sync(domain->domain, iotlb_gather); in vfio_sync_unpin() 1097 struct iommu_iotlb_gather *iotlb_gather) in unmap_unpin_fast() argument 1104 iotlb_gather); in unmap_unpin_fast() 1124 iotlb_gather); in unmap_unpin_fast() 1153 struct iommu_iotlb_gather iotlb_gather; in vfio_unmap_unpin() local 1179 iommu_iotlb_gather_init(&iotlb_gather); in vfio_unmap_unpin() 1209 &iotlb_gather); in vfio_unmap_unpin() 1224 &iotlb_gather); in vfio_unmap_unpin()
|
| /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()
|