aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuinan Sun <guinanx.sun@intel.com>2020-07-09 08:00:30 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2021-09-14 00:43:19 +0000
commit8b6d4eea1b5269dc8968b0c24ab866b494d0a5a0 (patch)
treeb1e63a668cd08474c18cf987027a5dee86ee1916
parent4cb3405226c4f14c75b555b328faf2be3ff2efd8 (diff)
downloadsrc-8b6d4eea1b5269dc8968b0c24ab866b494d0a5a0.tar.gz
src-8b6d4eea1b5269dc8968b0c24ab866b494d0a5a0.zip
ixgbe: fix x550em 10G NIC link status
With the NVM image for x550em XFI will not report the auto-negotiation feature correctly. The auto-negotiation should be "No" for supports and advertised items. At the same time update speed makes it support 1G and 10G. Signed-off-by: Piotr Skajewski <piotrx.skajewski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Reviewed-by: Wei Zhao <wei.zhao1@intel.com> Approved by: imp Obtained from: DPDK (fb03b51da940f1d56d701776fd85a0dfc1ace098) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31621 (cherry picked from commit 8e9f1b239dc00a2375af87c48321f85a1e37c14e)
-rw-r--r--sys/dev/ixgbe/ixgbe_x550.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/ixgbe/ixgbe_x550.c b/sys/dev/ixgbe/ixgbe_x550.c
index 868b5cdc2e70..03904c026cae 100644
--- a/sys/dev/ixgbe/ixgbe_x550.c
+++ b/sys/dev/ixgbe/ixgbe_x550.c
@@ -1912,7 +1912,14 @@ s32 ixgbe_get_link_capabilities_X550em(struct ixgbe_hw *hw,
else
*speed = IXGBE_LINK_SPEED_10GB_FULL;
} else {
+ *autoneg = true;
+
switch (hw->phy.type) {
+ case ixgbe_phy_x550em_xfi:
+ *speed = IXGBE_LINK_SPEED_1GB_FULL |
+ IXGBE_LINK_SPEED_10GB_FULL;
+ *autoneg = false;
+ break;
case ixgbe_phy_ext_1g_t:
case ixgbe_phy_sgmii:
*speed = IXGBE_LINK_SPEED_1GB_FULL;
@@ -1936,7 +1943,6 @@ s32 ixgbe_get_link_capabilities_X550em(struct ixgbe_hw *hw,
IXGBE_LINK_SPEED_1GB_FULL;
break;
}
- *autoneg = TRUE;
}
return IXGBE_SUCCESS;