net/bnxt: support LRO
[dpdk.git] / drivers / net / bnxt / bnxt_ring.h
index 1e9d3be..6d1eb58 100644 (file)
@@ -57,7 +57,8 @@
 #define DEFAULT_RX_RING_SIZE   256
 #define DEFAULT_TX_RING_SIZE   256
 
-#define MAX_TPA                128
+#define BNXT_TPA_MAX           64
+#define AGG_RING_SIZE_FACTOR   2
 
 /* These assume 4k pages */
 #define MAX_RX_DESC_CNT (8 * 1024)
@@ -65,6 +66,7 @@
 #define MAX_CP_DESC_CNT (16 * 1024)
 
 #define INVALID_HW_RING_ID      ((uint16_t)-1)
+#define INVALID_STATS_CTX_ID           ((uint16_t)-1)
 
 struct bnxt_ring {
        void                    *bd;
@@ -76,6 +78,7 @@ struct bnxt_ring {
        void                    **vmem;
 
        uint16_t                fw_ring_id; /* Ring id filled by Chimp FW */
+       const void              *mem_zone;
 };
 
 struct bnxt_ring_grp_info {
@@ -91,10 +94,12 @@ struct bnxt_tx_ring_info;
 struct bnxt_rx_ring_info;
 struct bnxt_cp_ring_info;
 void bnxt_free_ring(struct bnxt_ring *ring);
+void bnxt_init_ring_grps(struct bnxt *bp);
 int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx,
                            struct bnxt_tx_ring_info *tx_ring_info,
                            struct bnxt_rx_ring_info *rx_ring_info,
                            struct bnxt_cp_ring_info *cp_ring_info,
                            const char *suffix);
+int bnxt_alloc_hwrm_rings(struct bnxt *bp);
 
 #endif