aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
diff options
context:
space:
mode:
authorFilip Sadowski <filip.sadowski@intel.com>2017-08-22 06:57:43 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2017-10-02 15:46:35 -0400
commitd60bcc798000e015940fb47eb23b79dd2fda5c9e (patch)
treedbd5c9d6da692ae7d9ca1ead8813b4d0dc89388e /drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
parent54902349ee95045b67e2f0c39b75f5418540064b (diff)
i40e: Fix reporting of supported link modes
This patch fixes incorrect reporting of supported link modes on some NICs. Signed-off-by: Filip Sadowski <filip.sadowski@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h')
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
index e2a9ec80a623..5d0291c1337e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
@@ -1734,6 +1734,8 @@ enum i40e_aq_phy_type {
1734 I40E_PHY_TYPE_10GBASE_CR1_CU = 0xB, 1734 I40E_PHY_TYPE_10GBASE_CR1_CU = 0xB,
1735 I40E_PHY_TYPE_10GBASE_AOC = 0xC, 1735 I40E_PHY_TYPE_10GBASE_AOC = 0xC,
1736 I40E_PHY_TYPE_40GBASE_AOC = 0xD, 1736 I40E_PHY_TYPE_40GBASE_AOC = 0xD,
1737 I40E_PHY_TYPE_UNRECOGNIZED = 0xE,
1738 I40E_PHY_TYPE_UNSUPPORTED = 0xF,
1737 I40E_PHY_TYPE_100BASE_TX = 0x11, 1739 I40E_PHY_TYPE_100BASE_TX = 0x11,
1738 I40E_PHY_TYPE_1000BASE_T = 0x12, 1740 I40E_PHY_TYPE_1000BASE_T = 0x12,
1739 I40E_PHY_TYPE_10GBASE_T = 0x13, 1741 I40E_PHY_TYPE_10GBASE_T = 0x13,
@@ -1752,6 +1754,8 @@ enum i40e_aq_phy_type {
1752 I40E_PHY_TYPE_25GBASE_CR = 0x20, 1754 I40E_PHY_TYPE_25GBASE_CR = 0x20,
1753 I40E_PHY_TYPE_25GBASE_SR = 0x21, 1755 I40E_PHY_TYPE_25GBASE_SR = 0x21,
1754 I40E_PHY_TYPE_25GBASE_LR = 0x22, 1756 I40E_PHY_TYPE_25GBASE_LR = 0x22,
1757 I40E_PHY_TYPE_EMPTY = 0xFE,
1758 I40E_PHY_TYPE_DEFAULT = 0xFF,
1755 I40E_PHY_TYPE_MAX 1759 I40E_PHY_TYPE_MAX
1756}; 1760};
1757 1761
@@ -1942,19 +1946,31 @@ struct i40e_aqc_get_link_status {
1942#define I40E_AQ_25G_SERDES_UCODE_ERR 0X04 1946#define I40E_AQ_25G_SERDES_UCODE_ERR 0X04
1943#define I40E_AQ_25G_NIMB_UCODE_ERR 0X05 1947#define I40E_AQ_25G_NIMB_UCODE_ERR 0X05
1944 u8 loopback; /* use defines from i40e_aqc_set_lb_mode */ 1948 u8 loopback; /* use defines from i40e_aqc_set_lb_mode */
1949/* Since firmware API 1.7 loopback field keeps power class info as well */
1950#define I40E_AQ_LOOPBACK_MASK 0x07
1951#define I40E_AQ_PWR_CLASS_SHIFT_LB 6
1952#define I40E_AQ_PWR_CLASS_MASK_LB (0x03 << I40E_AQ_PWR_CLASS_SHIFT_LB)
1945 __le16 max_frame_size; 1953 __le16 max_frame_size;
1946 u8 config; 1954 u8 config;
1947#define I40E_AQ_CONFIG_FEC_KR_ENA 0x01 1955#define I40E_AQ_CONFIG_FEC_KR_ENA 0x01
1948#define I40E_AQ_CONFIG_FEC_RS_ENA 0x02 1956#define I40E_AQ_CONFIG_FEC_RS_ENA 0x02
1949#define I40E_AQ_CONFIG_CRC_ENA 0x04 1957#define I40E_AQ_CONFIG_CRC_ENA 0x04
1950#define I40E_AQ_CONFIG_PACING_MASK 0x78 1958#define I40E_AQ_CONFIG_PACING_MASK 0x78
1951 u8 power_desc; 1959 union {
1960 struct {
1961 u8 power_desc;
1952#define I40E_AQ_LINK_POWER_CLASS_1 0x00 1962#define I40E_AQ_LINK_POWER_CLASS_1 0x00
1953#define I40E_AQ_LINK_POWER_CLASS_2 0x01 1963#define I40E_AQ_LINK_POWER_CLASS_2 0x01
1954#define I40E_AQ_LINK_POWER_CLASS_3 0x02 1964#define I40E_AQ_LINK_POWER_CLASS_3 0x02
1955#define I40E_AQ_LINK_POWER_CLASS_4 0x03 1965#define I40E_AQ_LINK_POWER_CLASS_4 0x03
1956#define I40E_AQ_PWR_CLASS_MASK 0x03 1966#define I40E_AQ_PWR_CLASS_MASK 0x03
1957 u8 reserved[4]; 1967 u8 reserved[4];
1968 };
1969 struct {
1970 u8 link_type[4];
1971 u8 link_type_ext;
1972 };
1973 };
1958}; 1974};
1959 1975
1960I40E_CHECK_CMD_LENGTH(i40e_aqc_get_link_status); 1976I40E_CHECK_CMD_LENGTH(i40e_aqc_get_link_status);