#define BNXT_MAX_RX_RING_DESC 8192
#define BNXT_DB_SIZE 0x80
+#define TPA_MAX_AGGS 64
+#define TPA_MAX_AGGS_TH 1024
+
+#define TPA_MAX_NUM_SEGS 32
+#define TPA_MAX_SEGS_TH 8 /* 32 segments in 4-segment units */
+#define TPA_MAX_SEGS 5 /* 32 segments in log2 units */
+
+#define BNXT_TPA_MAX_AGGS(bp) \
+ (BNXT_CHIP_THOR(bp) ? TPA_MAX_AGGS_TH : \
+ TPA_MAX_AGGS)
+
+#define BNXT_TPA_MAX_SEGS(bp) \
+ (BNXT_CHIP_THOR(bp) ? TPA_MAX_SEGS_TH : \
+ TPA_MAX_SEGS)
+
#ifdef RTE_ARCH_ARM64
#define BNXT_NUM_ASYNC_CPR(bp) (BNXT_STINGRAY(bp) ? 0 : 1)
#else
uint32_t flow_flags;
#define BNXT_FLOW_FLAG_L2_HDR_SRC_FILTER_EN BIT(0)
-
pthread_mutex_t flow_lock;
+
+ uint32_t vnic_cap_flags;
+#define BNXT_VNIC_CAP_COS_CLASSIFY BIT(0)
unsigned int rx_nr_rings;
unsigned int rx_cp_nr_rings;
unsigned int rx_num_qs_per_vnic;
/* Default completion ring */
struct bnxt_cp_ring_info *async_cp_ring;
+ struct bnxt_cp_ring_info *rxtx_nq_ring;
uint32_t max_ring_grps;
struct bnxt_ring_grp_info *grp_info;
uint16_t max_resp_len;
uint16_t hwrm_max_ext_req_len;
+ /* default command timeout value of 50ms */
+#define HWRM_CMD_TIMEOUT 50000
+ /* default HWRM request timeout value */
+ uint32_t hwrm_cmd_timeout;
+
struct bnxt_link_info link_info;
- struct bnxt_cos_queue_info cos_queue[BNXT_COS_QUEUE_COUNT];
- uint8_t tx_cosq_id;
+ struct bnxt_cos_queue_info rx_cos_queue[BNXT_COS_QUEUE_COUNT];
+ struct bnxt_cos_queue_info tx_cos_queue[BNXT_COS_QUEUE_COUNT];
+ uint8_t tx_cosq_id[BNXT_COS_QUEUE_COUNT];
+ uint8_t rx_cosq_cnt;
uint8_t max_tc;
uint8_t max_lltc;
uint8_t max_q;
uint16_t max_rx_em_flows;
uint16_t max_vnics;
uint16_t max_stat_ctx;
+ uint16_t max_tpa_v2;
uint16_t first_vf_id;
uint16_t vlan;
#define BNXT_OUTER_TPID_MASK 0x0000ffff