crypto/cnxk: update instruction queue in start/stop
authorAnkur Dwivedi <adwivedi@marvell.com>
Thu, 8 Jul 2021 11:47:14 +0000 (17:17 +0530)
committerAkhil Goyal <gakhil@marvell.com>
Tue, 20 Jul 2021 08:32:05 +0000 (10:32 +0200)
The instruction queue is enabled in dev start and
is disabled in dev stop.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
drivers/crypto/cnxk/cnxk_cryptodev_ops.c

index 7322539..7d8d98e 100644 (file)
@@ -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