Subject: Re: [REGRESSION] net: pcs-lynx: 10G SFP no longer links up

From: "Russell King (Oracle)" <[email-masked]>
Date: Tue, 22 Apr 2025 17:03:45 +0100

On Fri, Apr 18, 2025 at 01:02:19PM +1000, Mathew McBride wrote:
> #regzbot introduced: 6561f0e547be221f411fda5eddfcc5bd8bb058a5
> 
> Hi Russell,
> 
> On Thu, Dec 5, 2024, at 8:42 PM, Russell King (Oracle) wrote:
> > Report the PCS in-band capabilities to phylink for the Lynx PCS.
> > 
> 
> The implementation of in-band capabilities has broken SFP+ (10GBase-R) mode on my LS1088 board.
> The other ports in the system (QSGMII) work fine.

Thanks for the report.

Please try the diff below:

diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
index 1bdd5d8bb5b0..2147e2d3003a 100644
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -3624,6 +3624,15 @@ static int phylink_sfp_config_optical(struct phylink *pl)
 	phylink_dbg(pl, "optical SFP: chosen %s interface\n",
 		    phy_modes(interface));
 
+	/* GBASE-R interfaces with the exception of KR do not have autoneg at
+	 * the PCS. As the PCS is media facing, disable the Autoneg bit in the
+	 * advertisement.
+	 */
+	if (interface == PHY_INTERFACE_MODE_5GBASER ||
+	    interface == PHY_INTERFACE_MODE_10GBASER ||
+	    interface == PHY_INTERFACE_MODE_25GBASER)
+		__clear_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, config.advertising);
+
 	if (!phylink_validate_pcs_inband_autoneg(pl, interface,
 						 config.advertising)) {
 		phylink_err(pl, "autoneg setting not compatible with PCS");

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!