Lines Matching refs:iova
31 dma_addr_t iova; member
205 msi_page->iova = start; in cookie_init_hw_msi_region()
436 unsigned long shift, iova_len, iova = 0; in iommu_dma_alloc_iova() local
461 iova = alloc_iova_fast(iovad, iova_len, in iommu_dma_alloc_iova()
464 if (!iova) in iommu_dma_alloc_iova()
465 iova = alloc_iova_fast(iovad, iova_len, dma_limit >> shift, in iommu_dma_alloc_iova()
468 return (dma_addr_t)iova << shift; in iommu_dma_alloc_iova()
472 dma_addr_t iova, size_t size, struct iommu_iotlb_gather *gather) in iommu_dma_free_iova() argument
480 queue_iova(iovad, iova_pfn(iovad, iova), in iommu_dma_free_iova()
484 free_iova_fast(iovad, iova_pfn(iovad, iova), in iommu_dma_free_iova()
518 dma_addr_t iova; in __iommu_dma_map() local
526 iova = iommu_dma_alloc_iova(domain, size, dma_mask, dev); in __iommu_dma_map()
527 if (!iova) in __iommu_dma_map()
530 if (iommu_map_atomic(domain, iova, phys - iova_off, size, prot)) { in __iommu_dma_map()
531 iommu_dma_free_iova(cookie, iova, size, NULL); in __iommu_dma_map()
534 return iova + iova_off; in __iommu_dma_map()
614 dma_addr_t iova; in __iommu_dma_alloc_noncontiguous() local
637 iova = iommu_dma_alloc_iova(domain, size, dev->coherent_dma_mask, dev); in __iommu_dma_alloc_noncontiguous()
638 if (!iova) in __iommu_dma_alloc_noncontiguous()
652 if (iommu_map_sg_atomic(domain, iova, sgt->sgl, sgt->orig_nents, ioprot) in __iommu_dma_alloc_noncontiguous()
656 sgt->sgl->dma_address = iova; in __iommu_dma_alloc_noncontiguous()
663 iommu_dma_free_iova(cookie, iova, size, NULL); in __iommu_dma_alloc_noncontiguous()
802 dma_addr_t iova, dma_mask = dma_get_mask(dev); in iommu_dma_map_page() local
835 iova = __iommu_dma_map(dev, phys, size, prot, dma_mask); in iommu_dma_map_page()
836 if (iova == DMA_MAPPING_ERROR && is_swiotlb_buffer(dev, phys)) in iommu_dma_map_page()
838 return iova; in iommu_dma_map_page()
982 dma_addr_t iova; in iommu_dma_map_sg() local
1039 iova = iommu_dma_alloc_iova(domain, iova_len, dma_get_mask(dev), dev); in iommu_dma_map_sg()
1040 if (!iova) { in iommu_dma_map_sg()
1049 ret = iommu_map_sg_atomic(domain, iova, sg, nents, prot); in iommu_dma_map_sg()
1053 return __finalise_sg(dev, sg, nents, iova); in iommu_dma_map_sg()
1056 iommu_dma_free_iova(cookie, iova, iova_len, NULL); in iommu_dma_map_sg()
1340 dma_addr_t iova; in iommu_dma_get_msi_page() local
1353 iova = iommu_dma_alloc_iova(domain, size, dma_get_mask(dev), dev); in iommu_dma_get_msi_page()
1354 if (!iova) in iommu_dma_get_msi_page()
1357 if (iommu_map(domain, iova, msi_addr, size, prot)) in iommu_dma_get_msi_page()
1362 msi_page->iova = iova; in iommu_dma_get_msi_page()
1367 iommu_dma_free_iova(cookie, iova, size, NULL); in iommu_dma_get_msi_page()
1413 msg->address_hi = upper_32_bits(msi_page->iova); in iommu_dma_compose_msi_msg()
1415 msg->address_lo += lower_32_bits(msi_page->iova); in iommu_dma_compose_msi_msg()