Messages in this thread | | | Date | Mon, 27 Jan 2020 16:11:32 +0000 | From | Russell King - ARM Linux admin <> | Subject | Re: [RFC net-next 6/8] net: phylink: Configure MAC/PCS when link is up without PHY |
| |
On Mon, Jan 27, 2020 at 03:51:07PM +0100, Andrew Lunn wrote: > > Can you give a hint which platform this is and how to reproduce it > > please? > > Hi Russell > > Devel C has issues with its fibre ports. I tend to test with > sff2/port9 not sff3/port3, because i also have the copper port plugged > in. If the copper gets link before the fibre, copper is used. > > What i see is that after the SERDES syncs, its registers indicate a 1G > link, full duplex, etc. But the MAC is using 10/Half. And hence no > packets go through. If i set the MAC to the same as the PCS, i can at > least transmit. Receive does not work, but i think that is something > else. The statistics counters indicate the SERDES is receiving frames, > but the MAC statistic counters suggests the MAC never sees them. > > I've also had issues with the DSA links, also being configured to > 10/Half. That seems to be related to having a phy-mode property in > device tree. I need to add a fixed-link property to set the correct > speed. Something is broken here, previously the fixed-link was only > needed if the speed needed to be lower than the ports maximum. I think > that is a separate issue i need to dig into, not part of the PCS to > MAC transfer.
Presumably, all these should be visible on the ZII rev B as well? I've not noticed any issues there, and I have 5.4 built from my tree on December 22nd which would've included most of what is in 5.5, and quite a bit of what's queued in net-next.
There, I see:
mv88e6xxx.0/regs: GLOBAL GLOBAL2 SERDES 0 1 2 3 4 5 6 mv88e6xxx.0/regs: 1: 2 8007 149 3 3 3 3 3 403e 3d mv88e6xxx.1/regs: GLOBAL GLOBAL2 SERDES 0 1 2 3 4 5 6 mv88e6xxx.1/regs: 1: 2 8807 14d 3 3 3 3 3 403e 403e mv88e6xxx.2/regs: GLOBAL GLOBAL2 SERDES 0 1 2 3 4 5 6 7 8 9 regs: 1: 7209 0 ffff c503 c503 c503 2403 2403 2403 2403 2403 2403 c13e
which looks fine to me: - switch 0 - port 5 is the DSA port, which is forced to 1G. - port 6 is the CPU port, which is forced to 100M. - switch 1 - ports 5 and 6 are DSA ports, forced to 1G - switch 2 - port 9 is the DSA port, forced to 1G.
Booting 5.5 is more noisy than 5.4 - there's loads of complaints about "already a member of VLAN 1". As far as the port MAC settings go, it looks just the same as the 5.4 settings I quoted above.
Now, I do have some differences between what is in mainline and my tree and one of them involves adding a whole bunch of "phylink_mac_config" and "phylink_link_force" methods to the mv88e6xxx_ops for Marvell DSA switches. Without these, dsa_port_phylink_mac_config() will ignore phylink's attempts to configure the MAC.
Quite why this is, I don't know; these are patches I've carried for ages, since trying to get the SFF modules working on these platforms, before mainline gained phylink support for DSA. I seem to remember that mainline's work was based on what I'd done, or was very similar, but I never really understood why bits such as this were left out. Since this work has been published online in my git tree since day 1, I find it really strange that people go off and do what seems to be a half-hearted implementation. See the "zii" branch.
Mainline did diverge on the issue of how the SFF modules should be driven; whether to drive them with the SFP code or whether to use a fixed-link instead. I've kept my original approach, which is less than perfect since we don't have a link interrupt to trigger the call to phylink_mac_change(). However, I'm suspecting that once we solve the PCS/MAC split issue, and use the clause 37 phylink PCS helpers I've proposed in the last few weeks, this will be resolvable.
> Heiner has another device which has an Aquantia PHY running in an odd > mode so that it does 1G over a T2 link. It uses SGMII for this, and > that is where we first noticed the issue of the MAC and PCS having > different configurations.
Do you know when the issue appeared?
It sounds like this regression has been known for some time, yet this is the first I've heard about it.
-- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up
| |