common/qat: move max in-flights param into qp
authorFiona Trahe <fiona.trahe@intel.com>
Wed, 15 Jan 2020 14:32:09 +0000 (15:32 +0100)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 15 Jan 2020 14:20:53 +0000 (15:20 +0100)
The max_inflights parameter is moved from qat_queue to qat_qp as it's
a more appropriate location.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
drivers/common/qat/qat_qp.c
drivers/common/qat/qat_qp.h

index 01ddce0..8e4c74a 100644 (file)
@@ -239,6 +239,15 @@ int qat_qp_setup(struct qat_pci_device *qat_dev,
                goto create_err;
        }
 
+       qp->max_inflights = ADF_MAX_INFLIGHTS(qp->tx_q.queue_size,
+                               ADF_BYTES_TO_MSG_SIZE(qp->tx_q.msg_size));
+
+       if (qp->max_inflights < 2) {
+               QAT_LOG(ERR, "Invalid num inflights");
+               qat_queue_delete(&(qp->tx_q));
+               goto create_err;
+       }
+
        if (qat_queue_create(qat_dev, &(qp->rx_q), qat_qp_conf,
                                        ADF_RING_DIR_RX) != 0) {
                QAT_LOG(ERR, "Rx queue create failed "
@@ -416,15 +425,7 @@ qat_queue_create(struct qat_pci_device *qat_dev, struct qat_queue *queue,
                goto queue_create_err;
        }
 
-       queue->max_inflights = ADF_MAX_INFLIGHTS(queue->queue_size,
-                                       ADF_BYTES_TO_MSG_SIZE(desc_size));
        queue->modulo_mask = (1 << ADF_RING_SIZE_MODULO(queue->queue_size)) - 1;
-
-       if (queue->max_inflights < 2) {
-               QAT_LOG(ERR, "Invalid num inflights");
-               ret = -EINVAL;
-               goto queue_create_err;
-       }
        queue->head = 0;
        queue->tail = 0;
        queue->msg_size = desc_size;
@@ -443,11 +444,11 @@ qat_queue_create(struct qat_pci_device *qat_dev, struct qat_queue *queue,
                        queue->hw_queue_number, queue_base);
 
        QAT_LOG(DEBUG, "RING: Name:%s, size in CSR: %u, in bytes %u,"
-               " nb msgs %u, msg_size %u, max_inflights %u modulo mask %u",
+               " nb msgs %u, msg_size %u, modulo mask %u",
                        queue->memz_name,
                        queue->queue_size, queue_size_bytes,
                        qp_conf->nb_descriptors, desc_size,
-                       queue->max_inflights, queue->modulo_mask);
+                       queue->modulo_mask);
 
        return 0;
 
@@ -590,7 +591,7 @@ qat_enqueue_op_burst(void *qp, void **ops, uint16_t nb_ops)
 
        /* Find how many can actually fit on the ring */
        tmp_qp->inflights16 += nb_ops;
-       overflow = tmp_qp->inflights16 - queue->max_inflights;
+       overflow = tmp_qp->inflights16 - tmp_qp->max_inflights;
        if (overflow > 0) {
                tmp_qp->inflights16 -= overflow;
                nb_ops_possible = nb_ops - overflow;
index 9212ca4..5066f06 100644 (file)
@@ -51,7 +51,6 @@ struct qat_queue {
        uint32_t        tail;                   /* Shadow copy of the tail */
        uint32_t        modulo_mask;
        uint32_t        msg_size;
-       uint16_t        max_inflights;
        uint32_t        queue_size;
        uint8_t         hw_bundle_number;
        uint8_t         hw_queue_number;
@@ -76,6 +75,7 @@ struct qat_qp {
        enum qat_service_type service_type;
        struct qat_pci_device *qat_dev;
        /**< qat device this qp is on */
+       uint16_t max_inflights;
 } __rte_cache_aligned;
 
 extern const struct qat_qp_hw_data qat_gen1_qps[][ADF_MAX_QPS_ON_ANY_SERVICE];