OSDN Git Service

bnxt_en: Add BNXT_NEW_RM() macro.
[uclinux-h8/linux.git] / drivers / net / ethernet / broadcom / bnxt / bnxt.h
index 9b14eb6..37dc896 100644 (file)
 #define BNXT_H
 
 #define DRV_MODULE_NAME                "bnxt_en"
-#define DRV_MODULE_VERSION     "1.9.1"
+#define DRV_MODULE_VERSION     "1.9.2"
 
 #define DRV_VER_MAJ    1
 #define DRV_VER_MIN    9
-#define DRV_VER_UPD    1
+#define DRV_VER_UPD    2
 
 #include <linux/interrupt.h>
 #include <linux/rhashtable.h>
@@ -326,6 +326,10 @@ struct rx_tpa_start_cmp_ext {
        ((le32_to_cpu((rx_tpa_start)->rx_tpa_start_cmp_cfa_code_v2) &   \
         RX_TPA_START_CMP_CFA_CODE) >> RX_TPA_START_CMPL_CFA_CODE_SHIFT)
 
+#define TPA_START_IS_IPV6(rx_tpa_start)                                \
+       (!!((rx_tpa_start)->rx_tpa_start_cmp_flags2 &           \
+           cpu_to_le32(RX_TPA_START_CMP_FLAGS2_IP_TYPE)))
+
 struct rx_tpa_end_cmp {
        __le32 rx_tpa_end_cmp_len_flags_type;
        #define RX_TPA_END_CMP_TYPE                             (0x3f << 0)
@@ -862,6 +866,7 @@ struct bnxt_pf_info {
        u8      vf_resv_strategy;
 #define BNXT_VF_RESV_STRATEGY_MAXIMAL  0
 #define BNXT_VF_RESV_STRATEGY_MINIMAL  1
+#define BNXT_VF_RESV_STRATEGY_MINIMAL_STATIC   2
        void                    *hwrm_cmd_req_addr[4];
        dma_addr_t              hwrm_cmd_req_dma_addr[4];
        struct bnxt_vf_info     *vf;
@@ -959,6 +964,9 @@ struct bnxt_link_info {
        u16                     advertising;    /* user adv setting */
        bool                    force_link_chng;
 
+       bool                    phy_retry;
+       unsigned long           phy_retry_expires;
+
        /* a copy of phy_qcfg output used to report link
         * info to VF
         */
@@ -990,6 +998,8 @@ struct bnxt_led_info {
 
 struct bnxt_test_info {
        u8 offline_mask;
+       u8 flags;
+#define BNXT_TEST_FL_EXT_LPBK  0x1
        u16 timeout;
        char string[BNXT_MAX_TEST][ETH_GSTRING_LEN];
 };
@@ -1185,6 +1195,7 @@ struct bnxt {
 #define BNXT_SINGLE_PF(bp)     (BNXT_PF(bp) && !BNXT_NPAR(bp) && !BNXT_MH(bp))
 #define BNXT_CHIP_TYPE_NITRO_A0(bp) ((bp)->flags & BNXT_FLAG_CHIP_NITRO_A0)
 #define BNXT_RX_PAGE_MODE(bp)  ((bp)->flags & BNXT_FLAG_RX_PAGE_MODE)
+#define BNXT_NEW_RM(bp)                ((bp)->flags & BNXT_FLAG_NEW_RM)
 
 /* Chip class phase 4 and later */
 #define BNXT_CHIP_P4_PLUS(bp)                  \
@@ -1287,9 +1298,6 @@ struct bnxt {
        dma_addr_t              hwrm_short_cmd_req_dma_addr;
        void                    *hwrm_cmd_resp_addr;
        dma_addr_t              hwrm_cmd_resp_dma_addr;
-       void                    *hwrm_dbg_resp_addr;
-       dma_addr_t              hwrm_dbg_resp_dma_addr;
-#define HWRM_DBG_REG_BUF_SIZE  128
 
        struct rx_port_stats    *hw_rx_port_stats;
        struct tx_port_stats    *hw_tx_port_stats;
@@ -1345,6 +1353,7 @@ struct bnxt {
 #define BNXT_GENEVE_DEL_PORT_SP_EVENT  13
 #define BNXT_LINK_SPEED_CHNG_SP_EVENT  14
 #define BNXT_FLOW_STATS_SP_EVENT       15
+#define BNXT_UPDATE_PHY_SP_EVENT       16
 
        struct bnxt_hw_resc     hw_resc;
        struct bnxt_pf_info     pf;
@@ -1470,7 +1479,6 @@ void bnxt_set_max_func_stat_ctxs(struct bnxt *bp, unsigned int max);
 unsigned int bnxt_get_max_func_cp_rings(struct bnxt *bp);
 void bnxt_set_max_func_cp_rings(struct bnxt *bp, unsigned int max);
 unsigned int bnxt_get_max_func_irqs(struct bnxt *bp);
-void bnxt_set_max_func_irqs(struct bnxt *bp, unsigned int max);
 int bnxt_get_avail_msix(struct bnxt *bp, int num);
 int bnxt_reserve_rings(struct bnxt *bp);
 void bnxt_tx_disable(struct bnxt *bp);