compress/qat: use compression specific driver name
authorFiona Trahe <fiona.trahe@intel.com>
Fri, 10 Aug 2018 15:18:01 +0000 (16:18 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 30 Aug 2018 03:10:50 +0000 (05:10 +0200)
The QAT compression driver was named "qat".
Rename to compress_qat for consistency with other compressdev drivers
and with crypto_qat.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>
doc/guides/cryptodevs/qat.rst
drivers/common/qat/qat_device.h
drivers/compress/qat/qat_comp_pmd.c
drivers/compress/qat/qat_comp_pmd.h

index 67b84b3..af10799 100644 (file)
@@ -190,7 +190,7 @@ Device and driver naming
 
        The qat crypto device name is in the format of the slave parameter passed to the crypto scheduler.
 
-* The qat compressdev driver name is "qat".
+* The qat compressdev driver name is "compress_qat".
   The rte_compressdev_devices_get() returns the devices exposed by this driver.
 
 * Each qat compression device has a unique name, in format
index 9599fc5..3a71cd4 100644 (file)
@@ -59,6 +59,11 @@ struct qat_pci_device {
        /* Data relating to compression service */
        struct qat_comp_dev_private *comp_dev;
        /**< link back to compressdev private data */
+       struct rte_device comp_rte_dev;
+       /**< This represents the compression subset of this pci device.
+        * Register with this rather than with the one in
+        * pci_dev so that its driver can have a compression-specific name
+        */
 
        /* Data relating to asymmetric crypto service */
 
index b89975f..e34c07b 100644 (file)
@@ -348,6 +348,16 @@ static struct rte_compressdev_ops compress_qat_ops = {
        .private_xform_free     = qat_comp_private_xform_free
 };
 
+/* An rte_driver is needed in the registration of the device with compressdev.
+ * The actual qat pci's rte_driver can't be used as its name represents
+ * the whole pci device with all services. Think of this as a holder for a name
+ * for the compression part of the pci device.
+ */
+static const char qat_comp_drv_name[] = RTE_STR(COMPRESSDEV_NAME_QAT_PMD);
+static const struct rte_driver compdev_qat_driver = {
+       .name = qat_comp_drv_name,
+       .alias = qat_comp_drv_name
+};
 int
 qat_comp_dev_create(struct qat_pci_device *qat_pci_dev)
 {
@@ -368,8 +378,14 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev)
                        qat_pci_dev->name, "comp");
        QAT_LOG(DEBUG, "Creating QAT COMP device %s", name);
 
+       /* Populate subset device to use in compressdev device creation */
+       qat_pci_dev->comp_rte_dev.driver = &compdev_qat_driver;
+       qat_pci_dev->comp_rte_dev.numa_node =
+                                       qat_pci_dev->pci_dev->device.numa_node;
+       qat_pci_dev->comp_rte_dev.devargs = NULL;
+
        compressdev = rte_compressdev_pmd_create(name,
-                       &qat_pci_dev->pci_dev->device,
+                       &(qat_pci_dev->comp_rte_dev),
                        sizeof(struct qat_comp_dev_private),
                        &init_params);
 
index 9ad2a28..b8299d4 100644 (file)
@@ -12,6 +12,9 @@
 
 #include "qat_device.h"
 
+/**< Intel(R) QAT Compression PMD driver name */
+#define COMPRESSDEV_NAME_QAT_PMD       compress_qat
+
 /** private data structure for a QAT compression device.
  * This QAT device is a device offering only a compression service,
  * there can be one of these on each qat_pci_device (VF).