net/mlx5: fix using flow tunnel before null check
[dpdk.git] / drivers / net / bnxt / bnxt_txr.h
index 3dfc8ef..e4bd90f 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2014-2018 Broadcom
+ * Copyright(c) 2014-2021 Broadcom
  * All rights reserved.
  */
 
 #define BNXT_MIN_PKT_SIZE      52
 
 struct bnxt_tx_ring_info {
-       uint16_t                tx_prod;
-       uint16_t                tx_cons;
+       uint16_t                tx_raw_prod;
+       uint16_t                tx_raw_cons;
        struct bnxt_db_info     tx_db;
 
        struct tx_bd_long       *tx_desc_ring;
-       struct bnxt_sw_tx_bd    *tx_buf_ring;
+       struct rte_mbuf         **tx_buf_ring;
 
        rte_iova_t              tx_desc_mapping;
 
        struct bnxt_ring        *tx_ring_struct;
 };
 
-struct bnxt_sw_tx_bd {
-       struct rte_mbuf         *mbuf; /* mbuf associated with TX descriptor */
-       unsigned short          nr_bds;
-};
-
 static inline uint32_t bnxt_tx_bds_in_hw(struct bnxt_tx_queue *txq)
 {
-       return ((txq->tx_ring->tx_prod - txq->tx_ring->tx_cons) &
+       return ((txq->tx_ring->tx_raw_prod - txq->tx_ring->tx_raw_cons) &
                txq->tx_ring->tx_ring_struct->ring_mask);
 }
 
@@ -56,6 +51,7 @@ uint16_t bnxt_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 
 int bnxt_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id);
 int bnxt_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id);
+int bnxt_flush_tx_cmp(struct bnxt_cp_ring_info *cpr);
 
 #define PKT_TX_OIP_IIP_TCP_UDP_CKSUM   (PKT_TX_TCP_CKSUM | PKT_TX_UDP_CKSUM | \
                                        PKT_TX_IP_CKSUM | PKT_TX_OUTER_IP_CKSUM)