net/bnxt: add conditional processing of templates
[dpdk.git] / drivers / net / bnxt / bnxt_txr.h
index e4bd90f..6bfdc6d 100644 (file)
@@ -11,6 +11,9 @@
 #define BNXT_MAX_TSO_SEGS      32
 #define BNXT_MIN_PKT_SIZE      52
 
+/* Number of transmit descriptors processed per inner loop in vector mode. */
+#define BNXT_TX_DESCS_PER_LOOP 4U
+
 struct bnxt_tx_ring_info {
        uint16_t                tx_raw_prod;
        uint16_t                tx_raw_cons;
@@ -48,6 +51,10 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 uint16_t bnxt_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
                            uint16_t nb_pkts);
 #endif
+#if defined(RTE_ARCH_X86) && defined(CC_AVX2_SUPPORT)
+uint16_t bnxt_xmit_pkts_vec_avx2(void *tx_queue, struct rte_mbuf **tx_pkts,
+                                uint16_t nb_pkts);
+#endif
 
 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);