All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: "Marek Behún" <kabel@kernel.org>
Cc: andrew@lunn.ch, netdev@vger.kernel.org, olteanv@gmail.com,
	pavana.sharma@digi.com
Subject: Re: mv88e6xxx: 2500base-x inband AN is broken on Amethyst? what to do?
Date: Wed, 13 Jan 2021 21:21:25 +0000	[thread overview]
Message-ID: <20210113212125.GJ1551@shell.armlinux.org.uk> (raw)
In-Reply-To: <20210113210839.40bb9446@kernel.org>

On Wed, Jan 13, 2021 at 09:08:39PM +0100, Marek Behún wrote:
> OK, so I did some tests with Peridot and 88X3310:
> 
> On 88E6390 switch, when CMODE in the port register for a port capable of
> SerDes is set to 1000base-x, the switch self-configures the SerDes PHY
> to inband AN:
>   register 4.2000 has value 0x1940
> 
> but when CMODE is set to 2500base-x, the switch self-configure the PHY
> without inband AN:
>   register 4.2000 has value 0x0940
> 
> Also the 88X3310 PHY, when configured with MACTYPE=4
>  (that is the mode that switches host interface between
>   10gbase-r/5gbase-r/2500base-x/sgmii, depending on copper speed)
> and when copper speed is 2500, the PHY self-configures without inband
> AN:
>   register 4.2000 has value 0x0140
> 
> It seems to me that on these Marvell devices, they consider 2500base-x
> not capable of inband AN and disable it by default.
> 
> Moreover when the PHY has disabled inband AN and the Peridot switch has
> it enabled (by software), they won't link. I tried enabling the inband
> AN on the PHY, but it does not seem to work. Peridot can only
> communicate with the PHY in 2500base-x with inband AN disabled.
> 
> This means that the commit
>   a5a6858b793ff ("net: dsa: mv88e6xxx: extend phylink to Serdes PHYs")
> causes a regression, since the code started enabling inband AN on
> 2500base-x mode on the mv88e6390 family, and they stopped working with
> the PHY.
> 
> Russell, could we, for now, just edit the code so that when
>   mv88e6390_serdes_pcs_config
> is being configured with inband mode in 2500base-x, the inband mode
> won't be enabled and the function will print a warning?
> This could come with a Fixes tag so that it is backported to stable.

I don't see any other easy option, so yes, please do that.

> Afterwards we can work on refactoring the phylink code so that either
> the driver can inform phylink whether 2500base-x inband AN is supported,
> or maybe we can determine from some documentation or whatnot whether
> inband AN is supported on 2500base-x at all.

I suspect there is no definitive documentation on exactly what
2500base-x actually is. I suspect it may just be easier to turn off AN
for 2500base-x everywhere, so at least all Linux systems are compatible
irrespective of the hardware.

Yes, it means losing pause negotiation, and people will have to
manually set pause on each end.

One thing that I don't know is whether the GPON SFP ONT modules that
use 2500base-x will still function with AN disabled - although I have
the modules, it appeared that they both needed a connection to the ONU
to switch from 1000base-x to 2500base-x on the host side - and as I
don't have an ONU I can test with, I have no way to check their
behaviour.

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

  reply	other threads:[~2021-01-14  2:16 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-13  0:18 mv88e6xxx: 2500base-x inband AN is broken on Amethyst? what to do? Marek Behún
2021-01-13  4:22 ` Marek Behun
2021-01-13 10:28 ` Russell King - ARM Linux admin
2021-01-13 17:03   ` Marek Behún
2021-01-13 20:08   ` Marek Behún
2021-01-13 21:21     ` Russell King - ARM Linux admin [this message]
2021-01-13 21:37       ` Marek Behún
2021-01-13 21:48         ` Russell King - ARM Linux admin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210113212125.GJ1551@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=kabel@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pavana.sharma@digi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.