[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201020141525.GD1551@shell.armlinux.org.uk>
Date: Tue, 20 Oct 2020 15:15:25 +0100
From: Russell King - ARM Linux admin <linux@...linux.org.uk>
To: Andrew Lunn <andrew@...n.ch>
Cc: Marek Behun <marek.behun@....cz>,
Chris Packham <chris.packham@...iedtelesis.co.nz>,
vivien.didelot@...il.com, f.fainelli@...il.com, olteanv@...il.com,
davem@...emloft.net, kuba@...nel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 1/3] net: dsa: mv88e6xxx: Don't force link when using
in-band-status
On Tue, Oct 20, 2020 at 04:05:35PM +0200, Andrew Lunn wrote:
> On Tue, Oct 20, 2020 at 03:49:40PM +0200, Marek Behun wrote:
> > On Tue, 20 Oct 2020 11:15:52 +0100
> > Russell King - ARM Linux admin <linux@...linux.org.uk> wrote:
> >
> > > On Tue, Oct 20, 2020 at 04:45:56PM +1300, Chris Packham wrote:
> > > > When a port is configured with 'managed = "in-band-status"' don't force
> > > > the link up, the switch MAC will detect the link status correctly.
> > > >
> > > > Signed-off-by: Chris Packham <chris.packham@...iedtelesis.co.nz>
> > > > Reviewed-by: Andrew Lunn <andrew@...n.ch>
> > >
> > > I thought we had issues with the 88E6390 where the PCS does not
> > > update the MAC with its results. Isn't this going to break the
> > > 6390? Andrew?
> > >
> >
> > Russell, I tested this patch on Turris MOX with 6390 on port 9 (cpu
> > port) which is configured in devicetree as 2500base-x, in-band-status,
> > and it works...
> >
> > Or will this break on user ports?
>
> User ports is what needs testing, ideally with an SFP.
>
> There used to be explicit code which when the SERDES reported link up,
> the MAC was configured in software with the correct speed etc. With
> the move to pcs APIs, it is less obvious how this works now, does it
> still software configure the MAC, or do we have the right magic so
> that the hardware updates itself.
It's still there. The speed/duplex etc are read from the serdes PHY
via mv88e6390_serdes_pcs_get_state(). When the link comes up, we
pass the negotiated link parameters read from there to the link_up()
functions. For ports where mv88e6xxx_port_ppu_updates() returns false
(no external PHY) we update the port's speed and duplex setting and
(currently, before this patch) force the link up.
That was the behaviour before I converted the code, the one that you
referred to. I had assumed the code was correct, and _none_ of the
speed, duplex, nor link state was propagated from the serdes PCS to
the port on the 88E6390 - hence why the code you refer to existed.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
Powered by blists - more mailing lists