Lines Matching refs:iova

38 	dma_addr_t		iova;  member
417 msi_page->iova = start; in cookie_init_hw_msi_region()
664 unsigned long shift, iova_len, iova; in iommu_dma_alloc_iova() local
691 iova = alloc_iova_fast(iovad, iova_len, in iommu_dma_alloc_iova()
693 if (iova) in iommu_dma_alloc_iova()
700 iova = alloc_iova_fast(iovad, iova_len, dma_limit >> shift, true); in iommu_dma_alloc_iova()
702 return (dma_addr_t)iova << shift; in iommu_dma_alloc_iova()
706 dma_addr_t iova, size_t size, struct iommu_iotlb_gather *gather) in iommu_dma_free_iova() argument
714 queue_iova(cookie, iova_pfn(iovad, iova), in iommu_dma_free_iova()
718 free_iova_fast(iovad, iova_pfn(iovad, iova), in iommu_dma_free_iova()
752 dma_addr_t iova; in __iommu_dma_map() local
760 iova = iommu_dma_alloc_iova(domain, size, dma_mask, dev); in __iommu_dma_map()
761 if (!iova) in __iommu_dma_map()
764 if (iommu_map(domain, iova, phys - iova_off, size, prot, GFP_ATOMIC)) { in __iommu_dma_map()
765 iommu_dma_free_iova(cookie, iova, size, NULL); in __iommu_dma_map()
768 return iova + iova_off; in __iommu_dma_map()
845 dma_addr_t iova; in __iommu_dma_alloc_noncontiguous() local
869 iova = iommu_dma_alloc_iova(domain, size, dev->coherent_dma_mask, dev); in __iommu_dma_alloc_noncontiguous()
870 if (!iova) in __iommu_dma_alloc_noncontiguous()
891 ret = iommu_map_sg(domain, iova, sgt->sgl, sgt->orig_nents, ioprot, in __iommu_dma_alloc_noncontiguous()
896 sgt->sgl->dma_address = iova; in __iommu_dma_alloc_noncontiguous()
903 iommu_dma_free_iova(cookie, iova, size, NULL); in __iommu_dma_alloc_noncontiguous()
1040 dma_addr_t iova, dma_mask = dma_get_mask(dev); in iommu_dma_map_page() local
1081 iova = __iommu_dma_map(dev, phys, size, prot, dma_mask); in iommu_dma_map_page()
1082 if (iova == DMA_MAPPING_ERROR && is_swiotlb_buffer(dev, phys)) in iommu_dma_map_page()
1084 return iova; in iommu_dma_map_page()
1251 dma_addr_t iova; in iommu_dma_map_sg() local
1335 iova = iommu_dma_alloc_iova(domain, iova_len, dma_get_mask(dev), dev); in iommu_dma_map_sg()
1336 if (!iova) { in iommu_dma_map_sg()
1345 ret = iommu_map_sg(domain, iova, sg, nents, prot, GFP_ATOMIC); in iommu_dma_map_sg()
1349 return __finalise_sg(dev, sg, nents, iova); in iommu_dma_map_sg()
1352 iommu_dma_free_iova(cookie, iova, iova_len, NULL); in iommu_dma_map_sg()
1671 dma_addr_t iova; in iommu_dma_get_msi_page() local
1684 iova = iommu_dma_alloc_iova(domain, size, dma_get_mask(dev), dev); in iommu_dma_get_msi_page()
1685 if (!iova) in iommu_dma_get_msi_page()
1688 if (iommu_map(domain, iova, msi_addr, size, prot, GFP_KERNEL)) in iommu_dma_get_msi_page()
1693 msi_page->iova = iova; in iommu_dma_get_msi_page()
1698 iommu_dma_free_iova(cookie, iova, size, NULL); in iommu_dma_get_msi_page()
1755 msg->address_hi = upper_32_bits(msi_page->iova); in iommu_dma_compose_msi_msg()
1757 msg->address_lo += lower_32_bits(msi_page->iova); in iommu_dma_compose_msi_msg()