Update driver to use the common cleanup function.

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
 drivers/net/intel/ixgbe/ixgbe_rxtx.c          | 22 ++-------------
 drivers/net/intel/ixgbe/ixgbe_rxtx.h          |  1 -
 .../net/intel/ixgbe/ixgbe_rxtx_vec_common.h   | 28 ++-----------------
 drivers/net/intel/ixgbe/ixgbe_rxtx_vec_neon.c |  7 -----
 drivers/net/intel/ixgbe/ixgbe_rxtx_vec_sse.c  |  7 -----
 5 files changed, 5 insertions(+), 60 deletions(-)

diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx.c 
b/drivers/net/intel/ixgbe/ixgbe_rxtx.c
index 344ef85685..bf9d461b06 100644
--- a/drivers/net/intel/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/intel/ixgbe/ixgbe_rxtx.c
@@ -2334,21 +2334,6 @@ ixgbe_recv_pkts_lro_bulk_alloc(void *rx_queue, struct 
rte_mbuf **rx_pkts,
  *
  **********************************************************************/
 
-static void __rte_cold
-ixgbe_tx_queue_release_mbufs(struct ci_tx_queue *txq)
-{
-       unsigned i;
-
-       if (txq->sw_ring != NULL) {
-               for (i = 0; i < txq->nb_tx_desc; i++) {
-                       if (txq->sw_ring[i].mbuf != NULL) {
-                               rte_pktmbuf_free_seg(txq->sw_ring[i].mbuf);
-                               txq->sw_ring[i].mbuf = NULL;
-                       }
-               }
-       }
-}
-
 static int
 ixgbe_tx_done_cleanup_full(struct ci_tx_queue *txq, uint32_t free_cnt)
 {
@@ -2472,7 +2457,7 @@ static void __rte_cold
 ixgbe_tx_queue_release(struct ci_tx_queue *txq)
 {
        if (txq != NULL && txq->ops != NULL) {
-               txq->ops->release_mbufs(txq);
+               ci_txq_release_all_mbufs(txq);
                txq->ops->free_swring(txq);
                rte_memzone_free(txq->mz);
                rte_free(txq);
@@ -2526,7 +2511,6 @@ ixgbe_reset_tx_queue(struct ci_tx_queue *txq)
 }
 
 static const struct ixgbe_txq_ops def_txq_ops = {
-       .release_mbufs = ixgbe_tx_queue_release_mbufs,
        .free_swring = ixgbe_tx_free_swring,
        .reset = ixgbe_reset_tx_queue,
 };
@@ -3380,7 +3364,7 @@ ixgbe_dev_clear_queues(struct rte_eth_dev *dev)
                struct ci_tx_queue *txq = dev->data->tx_queues[i];
 
                if (txq != NULL) {
-                       txq->ops->release_mbufs(txq);
+                       ci_txq_release_all_mbufs(txq);
                        txq->ops->reset(txq);
                        dev->data->tx_queue_state[i] = 
RTE_ETH_QUEUE_STATE_STOPPED;
                }
@@ -5655,7 +5639,7 @@ ixgbe_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t 
tx_queue_id)
        }
 
        if (txq->ops != NULL) {
-               txq->ops->release_mbufs(txq);
+               ci_txq_release_all_mbufs(txq);
                txq->ops->reset(txq);
        }
        dev->data->tx_queue_state[tx_queue_id] = RTE_ETH_QUEUE_STATE_STOPPED;
diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx.h 
b/drivers/net/intel/ixgbe/ixgbe_rxtx.h
index 64ea413920..278f665108 100644
--- a/drivers/net/intel/ixgbe/ixgbe_rxtx.h
+++ b/drivers/net/intel/ixgbe/ixgbe_rxtx.h
@@ -181,7 +181,6 @@ struct ixgbe_advctx_info {
 };
 
 struct ixgbe_txq_ops {
-       void (*release_mbufs)(struct ci_tx_queue *txq);
        void (*free_swring)(struct ci_tx_queue *txq);
        void (*reset)(struct ci_tx_queue *txq);
 };
diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_common.h 
b/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_common.h
index f446dada9a..bd52775c48 100644
--- a/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_common.h
+++ b/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_common.h
@@ -78,32 +78,6 @@ tx_backlog_entry(struct ci_tx_entry_vec *txep,
                txep[i].mbuf = tx_pkts[i];
 }
 
-static inline void
-_ixgbe_tx_queue_release_mbufs_vec(struct ci_tx_queue *txq)
-{
-       unsigned int i;
-       struct ci_tx_entry_vec *txe;
-       const uint16_t max_desc = (uint16_t)(txq->nb_tx_desc - 1);
-
-       if (txq->sw_ring == NULL || txq->nb_tx_free == max_desc)
-               return;
-
-       /* release the used mbufs in sw_ring */
-       for (i = txq->tx_next_dd - (txq->tx_rs_thresh - 1);
-            i != txq->tx_tail;
-            i = (i + 1) % txq->nb_tx_desc) {
-               txe = &txq->sw_ring_vec[i];
-               rte_pktmbuf_free_seg(txe->mbuf);
-       }
-       txq->nb_tx_free = max_desc;
-
-       /* reset tx_entry */
-       for (i = 0; i < txq->nb_tx_desc; i++) {
-               txe = &txq->sw_ring_vec[i];
-               txe->mbuf = NULL;
-       }
-}
-
 static inline void
 _ixgbe_rx_queue_release_mbufs_vec(struct ixgbe_rx_queue *rxq)
 {
@@ -207,6 +181,8 @@ ixgbe_txq_vec_setup_default(struct ci_tx_queue *txq,
        /* leave the first one for overflow */
        txq->sw_ring_vec = txq->sw_ring_vec + 1;
        txq->ops = txq_ops;
+       txq->vector_tx = 1;
+       txq->vector_sw_ring = 1;
 
        return 0;
 }
diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_neon.c 
b/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_neon.c
index cb749a3760..2ccb399b64 100644
--- a/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_neon.c
+++ b/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_neon.c
@@ -633,12 +633,6 @@ ixgbe_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf 
**tx_pkts,
        return nb_pkts;
 }
 
-static void __rte_cold
-ixgbe_tx_queue_release_mbufs_vec(struct ci_tx_queue *txq)
-{
-       _ixgbe_tx_queue_release_mbufs_vec(txq);
-}
-
 void __rte_cold
 ixgbe_rx_queue_release_mbufs_vec(struct ixgbe_rx_queue *rxq)
 {
@@ -658,7 +652,6 @@ ixgbe_reset_tx_queue(struct ci_tx_queue *txq)
 }
 
 static const struct ixgbe_txq_ops vec_txq_ops = {
-       .release_mbufs = ixgbe_tx_queue_release_mbufs_vec,
        .free_swring = ixgbe_tx_free_swring,
        .reset = ixgbe_reset_tx_queue,
 };
diff --git a/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_sse.c 
b/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_sse.c
index e46550f76a..fa26365f06 100644
--- a/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_sse.c
+++ b/drivers/net/intel/ixgbe/ixgbe_rxtx_vec_sse.c
@@ -756,12 +756,6 @@ ixgbe_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf 
**tx_pkts,
        return nb_pkts;
 }
 
-static void __rte_cold
-ixgbe_tx_queue_release_mbufs_vec(struct ci_tx_queue *txq)
-{
-       _ixgbe_tx_queue_release_mbufs_vec(txq);
-}
-
 void __rte_cold
 ixgbe_rx_queue_release_mbufs_vec(struct ixgbe_rx_queue *rxq)
 {
@@ -781,7 +775,6 @@ ixgbe_reset_tx_queue(struct ci_tx_queue *txq)
 }
 
 static const struct ixgbe_txq_ops vec_txq_ops = {
-       .release_mbufs = ixgbe_tx_queue_release_mbufs_vec,
        .free_swring = ixgbe_tx_free_swring,
        .reset = ixgbe_reset_tx_queue,
 };
-- 
2.43.0

Reply via email to