Re: [PATCH net] net: mvpp2: Enable autoneg bypass for 1000BaseX/2500BaseX ports

From: Russell King - ARM Linux admin
Date: Wed Jun 03 2020 - 10:59:11 EST

On Wed, Jun 03, 2020 at 03:21:47PM +0200, Andrew Lunn wrote:
> On Tue, Jun 02, 2020 at 11:50:17PM +0100, Russell King - ARM Linux admin wrote:
> > On Fri, May 29, 2020 at 06:33:40PM +0200, Andrew Lunn wrote:
> > > Given the current code, you cannot. Now we understand the
> > > requirements, we can come up with some ideas how to do this properly.
> >
> > Okay, I've been a little quiet because of sorting out the ARM tree
> > for merging with Linus (now done) and I've been working on a solution
> > to this problem.
> >
> > The good news is, I have an implementation in phylink to use the sync
> > status reported from a PCS, and to appropriately enable sync status
> > reporting. I'm quite nervous about having that enabled as a matter of
> > routine as I've seen some Marvell hardware end up with interrupt storms
> > from it - presumably due to noise pickup on the serdes lines being
> > interpreted as an intermittently valid signal.
> Hi Russell
> I have seen similar with an SFP without link. I think squelch is
> optional, so noise gets passed through, which is enough to get and
> loose sync.
> I think we probably need to only enable the interrupt when the LOS
> signal indicates there is at least some power coming into the SFP.

This doesn't help in Thomas' case, there is no LOS signal. I was
proposing that Thomas uses fixed-link to describe the setup (because
that's exactly what it is) but use the serdes sync status as an
additional gate for "link up".

Given that we have platforms that hammer the CPU with interrupts
when AN bypass is enabled, I think that setup is also a non-starter
for the mainline kernel without some way for firmware to tell the
kernel that it's okay to use it.

RMK's Patch system:
FTTC for 0.8m (est. 1762m) line in suburbia: sync at 13.1Mbps down 424kbps up