The instruction queue is enabled in dev start and is disabled in
dev stop.

Signed-off-by: Ankur Dwivedi <adwiv...@marvell.com>
---
 drivers/crypto/cnxk/cnxk_cryptodev_ops.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/cnxk/cnxk_cryptodev_ops.c 
b/drivers/crypto/cnxk/cnxk_cryptodev_ops.c
index 7322539a17..7d8d98e7ec 100644
--- a/drivers/crypto/cnxk/cnxk_cryptodev_ops.c
+++ b/drivers/crypto/cnxk/cnxk_cryptodev_ops.c
@@ -95,7 +95,13 @@ cnxk_cpt_dev_config(struct rte_cryptodev *dev,
 int
 cnxk_cpt_dev_start(struct rte_cryptodev *dev)
 {
-       RTE_SET_USED(dev);
+       struct cnxk_cpt_vf *vf = dev->data->dev_private;
+       struct roc_cpt *roc_cpt = &vf->cpt;
+       uint16_t nb_lf = roc_cpt->nb_lf;
+       uint16_t qp_id;
+
+       for (qp_id = 0; qp_id < nb_lf; qp_id++)
+               roc_cpt_iq_enable(roc_cpt->lf[qp_id]);
 
        return 0;
 }
@@ -103,7 +109,13 @@ cnxk_cpt_dev_start(struct rte_cryptodev *dev)
 void
 cnxk_cpt_dev_stop(struct rte_cryptodev *dev)
 {
-       RTE_SET_USED(dev);
+       struct cnxk_cpt_vf *vf = dev->data->dev_private;
+       struct roc_cpt *roc_cpt = &vf->cpt;
+       uint16_t nb_lf = roc_cpt->nb_lf;
+       uint16_t qp_id;
+
+       for (qp_id = 0; qp_id < nb_lf; qp_id++)
+               roc_cpt_iq_disable(roc_cpt->lf[qp_id]);
 }
 
 int
-- 
2.28.0

Reply via email to