cryptodev: add mempool pointer in queue pair setup
[dpdk.git] / drivers / crypto / qat / qat_qp.c
index b85b34d..2b2ab42 100644 (file)
@@ -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>
 
@@ -133,9 +134,10 @@ queue_dma_zone_reserve(const char *queue_name, uint32_t queue_size,
 
 int qat_crypto_sym_qp_setup(struct rte_cryptodev *dev, uint16_t queue_pair_id,
        const struct rte_cryptodev_qp_conf *qp_conf,
-       int socket_id)
+       int socket_id, struct rte_mempool *session_pool __rte_unused)
 {
        struct qat_qp *qp;
+       struct rte_pci_device *pci_dev;
        int ret;
        char op_cookie_pool_name[RTE_RING_NAMESIZE];
        uint32_t i;
@@ -156,7 +158,9 @@ int qat_crypto_sym_qp_setup(struct rte_cryptodev *dev, uint16_t queue_pair_id,
                return -EINVAL;
        }
 
-       if (dev->pci_dev->mem_resource[0].addr == NULL) {
+       pci_dev = RTE_DEV_TO_PCI(dev->device);
+
+       if (pci_dev->mem_resource[0].addr == NULL) {
                PMD_DRV_LOG(ERR, "Could not find VF config space "
                                "(UIO driver attached?).");
                return -EINVAL;
@@ -181,7 +185,7 @@ int qat_crypto_sym_qp_setup(struct rte_cryptodev *dev, uint16_t queue_pair_id,
                        qp_conf->nb_descriptors * sizeof(*qp->op_cookies),
                        RTE_CACHE_LINE_SIZE);
 
-       qp->mmap_bar_addr = dev->pci_dev->mem_resource[0].addr;
+       qp->mmap_bar_addr = pci_dev->mem_resource[0].addr;
        rte_atomic16_init(&qp->inflights16);
 
        if (qat_tx_queue_create(dev, &(qp->tx_q),
@@ -202,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);
@@ -344,6 +348,7 @@ qat_queue_create(struct rte_cryptodev *dev, struct qat_queue *queue,
        void *io_addr;
        const struct rte_memzone *qp_mz;
        uint32_t queue_size_bytes = nb_desc*desc_size;
+       struct rte_pci_device *pci_dev;
 
        PMD_INIT_FUNC_TRACE();
        if (desc_size > ADF_MSG_SIZE_TO_BYTES(ADF_MAX_MSG_SIZE)) {
@@ -351,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);
@@ -404,7 +411,8 @@ qat_queue_create(struct rte_cryptodev *dev, struct qat_queue *queue,
 
        queue_base = BUILD_RING_BASE_ADDR(queue->base_phys_addr,
                                        queue->queue_size);
-       io_addr = dev->pci_dev->mem_resource[0].addr;
+
+       io_addr = pci_dev->mem_resource[0].addr;
 
        WRITE_CSR_RING_BASE(io_addr, queue->hw_bundle_number,
                        queue->hw_queue_number, queue_base);