Re: [RFC PATCH 3/8] net: pcs: pcs-mtk-lynxi: use 2500Base-X without AN

From: Russell King (Oracle)
Date: Fri Nov 10 2023 - 15:42:09 EST


On Thu, Nov 09, 2023 at 09:51:22PM +0000, Daniel Golle wrote:
> Using 2500Base-T SFP modules e.g. on the BananaPi R3 requires manually
> disabling auto-negotiation, e.g. using ethtool. While a proper fix
> using SFP quirks is being discussed upstream, bring a work-around to
> restore user experience to what it was before the switch to the
> dedicated SGMII PCS driver.

No.

> @@ -129,7 +138,8 @@ static int mtk_pcs_lynxi_config(struct phylink_pcs *pcs, unsigned int neg_mode,
> if (neg_mode & PHYLINK_PCS_NEG_INBAND)
> sgm_mode |= SGMII_REMOTE_FAULT_DIS;
>
> - if (neg_mode == PHYLINK_PCS_NEG_INBAND_ENABLED) {
> + if (neg_mode == PHYLINK_PCS_NEG_INBAND_ENABLED &&
> + interface != PHY_INTERFACE_MODE_2500BASEX) {
> if (interface == PHY_INTERFACE_MODE_SGMII)
> sgm_mode |= SGMII_SPEED_DUPLEX_AN;
> bmcr = BMCR_ANENABLE;

Phylink is asking you to have inband enabled. If inband needs to be
disabled, then we need to arrange for phylink to pass
PHYLINK_PCS_NEG_INBAND_DISABLED.

Please don't hack special handling and behaviour into drivers.

Thanks.

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