Lines Matching defs:iova
764 dma_addr_t iova;
808 iova = mapping->base + (mapping_size * i);
809 iova += start << PAGE_SHIFT;
811 return iova;
835 * The address range to be freed reaches into the iova
967 dma_addr_t dma_addr, iova;
974 iova = dma_addr;
987 ret = iommu_map(mapping->domain, iova, phys, len,
992 iova += len;
997 iommu_unmap(mapping->domain, dma_addr, iova-dma_addr);
1002 static int __iommu_remove_mapping(struct device *dev, dma_addr_t iova, size_t size)
1007 * add optional in-page offset from iova to size and align
1010 size = PAGE_ALIGN((iova & ~PAGE_MASK) + size);
1011 iova &= PAGE_MASK;
1013 iommu_unmap(mapping->domain, iova, size);
1014 __free_iova(mapping, iova, size);
1190 dma_addr_t iova, iova_base;
1199 iova_base = iova = __alloc_iova(mapping, size);
1200 if (iova == DMA_MAPPING_ERROR)
1212 ret = iommu_map(mapping->domain, iova, phys, len, prot,
1217 iova += len;
1409 dma_addr_t iova = handle & PAGE_MASK;
1414 if (!iova)
1418 page = phys_to_page(iommu_iova_to_phys(mapping->domain, iova));
1422 iommu_unmap(mapping->domain, iova, len);
1423 __free_iova(mapping, iova, len);
1472 dma_addr_t iova = dma_handle & PAGE_MASK;
1476 if (!iova)
1479 iommu_unmap(mapping->domain, iova, len);
1480 __free_iova(mapping, iova, len);
1487 dma_addr_t iova = handle & PAGE_MASK;
1491 if (dev->dma_coherent || !iova)
1494 page = phys_to_page(iommu_iova_to_phys(mapping->domain, iova));
1502 dma_addr_t iova = handle & PAGE_MASK;
1506 if (dev->dma_coherent || !iova)
1509 page = phys_to_page(iommu_iova_to_phys(mapping->domain, iova));