net/bntx: use new API to get iova address XXX
[dpdk.git] / drivers / net / bnxt / bnxt_ring.h
index 1e9d3be..12992f2 100644 (file)
@@ -40,9 +40,6 @@
 
 #define RING_NEXT(ring, idx)           (((idx) + 1) & (ring)->ring_mask)
 
-#define RTE_MBUF_DATA_DMA_ADDR(mb) \
-       ((uint64_t)((mb)->buf_physaddr + (mb)->data_off))
-
 #define DB_IDX_MASK                                            0xffffff
 #define DB_IDX_VALID                                           (0x1 << 26)
 #define DB_IRQ_DIS                                             (0x1 << 27)
@@ -57,7 +54,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)
 #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;
-       phys_addr_t             bd_dma;
+       rte_iova_t              bd_dma;
        uint32_t                ring_size;
        uint32_t                ring_mask;
 
@@ -76,6 +75,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 +91,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