net/hns3: support flow control
[dpdk.git] / drivers / net / ixgbe / base / ixgbe_type.h
index cc26496..077b8f0 100644 (file)
@@ -17,8 +17,8 @@
  *
  * - IXGBE_ERROR_POLLING
  * This category is for errors related to polling/timeout issues and should be
- * used in any case where the timeout occured, or a failure to obtain a lock, or
- * failure to receive data within the time limit.
+ * used in any case where the timeout occurred, or a failure to obtain a lock,
+ * or failure to receive data within the time limit.
  *
  * - IXGBE_ERROR_CAUTION
  * This category should be used for reporting issues that may be the cause of
 #define IXGBE_DEV_ID_82599_T3_LOM              0x151C
 #define IXGBE_DEV_ID_82599_VF                  0x10ED
 #define IXGBE_DEV_ID_82599_VF_HV               0x152E
-#define IXGBE_DEV_ID_82599_LS                  0x154F
-#define IXGBE_DEV_ID_82599_BYPASS              0x155D
 #define IXGBE_DEV_ID_X540T                     0x1528
 #define IXGBE_DEV_ID_X540_VF                   0x1515
 #define IXGBE_DEV_ID_X540_VF_HV                        0x1530
-#define IXGBE_DEV_ID_X540_BYPASS               0x155C
 #define IXGBE_DEV_ID_X540T1                    0x1560
 #define IXGBE_DEV_ID_X550T                     0x1563
 #define IXGBE_DEV_ID_X550T1                    0x15D1
@@ -853,6 +850,10 @@ struct ixgbe_dmac_config {
 #define IXGBE_RTTDQSEL         0x04904
 #define IXGBE_RTTDT1C          0x04908
 #define IXGBE_RTTDT1S          0x0490C
+#define IXGBE_RTTQCNCR         0x08B00
+#define IXGBE_RTTQCNTG         0x04A90
+#define IXGBE_RTTBCNRD         0x0498C
+#define IXGBE_RTTQCNRR         0x0498C
 #define IXGBE_RTTDTECC         0x04990
 #define IXGBE_RTTDTECC_NO_BCN  0x00000100
 
@@ -863,6 +864,7 @@ struct ixgbe_dmac_config {
 #define IXGBE_RTTBCNRC_RF_INT_MASK \
        (IXGBE_RTTBCNRC_RF_DEC_MASK << IXGBE_RTTBCNRC_RF_INT_SHIFT)
 #define IXGBE_RTTBCNRM 0x04980
+#define IXGBE_RTTQCNRM 0x04980
 
 /* BCN (for DCB) Registers */
 #define IXGBE_RTTBCNRS 0x04988
@@ -1070,6 +1072,9 @@ struct ixgbe_dmac_config {
 #define IXGBE_FWSM_MODE_MASK   0xE
 #define IXGBE_FWSM_TS_ENABLED  0x1
 #define IXGBE_FWSM_FW_MODE_PT  0x4
+#define IXGBE_FWSM_FW_NVM_RECOVERY_MODE (1 << 5)
+#define IXGBE_FWSM_EXT_ERR_IND_MASK 0x01F80000
+#define IXGBE_FWSM_FW_VAL_BIT  (1 << 15)
 
 /* ARC Subsystem registers */
 #define IXGBE_HICR             0x15F00
@@ -3719,6 +3724,8 @@ enum ixgbe_sfp_type {
        ixgbe_sfp_type_1g_sx_core1 = 12,
        ixgbe_sfp_type_1g_lx_core0 = 13,
        ixgbe_sfp_type_1g_lx_core1 = 14,
+       ixgbe_sfp_type_1g_lha_core0 = 15,
+       ixgbe_sfp_type_1g_lha_core1 = 16,
        ixgbe_sfp_type_not_present = 0xFFFE,
        ixgbe_sfp_type_unknown = 0xFFFF
 };
@@ -3726,9 +3733,7 @@ enum ixgbe_sfp_type {
 enum ixgbe_media_type {
        ixgbe_media_type_unknown = 0,
        ixgbe_media_type_fiber,
-       ixgbe_media_type_fiber_fixed,
        ixgbe_media_type_fiber_qsfp,
-       ixgbe_media_type_fiber_lco,
        ixgbe_media_type_copper,
        ixgbe_media_type_backplane,
        ixgbe_media_type_cx4,
@@ -4021,6 +4026,7 @@ struct ixgbe_mac_operations {
        void (*enable_mdd)(struct ixgbe_hw *hw);
        void (*mdd_event)(struct ixgbe_hw *hw, u32 *vf_bitmap);
        void (*restore_mdd_vf)(struct ixgbe_hw *hw, u32 vf);
+       bool (*fw_recovery_mode)(struct ixgbe_hw *hw);
 };
 
 struct ixgbe_phy_operations {