[dpdk-dev] [PATCH v1 26/30] bus/fslmc: check for Dma map in primary process only
Sachin Saxena
sachin.saxena at nxp.com
Tue Aug 27 09:07:26 CEST 2019
From: Shreyansh Jain <shreyansh.jain at nxp.com>
DMA mapping is a property of primary process - SMMU population done
once by primary doesn't need to be populated again in secondary
Signed-off-by: Shreyansh Jain <shreyansh.jain at nxp.com>
Reviewed-by: Sachin Saxena <sachin.saxena at nxp.com>
---
drivers/bus/fslmc/fslmc_bus.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index aa90d686f..9226d5b62 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -395,12 +395,15 @@ rte_fslmc_probe(void)
/* Map existing segments as well as, in case of hotpluggable memory,
* install callback handler.
*/
- ret = rte_fslmc_vfio_dmamap();
- if (ret) {
- DPAA2_BUS_ERR("Unable to DMA map existing VAs: (%d)", ret);
- /* Not continuing ahead */
- DPAA2_BUS_ERR("FSLMC VFIO Mapping failed");
- return 0;
+ if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
+ ret = rte_fslmc_vfio_dmamap();
+ if (ret) {
+ DPAA2_BUS_ERR("Unable to DMA map existing VAs: (%d)",
+ ret);
+ /* Not continuing ahead */
+ DPAA2_BUS_ERR("FSLMC VFIO Mapping failed");
+ return 0;
+ }
}
ret = fslmc_vfio_process_group();
--
2.17.1
More information about the dev
mailing list