Lines Matching refs:iova

21 			struct iova **iovap,  in tegra_vde_iommu_map()
24 struct iova *iova; in tegra_vde_iommu_map() local
30 size = iova_align(&vde->iova, size); in tegra_vde_iommu_map()
31 shift = iova_shift(&vde->iova); in tegra_vde_iommu_map()
33 iova = alloc_iova(&vde->iova, size >> shift, end >> shift, true); in tegra_vde_iommu_map()
34 if (!iova) in tegra_vde_iommu_map()
37 addr = iova_dma_addr(&vde->iova, iova); in tegra_vde_iommu_map()
42 __free_iova(&vde->iova, iova); in tegra_vde_iommu_map()
46 *iovap = iova; in tegra_vde_iommu_map()
51 void tegra_vde_iommu_unmap(struct tegra_vde *vde, struct iova *iova) in tegra_vde_iommu_unmap() argument
53 unsigned long shift = iova_shift(&vde->iova); in tegra_vde_iommu_unmap()
54 unsigned long size = iova_size(iova) << shift; in tegra_vde_iommu_unmap()
55 dma_addr_t addr = iova_dma_addr(&vde->iova, iova); in tegra_vde_iommu_unmap()
58 __free_iova(&vde->iova, iova); in tegra_vde_iommu_unmap()
64 struct iova *iova; in tegra_vde_iommu_init() local
92 init_iova_domain(&vde->iova, 1UL << order, 0); in tegra_vde_iommu_init()
102 shift = iova_shift(&vde->iova); in tegra_vde_iommu_init()
103 iova = reserve_iova(&vde->iova, 0x60000000 >> shift, in tegra_vde_iommu_init()
105 if (!iova) { in tegra_vde_iommu_init()
110 vde->iova_resv_static_addresses = iova; in tegra_vde_iommu_init()
118 iova = reserve_iova(&vde->iova, 0xffffffff >> shift, in tegra_vde_iommu_init()
120 if (!iova) { in tegra_vde_iommu_init()
125 vde->iova_resv_last_page = iova; in tegra_vde_iommu_init()
130 __free_iova(&vde->iova, vde->iova_resv_static_addresses); in tegra_vde_iommu_init()
134 put_iova_domain(&vde->iova); in tegra_vde_iommu_init()
147 __free_iova(&vde->iova, vde->iova_resv_last_page); in tegra_vde_iommu_deinit()
148 __free_iova(&vde->iova, vde->iova_resv_static_addresses); in tegra_vde_iommu_deinit()
150 put_iova_domain(&vde->iova); in tegra_vde_iommu_deinit()