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.gua...@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.dohe...@intel.com>

Reply via email to