X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcrypto%2Fmvsam%2Frte_mrvl_pmd_ops.c;h=c61bdca369fa0f20db4bff9ba4f35344d7a1ae0a;hb=6b7c717ed1655124106a393dce256b64b3824c31;hp=9956f051f55f867773f8e08b77595234e91d725a;hpb=a05a450f42fda7be2f6be94a92fe3800add880d1;p=dpdk.git diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd_ops.c b/drivers/crypto/mvsam/rte_mrvl_pmd_ops.c index 9956f051f5..c61bdca369 100644 --- a/drivers/crypto/mvsam/rte_mrvl_pmd_ops.c +++ b/drivers/crypto/mvsam/rte_mrvl_pmd_ops.c @@ -10,7 +10,7 @@ #include #include -#include "rte_mrvl_pmd_private.h" +#include "mrvl_pmd_private.h" /** * Capabilities list to be used in reporting to DPDK. @@ -633,7 +633,7 @@ mrvl_crypto_pmd_close(struct rte_cryptodev *dev) static int mrvl_crypto_pmd_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id, const struct rte_cryptodev_qp_conf *qp_conf, - int socket_id, struct rte_mempool *session_pool) + int socket_id) { struct mrvl_crypto_qp *qp = NULL; char match[RTE_CRYPTODEV_NAME_MAX_LEN]; @@ -690,7 +690,8 @@ mrvl_crypto_pmd_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id, if (sam_cio_init(&qp->cio_params, &qp->cio) < 0) break; - qp->sess_mp = session_pool; + qp->sess_mp = qp_conf->mp_session; + qp->sess_mp_priv = qp_conf->mp_session_private; memset(&qp->stats, 0, sizeof(qp->stats)); dev->data->queue_pairs[qp_id] = qp; @@ -701,17 +702,6 @@ mrvl_crypto_pmd_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id, return -1; } -/** Return the number of allocated queue pairs (PMD ops callback). - * - * @param dev Pointer to the device structure. - * @returns Number of allocated queue pairs. - */ -static uint32_t -mrvl_crypto_pmd_qp_count(struct rte_cryptodev *dev) -{ - return dev->data->nb_queue_pairs; -} - /** Returns the size of the session structure (PMD ops callback). * * @param dev Pointer to the device structure [Unused]. @@ -726,7 +716,7 @@ mrvl_crypto_pmd_sym_session_get_size(__rte_unused struct rte_cryptodev *dev) /** Configure the session from a crypto xform chain (PMD ops callback). * * @param dev Pointer to the device structure. - * @param xform Pointer to the crytpo configuration structure. + * @param xform Pointer to the crypto configuration structure. * @param sess Pointer to the empty session structure. * @returns 0 upon success, negative value otherwise. */ @@ -750,6 +740,8 @@ mrvl_crypto_pmd_sym_session_configure(__rte_unused struct rte_cryptodev *dev, return -ENOMEM; } + memset(sess_private_data, 0, sizeof(struct mrvl_crypto_session)); + ret = mrvl_crypto_set_session_parameters(sess_private_data, xform); if (ret != 0) { MRVL_LOG(ERR, "Failed to configure session parameters!"); @@ -768,6 +760,12 @@ mrvl_crypto_pmd_sym_session_configure(__rte_unused struct rte_cryptodev *dev, return -EIO; } + /* free the keys memory allocated for session creation */ + if (mrvl_sess->sam_sess_params.cipher_key != NULL) + free(mrvl_sess->sam_sess_params.cipher_key); + if (mrvl_sess->sam_sess_params.auth_key != NULL) + free(mrvl_sess->sam_sess_params.auth_key); + return 0; } @@ -818,7 +816,6 @@ static struct rte_cryptodev_ops mrvl_crypto_pmd_ops = { .queue_pair_setup = mrvl_crypto_pmd_qp_setup, .queue_pair_release = mrvl_crypto_pmd_qp_release, - .queue_pair_count = mrvl_crypto_pmd_qp_count, .sym_session_get_size = mrvl_crypto_pmd_sym_session_get_size, .sym_session_configure = mrvl_crypto_pmd_sym_session_configure,