X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcrypto%2Fzuc%2Frte_zuc_pmd.c;h=ab42d06925f0883c5774f0a5054c81b3a569bd57;hb=917ac9c49cdc12ec7dc21958524273b31b405b6b;hp=5e2dbf56c052be8cd0491ab67a762fa6773f90ca;hpb=14fbffb0aac971fd96718d292701645779597a7a;p=dpdk.git diff --git a/drivers/crypto/zuc/rte_zuc_pmd.c b/drivers/crypto/zuc/rte_zuc_pmd.c index 5e2dbf56c0..ab42d06925 100644 --- a/drivers/crypto/zuc/rte_zuc_pmd.c +++ b/drivers/crypto/zuc/rte_zuc_pmd.c @@ -433,31 +433,26 @@ zuc_pmd_dequeue_burst(void *queue_pair, unsigned nb_dequeued; nb_dequeued = rte_ring_dequeue_burst(qp->processed_ops, - (void **)c_ops, nb_ops); + (void **)c_ops, nb_ops, NULL); qp->qp_stats.dequeued_count += nb_dequeued; return nb_dequeued; } -static int cryptodev_zuc_remove(const char *name); +static int cryptodev_zuc_remove(struct rte_vdev_device *vdev); static int -cryptodev_zuc_create(struct rte_crypto_vdev_init_params *init_params) +cryptodev_zuc_create(const char *name, + struct rte_vdev_device *vdev, + struct rte_crypto_vdev_init_params *init_params) { struct rte_cryptodev *dev; struct zuc_private *internals; uint64_t cpu_flags = 0; - if (init_params->name[0] == '\0') { - int ret = rte_cryptodev_pmd_create_dev_name( - init_params->name, - RTE_STR(CRYPTODEV_NAME_ZUC_PMD)); - - if (ret < 0) { - ZUC_LOG_ERR("failed to create unique name"); - return ret; - } - } + if (init_params->name[0] == '\0') + snprintf(init_params->name, sizeof(init_params->name), + "%s", name); /* Check CPU for supported vector instruction set */ if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_SSE4_1)) @@ -468,7 +463,8 @@ cryptodev_zuc_create(struct rte_crypto_vdev_init_params *init_params) } dev = rte_cryptodev_pmd_virtual_dev_init(init_params->name, - sizeof(struct zuc_private), init_params->socket_id); + sizeof(struct zuc_private), init_params->socket_id, + vdev); if (dev == NULL) { ZUC_LOG_ERR("failed to create cryptodev vdev"); goto init_error; @@ -495,13 +491,12 @@ init_error: ZUC_LOG_ERR("driver %s: cryptodev_zuc_create failed", init_params->name); - cryptodev_zuc_remove(init_params->name); + cryptodev_zuc_remove(vdev); return -EFAULT; } static int -cryptodev_zuc_probe(const char *name, - const char *input_args) +cryptodev_zuc_probe(struct rte_vdev_device *vdev) { struct rte_crypto_vdev_init_params init_params = { RTE_CRYPTODEV_VDEV_DEFAULT_MAX_NB_QUEUE_PAIRS, @@ -509,6 +504,13 @@ cryptodev_zuc_probe(const char *name, rte_socket_id(), {0} }; + const char *name; + const char *input_args; + + name = rte_vdev_device_name(vdev); + if (name == NULL) + return -EINVAL; + input_args = rte_vdev_device_args(vdev); rte_cryptodev_parse_vdev_init_params(&init_params, input_args); @@ -522,12 +524,15 @@ cryptodev_zuc_probe(const char *name, RTE_LOG(INFO, PMD, " Max number of sessions = %d\n", init_params.max_nb_sessions); - return cryptodev_zuc_create(&init_params); + return cryptodev_zuc_create(name, vdev, &init_params); } static int -cryptodev_zuc_remove(const char *name) +cryptodev_zuc_remove(struct rte_vdev_device *vdev) { + const char *name; + + name = rte_vdev_device_name(vdev); if (name == NULL) return -EINVAL;