From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gagandeep Singh Subject: [PATCH v4 07/15] crypto/caam_jr: add queue pair config ops Date: Mon, 22 Oct 2018 14:17:47 +0000 Message-ID: <20181022141657.4727-8-g.singh@nxp.com> References: <20181022133021.11264-1-g.singh@nxp.com> <20181022141657.4727-1-g.singh@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: Hemant Agrawal , Gagandeep Singh To: "dev@dpdk.org" , Akhil Goyal Return-path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40055.outbound.protection.outlook.com [40.107.4.55]) by dpdk.org (Postfix) with ESMTP id D1BCD1B115 for ; Mon, 22 Oct 2018 16:17:48 +0200 (CEST) In-Reply-To: <20181022141657.4727-1-g.singh@nxp.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Hemant Agrawal add following ops for configuring queues - queue_pair_setup - queue_pair_release - queue_pair_count Signed-off-by: Gagandeep Singh Signed-off-by: Hemant Agrawal Acked-by: Akhil Goyal --- drivers/crypto/caam_jr/caam_jr.c | 64 ++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/drivers/crypto/caam_jr/caam_jr.c b/drivers/crypto/caam_jr/caam= _jr.c index b03b9625b..931070bef 100644 --- a/drivers/crypto/caam_jr/caam_jr.c +++ b/drivers/crypto/caam_jr/caam_jr.c @@ -96,6 +96,67 @@ hw_flush_job_ring(struct sec_job_ring_t *job_ring, } } =20 +/* Release queue pair */ +static int +caam_jr_queue_pair_release(struct rte_cryptodev *dev, + uint16_t qp_id) +{ + struct sec_job_ring_t *internals; + struct caam_jr_qp *qp =3D NULL; + + PMD_INIT_FUNC_TRACE(); + CAAM_JR_DEBUG("dev =3D%p, queue =3D%d", dev, qp_id); + + internals =3D dev->data->dev_private; + if (qp_id >=3D internals->max_nb_queue_pairs) { + CAAM_JR_ERR("Max supported qpid %d", + internals->max_nb_queue_pairs); + return -EINVAL; + } + + qp =3D &internals->qps[qp_id]; + qp->ring =3D NULL; + dev->data->queue_pairs[qp_id] =3D NULL; + + return 0; +} + +/* Setup a queue pair */ +static int +caam_jr_queue_pair_setup( + struct rte_cryptodev *dev, uint16_t qp_id, + __rte_unused const struct rte_cryptodev_qp_conf *qp_conf, + __rte_unused int socket_id, + __rte_unused struct rte_mempool *session_pool) +{ + struct sec_job_ring_t *internals; + struct caam_jr_qp *qp =3D NULL; + + PMD_INIT_FUNC_TRACE(); + CAAM_JR_DEBUG("dev =3D%p, queue =3D%d, conf =3D%p", dev, qp_id, qp_conf); + + internals =3D dev->data->dev_private; + if (qp_id >=3D internals->max_nb_queue_pairs) { + CAAM_JR_ERR("Max supported qpid %d", + internals->max_nb_queue_pairs); + return -EINVAL; + } + + qp =3D &internals->qps[qp_id]; + qp->ring =3D internals; + dev->data->queue_pairs[qp_id] =3D qp; + + return 0; +} + +/* Return the number of allocated queue pairs */ +static uint32_t +caam_jr_queue_pair_count(struct rte_cryptodev *dev) +{ + PMD_INIT_FUNC_TRACE(); + + return dev->data->nb_queue_pairs; +} =20 static int caam_jr_dev_configure(struct rte_cryptodev *dev, @@ -177,6 +238,9 @@ static struct rte_cryptodev_ops caam_jr_ops =3D { .dev_stop =3D caam_jr_dev_stop, .dev_close =3D caam_jr_dev_close, .dev_infos_get =3D caam_jr_dev_infos_get, + .queue_pair_setup =3D caam_jr_queue_pair_setup, + .queue_pair_release =3D caam_jr_queue_pair_release, + .queue_pair_count =3D caam_jr_queue_pair_count, }; =20 =20 --=20 2.17.1