crypto/dpaa_sec: add portal presence check
authorAshish Jain <ashish.jain@nxp.com>
Mon, 2 Apr 2018 15:33:18 +0000 (21:03 +0530)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Mon, 23 Apr 2018 17:20:09 +0000 (18:20 +0100)
Adding a check to do portal configuration if not already
configured before packet enqueue. This check is only done
during dpaa_sec_attach_sess_q for initial packets,
so this change wont affect the data path and hence performance.

Fixes: e79416d10fa3 ("crypto/dpaa_sec: support multiple sessions per queue pair")
Cc: stable@dpdk.org
Signed-off-by: Ashish Jain <ashish.jain@nxp.com>
drivers/crypto/dpaa_sec/dpaa_sec.c

index 60c29be..21abd82 100644 (file)
@@ -1741,7 +1741,13 @@ dpaa_sec_attach_sess_q(struct dpaa_sec_qp *qp, dpaa_sec_session *sess)
                PMD_DRV_LOG(ERR, "Unable to prepare sec cdb");
                return -1;
        }
-
+       if (unlikely(!RTE_PER_LCORE(dpaa_io))) {
+               ret = rte_dpaa_portal_init((void *)0);
+               if (ret) {
+                       PMD_DRV_LOG(ERR, "Failure in affining portal");
+                       return ret;
+               }
+       }
        ret = dpaa_sec_init_rx(sess->inq, dpaa_mem_vtop(&sess->cdb),
                               qman_fq_fqid(&qp->outq));
        if (ret)