net/bnxt: fix max ring count
[dpdk.git] / drivers / net / bnxt / bnxt.h
index ffb3a0e..12fed1e 100644 (file)
@@ -480,6 +480,11 @@ struct bnxt_error_recovery_info {
        uint32_t        last_reset_counter;
 };
 
+/* Frequency for the FUNC_DRV_IF_CHANGE retry in milliseconds */
+#define BNXT_IF_CHANGE_RETRY_INTERVAL  50
+/* Maximum retry count for FUNC_DRV_IF_CHANGE */
+#define BNXT_IF_CHANGE_RETRY_COUNT     40
+
 struct bnxt_mark_info {
        uint32_t        mark_id;
        bool            valid;
@@ -502,6 +507,10 @@ struct bnxt_mark_info {
 #define BNXT_GRCP_WINDOW_2_BASE                0x2000
 #define BNXT_GRCP_WINDOW_3_BASE                0x3000
 
+#define BNXT_GRCP_BASE_MASK            0xfffff000
+#define BNXT_GRCP_OFFSET_MASK          0x00000ffc
+
+#define BNXT_FW_STATUS_HEALTHY         0x8000
 #define BNXT_FW_STATUS_SHUTDOWN                0x100000
 
 #define BNXT_HWRM_SHORT_REQ_LEN                sizeof(struct hwrm_short_input)
@@ -559,6 +568,7 @@ struct bnxt {
 #define BNXT_FW_CAP_ERR_RECOVER_RELOAD BIT(3)
 #define BNXT_FW_CAP_ADV_FLOW_MGMT      BIT(5)
 #define BNXT_FW_CAP_ADV_FLOW_COUNTERS  BIT(6)
+#define BNXT_FW_CAP_HCOMM_FW_STATUS    BIT(7)
 
        uint32_t                flow_flags;
 #define BNXT_FLOW_FLAG_L2_HDR_SRC_FILTER_EN    BIT(0)
@@ -643,10 +653,10 @@ struct bnxt {
 #define MAX_STINGRAY_RINGS             128U
 /* For sake of symmetry, max Tx rings == max Rx rings, one stat ctx for each */
 #define BNXT_MAX_RX_RINGS(bp) \
-       (BNXT_STINGRAY(bp) ? RTE_MIN(RTE_MIN(bp->max_rx_rings, \
+       (BNXT_STINGRAY(bp) ? RTE_MIN(RTE_MIN(bp->max_rx_rings / 2U, \
                                             MAX_STINGRAY_RINGS), \
                                     bp->max_stat_ctx / 2U) : \
-                               RTE_MIN(bp->max_rx_rings, \
+                               RTE_MIN(bp->max_rx_rings / 2U, \
                                        bp->max_stat_ctx / 2U))
 #define BNXT_MAX_TX_RINGS(bp) \
        (RTE_MIN((bp)->max_tx_rings, BNXT_MAX_RX_RINGS(bp)))
@@ -755,6 +765,7 @@ void bnxt_ulp_deinit(struct bnxt *bp);
 
 uint16_t bnxt_get_vnic_id(uint16_t port);
 uint16_t bnxt_get_svif(uint16_t port_id, bool func_svif);
+uint16_t bnxt_get_fw_func_id(uint16_t port);
 
 void bnxt_cancel_fc_thread(struct bnxt *bp);
 void bnxt_flow_cnt_alarm_cb(void *arg);