Lines Matching refs:iova

1271 phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova)  in iommu_iova_to_phys()  argument
1276 return domain->ops->iova_to_phys(domain, iova); in iommu_iova_to_phys()
1312 int iommu_map(struct iommu_domain *domain, unsigned long iova, in iommu_map() argument
1315 unsigned long orig_iova = iova; in iommu_map()
1335 if (!IS_ALIGNED(iova | paddr | size, min_pagesz)) { in iommu_map()
1337 iova, &paddr, size, min_pagesz); in iommu_map()
1341 pr_debug("map: iova 0x%lx pa %pa size 0x%zx\n", iova, &paddr, size); in iommu_map()
1344 size_t pgsize = iommu_pgsize(domain, iova | paddr, size); in iommu_map()
1347 iova, &paddr, pgsize); in iommu_map()
1349 ret = domain->ops->map(domain, iova, paddr, pgsize, prot); in iommu_map()
1353 iova += pgsize; in iommu_map()
1368 size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size) in iommu_unmap() argument
1372 unsigned long orig_iova = iova; in iommu_unmap()
1389 if (!IS_ALIGNED(iova | size, min_pagesz)) { in iommu_unmap()
1391 iova, size, min_pagesz); in iommu_unmap()
1395 pr_debug("unmap this: iova 0x%lx size 0x%zx\n", iova, size); in iommu_unmap()
1402 size_t pgsize = iommu_pgsize(domain, iova, size - unmapped); in iommu_unmap()
1404 unmapped_page = domain->ops->unmap(domain, iova, pgsize); in iommu_unmap()
1409 iova, unmapped_page); in iommu_unmap()
1411 iova += unmapped_page; in iommu_unmap()
1420 size_t default_iommu_map_sg(struct iommu_domain *domain, unsigned long iova, in default_iommu_map_sg() argument
1445 ret = iommu_map(domain, iova + mapped, phys, s->length, prot); in default_iommu_map_sg()
1456 iommu_unmap(domain, iova, mapped); in default_iommu_map_sg()