git: 6cd58ec39351 - stable/13 - ixgbe: fix x550em 10G NIC link status

Kevin Bowling kbowling at FreeBSD.org
Tue Sep 14 00:41:16 UTC 2021


The branch stable/13 has been updated by kbowling (ports committer):

URL: https://cgit.FreeBSD.org/src/commit/?id=6cd58ec393513b77225579fdd83dd39bb32fe9bd

commit 6cd58ec393513b77225579fdd83dd39bb32fe9bd
Author:     Guinan Sun <guinanx.sun at intel.com>
AuthorDate: 2020-07-09 08:00:30 +0000
Commit:     Kevin Bowling <kbowling at FreeBSD.org>
CommitDate: 2021-09-14 00:37:02 +0000

    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 at intel.com>
    Signed-off-by: Guinan Sun <guinanx.sun at intel.com>
    Reviewed-by: Wei Zhao <wei.zhao1 at 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)
---
 sys/dev/ixgbe/ixgbe_x550.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

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;


More information about the dev-commits-src-all mailing list