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:37:02 +0000
commit6cd58ec393513b77225579fdd83dd39bb32fe9bd (patch)
tree379a585653aa0c77ef171348e6b7cf8859f160b7
parent2e6fe4187335454e888d9c11b8054279a561ac78 (diff)
downloadsrc-6cd58ec393513b77225579fdd83dd39bb32fe9bd.tar.gz
src-6cd58ec393513b77225579fdd83dd39bb32fe9bd.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;