bus/fslmc: support dynamic IOVA
[dpdk.git] / drivers / bus / fslmc / fslmc_vfio.c
index 00ec5c5..79ce9be 100644 (file)
@@ -223,7 +223,10 @@ int rte_fslmc_vfio_dmamap(void)
                dma_map.size = memseg[i].len;
                dma_map.vaddr = memseg[i].addr_64;
 #ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA
-               dma_map.iova = memseg[i].iova;
+               if (rte_eal_iova_mode() == RTE_IOVA_VA)
+                       dma_map.iova = dma_map.vaddr;
+               else
+                       dma_map.iova = memseg[i].iova;
 #else
                dma_map.iova = dma_map.vaddr;
 #endif