net/bnxt: check resource reservation in TRUFLOW
[dpdk.git] / drivers / net / bnxt / bnxt_rxq.h
index 3693d89..42bd8e7 100644 (file)
@@ -1,36 +1,36 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2014-2018 Broadcom
+ * Copyright(c) 2014-2021 Broadcom
  * All rights reserved.
  */
 
 #ifndef _BNXT_RQX_H_
 #define _BNXT_RQX_H_
 
+/* Maximum receive burst supported in vector mode. */
+#define RTE_BNXT_MAX_RX_BURST          64U
+
+/* Drop by default when receive desc is not available. */
+#define BNXT_DEFAULT_RX_DROP_EN                1
+
 struct bnxt;
 struct bnxt_rx_ring_info;
 struct bnxt_cp_ring_info;
 struct bnxt_rx_queue {
-       rte_spinlock_t          lock;   /* Synchronize between rx_queue_stop
-                                        * and fast path
-                                        */
        struct rte_mempool      *mb_pool; /* mbuf pool for RX ring */
-       struct rte_mbuf         *pkt_first_seg; /* 1st seg of pkt */
-       struct rte_mbuf         *pkt_last_seg; /* Last seg of pkt */
        uint64_t                mbuf_initializer; /* val to init mbuf */
        uint16_t                nb_rx_desc; /* num of RX desc */
-       uint16_t                rx_tail; /* cur val of RDT register */
-       uint16_t                nb_rx_hold; /* num held free RX desc */
        uint16_t                rx_free_thresh; /* max free RX desc to hold */
        uint16_t                queue_id; /* RX queue index */
-#ifdef RTE_ARCH_X86
+#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
        uint16_t                rxrearm_nb; /* number of descs to reinit. */
        uint16_t                rxrearm_start; /* next desc index to reinit. */
 #endif
-       uint16_t                reg_idx; /* RX queue register index */
        uint16_t                port_id; /* Device port identifier */
        uint8_t                 crc_len; /* 0 if CRC stripped, 4 otherwise */
        uint8_t                 rx_deferred_start; /* not in global dev start */
        uint8_t                 rx_started; /* RX queue is started */
+       uint8_t                 drop_en; /* Drop when rx desc not available. */
+       uint8_t                 in_reset; /* Rx ring is scheduled for reset */
 
        struct bnxt             *bp;
        int                     index;
@@ -39,7 +39,7 @@ struct bnxt_rx_queue {
        uint32_t                        rx_buf_size;
        struct bnxt_rx_ring_info        *rx_ring;
        struct bnxt_cp_ring_info        *cp_ring;
-       struct bnxt_cp_ring_info        *nq_ring;
+       struct rte_mbuf                 fake_mbuf;
        rte_atomic64_t          rx_mbuf_alloc_fail;
        const struct rte_memzone *mz;
 };