[dpdk-dev] [PATCH 2/8] crypto/octeontx: add RSA and modexp asym capabilities
Akhil Goyal
akhil.goyal at nxp.com
Tue Oct 1 14:38:13 CEST 2019
Hi Anoob,
> const struct rte_cryptodev_capabilities *
> -otx_get_capabilities(void)
> +otx_get_capabilities(uint64_t flags)
> {
> - return otx_capabilities;
> + if (flags & RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO)
> + return otx_asym_capabilities;
> + else
> + return otx_sym_capabilities;
> +
> }
I believe this will give Asym capabilities always. As the feature flag
RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO will always be set, as the flags are set in init.
It will never go in else.
> diff --git a/drivers/crypto/octeontx/otx_cryptodev_capabilities.h
> b/drivers/crypto/octeontx/otx_cryptodev_capabilities.h
> index fc62821..439b50e 100644
> --- a/drivers/crypto/octeontx/otx_cryptodev_capabilities.h
> +++ b/drivers/crypto/octeontx/otx_cryptodev_capabilities.h
> @@ -8,10 +8,9 @@
> #include <rte_cryptodev.h>
>
> /*
> - * Get capabilities list for the device
> - *
> + * Get capabilities list for the device, based on device type
> */
> const struct rte_cryptodev_capabilities *
> -otx_get_capabilities(void);
> +otx_get_capabilities(uint64_t flags);
>
> #endif /* _OTX_CRYPTODEV_CAPABILITIES_H_ */
> diff --git a/drivers/crypto/octeontx/otx_cryptodev_ops.c
> b/drivers/crypto/octeontx/otx_cryptodev_ops.c
> index 88efed3..b59a001 100644
> --- a/drivers/crypto/octeontx/otx_cryptodev_ops.c
> +++ b/drivers/crypto/octeontx/otx_cryptodev_ops.c
> @@ -105,7 +105,7 @@ otx_cpt_dev_info_get(struct rte_cryptodev *dev, struct
> rte_cryptodev_info *info)
> if (info != NULL) {
> info->max_nb_queue_pairs = CPT_NUM_QS_PER_VF;
> info->feature_flags = dev->feature_flags;
> - info->capabilities = otx_get_capabilities();
> + info->capabilities = otx_get_capabilities(info->feature_flags);
> info->sym.max_nb_sessions = 0;
> info->driver_id = otx_cryptodev_driver_id;
> info->min_mbuf_headroom_req =
> OTX_CPT_MIN_HEADROOM_REQ;
> @@ -635,7 +635,8 @@ otx_cpt_dev_create(struct rte_cryptodev *c_dev)
> case OTX_CPT_VF_TYPE_AE:
> /* Set asymmetric cpt feature flags */
> c_dev->feature_flags =
> RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO |
> - RTE_CRYPTODEV_FF_HW_ACCELERATED;
> + RTE_CRYPTODEV_FF_HW_ACCELERATED |
> + RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT;
> break;
> case OTX_CPT_VF_TYPE_SE:
> /* Set symmetric cpt feature flags */
> --
> 2.7.4
More information about the dev
mailing list