[dpdk-dev] [PATCH 01/12] cryptodev: store device pointer in virtual devices

Declan Doherty declan.doherty at intel.com
Tue Jun 20 16:34:10 CEST 2017


On 24/05/2017 4:27 PM, Pablo de Lara wrote:
> Only non virtual devices were storing the pointer to
> rte_device structure in rte_cryptodev, which will be needed
> to retrieve the driver name for any device.
>
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
> ---
...

> diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
> index 45b25c9..49d3f32 100644
> --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
> +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
> @@ -699,12 +699,14 @@ cryptodev_aesni_mb_create(const char *name,
>  	}
>
>  	dev = rte_cryptodev_pmd_virtual_dev_init(init_params->name,
> -			sizeof(struct aesni_mb_private), init_params->socket_id);
> +			sizeof(struct aesni_mb_private), init_params->socket_id,
> +			vdev);
>  	if (dev == NULL) {
>  		MB_LOG_ERR("failed to create cryptodev vdev");
>  		goto init_error;
>  	}
>
> +	dev->device = &vdev->device;

This is set in the rte_cryptodev_pmd_virtual_dev_init now so it isn't 
needed here.

>  	dev->dev_type = RTE_CRYPTODEV_AESNI_MB_PMD;
>  	dev->dev_ops = rte_aesni_mb_pmd_ops;
>
> diff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c
> index 3d603a5..29905d6 100644
> --- a/drivers/crypto/armv8/rte_armv8_pmd.c
> +++ b/drivers/crypto/armv8/rte_armv8_pmd.c
> @@ -808,7 +808,8 @@ cryptodev_armv8_crypto_create(const char *name,
>
>  	dev = rte_cryptodev_pmd_virtual_dev_init(init_params->name,
>  				sizeof(struct armv8_crypto_private),
> -				init_params->socket_id);
> +				init_params->socket_id,
> +				vdev);
>  	if (dev == NULL) {
>  		ARMV8_CRYPTO_LOG_ERR("failed to create cryptodev vdev");
>  		goto init_error;
> diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd.c b/drivers/crypto/kasumi/rte_kasumi_pmd.c
> index 9da9e89..a95f503 100644
> --- a/drivers/crypto/kasumi/rte_kasumi_pmd.c
> +++ b/drivers/crypto/kasumi/rte_kasumi_pmd.c
> @@ -574,7 +574,8 @@ cryptodev_kasumi_create(const char *name,
>  	}
>
>  	dev = rte_cryptodev_pmd_virtual_dev_init(init_params->name,
> -			sizeof(struct kasumi_private), init_params->socket_id);
> +			sizeof(struct kasumi_private), init_params->socket_id,
> +			vdev);
>  	if (dev == NULL) {
>  		KASUMI_LOG_ERR("failed to create cryptodev vdev");
>  		goto init_error;
> diff --git a/drivers/crypto/null/null_crypto_pmd.c b/drivers/crypto/null/null_crypto_pmd.c
> index 023450a..8124eba 100644
> --- a/drivers/crypto/null/null_crypto_pmd.c
> +++ b/drivers/crypto/null/null_crypto_pmd.c
> @@ -166,6 +166,7 @@ static int cryptodev_null_remove(const char *name);
>  /** Create crypto device */
>  static int
>  cryptodev_null_create(const char *name,
> +		struct rte_vdev_device *vdev,
>  		struct rte_crypto_vdev_init_params *init_params)
>  {
>  	struct rte_cryptodev *dev;
> @@ -177,12 +178,14 @@ cryptodev_null_create(const char *name,
>
>  	dev = rte_cryptodev_pmd_virtual_dev_init(init_params->name,
>  			sizeof(struct null_crypto_private),
> -			init_params->socket_id);
> +			init_params->socket_id,
> +			vdev);
>  	if (dev == NULL) {
>  		NULL_CRYPTO_LOG_ERR("failed to create cryptodev vdev");
>  		goto init_error;
>  	}
>
> +	dev->device = &vdev->device;

Same as above.

>  	dev->dev_type = RTE_CRYPTODEV_NULL_PMD;
>  	dev->dev_ops = null_crypto_pmd_ops;
>
> @@ -235,7 +238,7 @@ cryptodev_null_probe(struct rte_vdev_device *dev)
>  	RTE_LOG(INFO, PMD, "  Max number of sessions = %d\n",
>  			init_params.max_nb_sessions);
>
> -	return cryptodev_null_create(name, &init_params);
> +	return cryptodev_null_create(name, dev, &init_params);
>  }
>
>  /** Uninitialise null crypto device */

..
>

Acked-by: Declan Doherty <declan.doherty at intel.com>



More information about the dev mailing list