cryptodev: expose driver interface as internal
[dpdk.git] / drivers / crypto / qat / qat_sym_pmd.c
index e15722a..efda921 100644 (file)
@@ -7,7 +7,7 @@
 #include <rte_dev.h>
 #include <rte_malloc.h>
 #include <rte_pci.h>
-#include <rte_cryptodev_pmd.h>
+#include <cryptodev_pmd.h>
 #ifdef RTE_LIB_SECURITY
 #include <rte_security_driver.h>
 #endif
@@ -39,6 +39,11 @@ static const struct rte_cryptodev_capabilities qat_gen3_sym_capabilities[] = {
        RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
 };
 
+static const struct rte_cryptodev_capabilities qat_gen4_sym_capabilities[] = {
+       QAT_BASE_GEN4_SYM_CAPABILITIES,
+       RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST()
+};
+
 #ifdef RTE_LIB_SECURITY
 static const struct rte_cryptodev_capabilities
                                        qat_security_sym_capabilities[] = {
@@ -171,16 +176,17 @@ static int qat_sym_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id,
                int ring_pair =
                        qat_select_valid_queue(qat_dev, qp_id,
                                QAT_SERVICE_SYMMETRIC);
-               sym_hw_qps =
-                       &qat_dev->qp_gen4_data[0][0];
-               qp_hw_data =
-                       &qat_dev->qp_gen4_data[ring_pair][0];
+
                if (ring_pair < 0) {
                        QAT_LOG(ERR,
                                "qp_id %u invalid for this device, no enough services allocated for GEN4 device",
                                qp_id);
                        return -EINVAL;
                }
+               sym_hw_qps =
+                       &qat_dev->qp_gen4_data[0][0];
+               qp_hw_data =
+                       &qat_dev->qp_gen4_data[ring_pair][0];
        } else {
                sym_hw_qps = qat_gen_config[qat_dev->qat_dev_gen]
                                .qp_hw_data[QAT_SERVICE_SYMMETRIC];
@@ -404,8 +410,10 @@ qat_sym_dev_create(struct qat_pci_device *qat_pci_dev,
                        RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
                        RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT |
                        RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
-                       RTE_CRYPTODEV_FF_DIGEST_ENCRYPTED |
-                       RTE_CRYPTODEV_FF_SYM_RAW_DP;
+                       RTE_CRYPTODEV_FF_DIGEST_ENCRYPTED;
+
+       if (qat_pci_dev->qat_dev_gen < QAT_GEN4)
+               cryptodev->feature_flags |= RTE_CRYPTODEV_FF_SYM_RAW_DP;
 
        if (rte_eal_process_type() != RTE_PROC_PRIMARY)
                return 0;
@@ -450,8 +458,8 @@ qat_sym_dev_create(struct qat_pci_device *qat_pci_dev,
                capa_size = sizeof(qat_gen3_sym_capabilities);
                break;
        case QAT_GEN4:
-               capabilities = NULL;
-               capa_size = 0;
+               capabilities = qat_gen4_sym_capabilities;
+               capa_size = sizeof(qat_gen4_sym_capabilities);
                break;
        default:
                QAT_LOG(DEBUG,