@@ -561,8 +561,24 @@ rte_dpaa_bus_probe(void)
return 0;
/* Device list creation is only done once */
- if (!process_once)
+ if (!process_once) {
rte_dpaa_bus_dev_build();
+ if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
+ /* One time load of Qman/Bman drivers */
+ ret = qman_global_init();
+ if (ret) {
+ DPAA_PMD_ERR("QMAN initialization failed: %d",
+ ret);
+ return ret;
+ }
+ ret = bman_global_init();
+ if (ret) {
+ DPAA_PMD_ERR("BMAN initialization failed: %d",
+ ret);
+ return ret;
+ }
+ }
+ }
process_once = 1;
/* If no device present on DPAA bus nothing needs to be done */
@@ -600,7 +616,8 @@ rte_dpaa_bus_probe(void)
RTE_DEV_WHITELISTED)) {
ret = drv->probe(drv, dev);
if (ret) {
- DPAA_BUS_ERR("Unable to probe.\n");
+ DPAA_BUS_ERR("unable to probe:%s",
+ dev->name);
} else {
dev->driver = drv;
dev->device.driver = &drv->driver;
@@ -4,7 +4,6 @@ DPDK_17.11 {
bman_acquire;
bman_free_pool;
bman_get_params;
- bman_global_init;
bman_new_pool;
bman_query_free_buffers;
bman_release;
@@ -50,7 +49,6 @@ DPDK_17.11 {
qman_enqueue_multi;
qman_fq_fqid;
qman_fq_state;
- qman_global_init;
qman_init_fq;
qman_poll_dqrr;
qman_query_fq_np;
@@ -2718,6 +2718,14 @@ cryptodev_dpaa_sec_probe(struct rte_dpaa_driver *dpaa_drv __rte_unused,
}
}
+ if (unlikely(!RTE_PER_LCORE(dpaa_io))) {
+ retval = rte_dpaa_portal_init((void *)1);
+ if (retval) {
+ DPAA_SEC_ERR("Unable to initialize portal");
+ return retval;
+ }
+ }
+
/* Invoke PMD device initialization function */
retval = dpaa_sec_dev_init(cryptodev);
if (retval == 0)
@@ -1576,20 +1576,6 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv __rte_unused,
}
if (!is_global_init && (rte_eal_process_type() == RTE_PROC_PRIMARY)) {
- /* One time load of Qman/Bman drivers */
- ret = qman_global_init();
- if (ret) {
- DPAA_PMD_ERR("QMAN initialization failed: %d",
- ret);
- return ret;
- }
- ret = bman_global_init();
- if (ret) {
- DPAA_PMD_ERR("BMAN initialization failed: %d",
- ret);
- return ret;
- }
-
if (access("/tmp/fmc.bin", F_OK) == -1) {
RTE_LOG(INFO, PMD,
"* FMC not configured.Enabling default mode\n");