X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcrypto%2Fccp%2Frte_ccp_pmd.c;h=4810d799cc27374ea6b09512f4859ed85a31eeb1;hb=4858f8a588fb800e547eb4f30dedb5772a40b1ec;hp=2061f465e82110d33c74697d9157ac91c11b2690;hpb=e0d88a394e91f446234aa04d0f9e01c150b0d347;p=dpdk.git diff --git a/drivers/crypto/ccp/rte_ccp_pmd.c b/drivers/crypto/ccp/rte_ccp_pmd.c index 2061f465e8..4810d799cc 100644 --- a/drivers/crypto/ccp/rte_ccp_pmd.c +++ b/drivers/crypto/ccp/rte_ccp_pmd.c @@ -2,6 +2,7 @@ * Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved. */ +#include #include #include #include @@ -30,14 +31,12 @@ struct ccp_pmd_init_params { #define CCP_CRYPTODEV_PARAM_NAME ("name") #define CCP_CRYPTODEV_PARAM_SOCKET_ID ("socket_id") #define CCP_CRYPTODEV_PARAM_MAX_NB_QP ("max_nb_queue_pairs") -#define CCP_CRYPTODEV_PARAM_MAX_NB_SESS ("max_nb_sessions") #define CCP_CRYPTODEV_PARAM_AUTH_OPT ("ccp_auth_opt") const char *ccp_pmd_valid_params[] = { CCP_CRYPTODEV_PARAM_NAME, CCP_CRYPTODEV_PARAM_SOCKET_ID, CCP_CRYPTODEV_PARAM_MAX_NB_QP, - CCP_CRYPTODEV_PARAM_MAX_NB_SESS, CCP_CRYPTODEV_PARAM_AUTH_OPT, }; @@ -124,13 +123,6 @@ ccp_pmd_parse_input_args(struct ccp_pmd_init_params *params, if (ret < 0) goto free_kvlist; - ret = rte_kvargs_process(kvlist, - CCP_CRYPTODEV_PARAM_MAX_NB_SESS, - &parse_integer_arg, - ¶ms->def_p.max_nb_sessions); - if (ret < 0) - goto free_kvlist; - ret = rte_kvargs_process(kvlist, CCP_CRYPTODEV_PARAM_SOCKET_ID, &parse_integer_arg, @@ -169,7 +161,7 @@ get_ccp_session(struct ccp_qp *qp, struct rte_crypto_op *op) return NULL; sess = (struct ccp_session *) - get_session_private_data( + get_sym_session_private_data( op->sym->session, ccp_cryptodev_driver_id); } else if (op->sess_type == RTE_CRYPTO_OP_SESSIONLESS) { @@ -188,11 +180,11 @@ get_ccp_session(struct ccp_qp *qp, struct rte_crypto_op *op) if (unlikely(ccp_set_session_parameters(sess, op->sym->xform, internals) != 0)) { rte_mempool_put(qp->sess_mp, _sess); - rte_mempool_put(qp->sess_mp, _sess_private_data); + rte_mempool_put(qp->sess_mp_priv, _sess_private_data); sess = NULL; } op->sym->session = (struct rte_cryptodev_sym_session *)_sess; - set_session_private_data(op->sym->session, + set_sym_session_private_data(op->sym->session, ccp_cryptodev_driver_id, _sess_private_data); } @@ -250,6 +242,13 @@ ccp_pmd_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops, for (i = 0; i < nb_dequeued; i++) if (unlikely(ops[i]->sess_type == RTE_CRYPTO_OP_SESSIONLESS)) { + struct ccp_session *sess = (struct ccp_session *) + get_sym_session_private_data( + ops[i]->sym->session, + ccp_cryptodev_driver_id); + + rte_mempool_put(qp->sess_mp_priv, + sess); rte_mempool_put(qp->sess_mp, ops[i]->sym->session); ops[i]->sym->session = NULL; @@ -300,9 +299,8 @@ cryptodev_ccp_create(const char *name, uint8_t cryptodev_cnt = 0; if (init_params->def_p.name[0] == '\0') - snprintf(init_params->def_p.name, - sizeof(init_params->def_p.name), - "%s", name); + strlcpy(init_params->def_p.name, name, + sizeof(init_params->def_p.name)); dev = rte_cryptodev_pmd_create(init_params->def_p.name, &vdev->device, @@ -334,7 +332,6 @@ cryptodev_ccp_create(const char *name, internals = dev->data->dev_private; internals->max_nb_qpairs = init_params->def_p.max_nb_queue_pairs; - internals->max_nb_sessions = init_params->def_p.max_nb_sessions; internals->auth_opt = init_params->auth_opt; internals->crypto_num_dev = cryptodev_cnt; @@ -359,8 +356,7 @@ cryptodev_ccp_probe(struct rte_vdev_device *vdev) "", sizeof(struct ccp_private), rte_socket_id(), - CCP_PMD_MAX_QUEUE_PAIRS, - RTE_CRYPTODEV_PMD_DEFAULT_MAX_NB_SESSIONS + CCP_PMD_MAX_QUEUE_PAIRS }, .auth_opt = CCP_PMD_AUTH_OPT_CCP, }; @@ -382,8 +378,6 @@ cryptodev_ccp_probe(struct rte_vdev_device *vdev) init_params.def_p.socket_id); RTE_LOG(INFO, PMD, "Max number of queue pairs = %d\n", init_params.def_p.max_nb_queue_pairs); - RTE_LOG(INFO, PMD, "Max number of sessions = %d\n", - init_params.def_p.max_nb_sessions); RTE_LOG(INFO, PMD, "Authentication offload to %s\n", ((init_params.auth_opt == 0) ? "CCP" : "CPU")); @@ -404,7 +398,6 @@ static struct cryptodev_driver ccp_crypto_drv; RTE_PMD_REGISTER_VDEV(CRYPTODEV_NAME_CCP_PMD, cryptodev_ccp_pmd_drv); RTE_PMD_REGISTER_PARAM_STRING(CRYPTODEV_NAME_CCP_PMD, "max_nb_queue_pairs= " - "max_nb_sessions= " "socket_id= " "ccp_auth_opt="); RTE_PMD_REGISTER_CRYPTO_DRIVER(ccp_crypto_drv, cryptodev_ccp_pmd_drv.driver,