From: Ashish Jain <ashish.j...@nxp.com>

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: sta...@dpdk.org

Signed-off-by: Ashish Jain <ashish.j...@nxp.com>
---
 drivers/crypto/dpaa_sec/dpaa_sec.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c 
b/drivers/crypto/dpaa_sec/dpaa_sec.c
index c5191ce..eebb905 100644
--- a/drivers/crypto/dpaa_sec/dpaa_sec.c
+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c
@@ -1759,7 +1759,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)
-- 
2.7.4

Reply via email to