Signed-off-by: Pablo de Lara <pablo.de.lara.gua...@intel.com>
---
 drivers/crypto/qat/qat_crypto.c        |  1 +
 drivers/crypto/qat/qat_qp.c            |  8 +++++---
 drivers/crypto/qat/rte_qat_cryptodev.c | 32 ++++++++++++++++++++------------
 3 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c
index c3dbd6c..c94a308 100644
--- a/drivers/crypto/qat/qat_crypto.c
+++ b/drivers/crypto/qat/qat_crypto.c
@@ -60,6 +60,7 @@
 #include <rte_spinlock.h>
 #include <rte_hexdump.h>
 #include <rte_crypto_sym.h>
+#include <rte_cryptodev_pci.h>
 #include <openssl/evp.h>
 
 #include "qat_logs.h"
diff --git a/drivers/crypto/qat/qat_qp.c b/drivers/crypto/qat/qat_qp.c
index a358ccd..3921c2e 100644
--- a/drivers/crypto/qat/qat_qp.c
+++ b/drivers/crypto/qat/qat_qp.c
@@ -36,6 +36,7 @@
 #include <rte_malloc.h>
 #include <rte_memzone.h>
 #include <rte_cryptodev_pmd.h>
+#include <rte_pci.h>
 #include <rte_atomic.h>
 #include <rte_prefetch.h>
 
@@ -205,7 +206,7 @@ int qat_crypto_sym_qp_setup(struct rte_cryptodev *dev, 
uint16_t queue_pair_id,
        adf_configure_queues(qp);
        adf_queue_arb_enable(&qp->tx_q, qp->mmap_bar_addr);
        snprintf(op_cookie_pool_name, RTE_RING_NAMESIZE, "%s_qp_op_%d_%hu",
-               dev->driver->pci_drv.driver.name, dev->data->dev_id,
+               pci_dev->driver->driver.name, dev->data->dev_id,
                queue_pair_id);
 
        qp->op_cookie_pool = rte_mempool_lookup(op_cookie_pool_name);
@@ -355,11 +356,13 @@ qat_queue_create(struct rte_cryptodev *dev, struct 
qat_queue *queue,
                return -EINVAL;
        }
 
+       pci_dev = RTE_DEV_TO_PCI(dev->device);
+
        /*
         * Allocate a memzone for the queue - create a unique name.
         */
        snprintf(queue->memz_name, sizeof(queue->memz_name), "%s_%s_%d_%d_%d",
-               dev->driver->pci_drv.driver.name, "qp_mem", dev->data->dev_id,
+               pci_dev->driver->driver.name, "qp_mem", dev->data->dev_id,
                queue->hw_bundle_number, queue->hw_queue_number);
        qp_mz = queue_dma_zone_reserve(queue->memz_name, queue_size_bytes,
                        socket_id);
@@ -408,7 +411,6 @@ qat_queue_create(struct rte_cryptodev *dev, struct 
qat_queue *queue,
 
        queue_base = BUILD_RING_BASE_ADDR(queue->base_phys_addr,
                                        queue->queue_size);
-       pci_dev = RTE_DEV_TO_PCI(dev->device);
 
        io_addr = pci_dev->mem_resource[0].addr;
 
diff --git a/drivers/crypto/qat/rte_qat_cryptodev.c 
b/drivers/crypto/qat/rte_qat_cryptodev.c
index 1bdd30d..78d50fb 100644
--- a/drivers/crypto/qat/rte_qat_cryptodev.c
+++ b/drivers/crypto/qat/rte_qat_cryptodev.c
@@ -35,6 +35,7 @@
 #include <rte_dev.h>
 #include <rte_malloc.h>
 #include <rte_cryptodev_pmd.h>
+#include <rte_cryptodev_pci.h>
 
 #include "qat_crypto.h"
 #include "qat_logs.h"
@@ -95,8 +96,7 @@ static const struct rte_pci_id pci_id_qat_map[] = {
 };
 
 static int
-crypto_qat_dev_init(__attribute__((unused)) struct rte_cryptodev_driver 
*crypto_drv,
-                       struct rte_cryptodev *cryptodev)
+crypto_qat_dev_init(struct rte_cryptodev *cryptodev)
 {
        struct qat_pmd_private *internals;
 
@@ -147,17 +147,25 @@ crypto_qat_dev_init(__attribute__((unused)) struct 
rte_cryptodev_driver *crypto_
        return 0;
 }
 
-static struct rte_cryptodev_driver rte_qat_pmd = {
-       .pci_drv = {
-               .id_table = pci_id_qat_map,
-               .drv_flags = RTE_PCI_DRV_NEED_MAPPING,
-               .probe = rte_cryptodev_pci_probe,
-               .remove = rte_cryptodev_pci_remove,
-       },
-       .cryptodev_init = crypto_qat_dev_init,
-       .dev_private_size = sizeof(struct qat_pmd_private),
+static int crypto_qat_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
+       struct rte_pci_device *pci_dev)
+{
+       return rte_cryptodev_pci_generic_probe(pci_dev,
+               sizeof(struct qat_pmd_private), crypto_qat_dev_init);
+}
+
+static int crypto_qat_pci_remove(struct rte_pci_device *pci_dev)
+{
+       return rte_cryptodev_pci_generic_remove(pci_dev, NULL);
+}
+
+static struct rte_pci_driver rte_qat_pmd = {
+       .id_table = pci_id_qat_map,
+       .drv_flags = RTE_PCI_DRV_NEED_MAPPING,
+       .probe = crypto_qat_pci_probe,
+       .remove = crypto_qat_pci_remove
 };
 
-RTE_PMD_REGISTER_PCI(CRYPTODEV_NAME_QAT_SYM_PMD, rte_qat_pmd.pci_drv);
+RTE_PMD_REGISTER_PCI(CRYPTODEV_NAME_QAT_SYM_PMD, rte_qat_pmd);
 RTE_PMD_REGISTER_PCI_TABLE(CRYPTODEV_NAME_QAT_SYM_PMD, pci_id_qat_map);
 
-- 
2.7.4

Reply via email to