bus/fslmc: check for DMA map in primary process only

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@nxp.com>
Reviewed-by: Sachin Saxena <sachin.saxena@nxp.com>
This commit is contained in:
Shreyansh Jain 2019-08-29 15:57:33 +05:30 committed by Ferruh Yigit
parent 297e5df593
commit 4512386f2a

View File

@ -394,12 +394,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();