Re: [PATCH net 6/6] net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2021-11-30 16:22:22
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2021-11-30 16:22:22
On Tue, Nov 30, 2021 at 05:18:59PM +0100, Marek Behún wrote:
On Tue, 30 Nov 2021 16:15:50 +0000 "Russell King (Oracle)" [off-list ref] wrote:quoted
On Tue, Nov 30, 2021 at 05:09:11PM +0100, Marek Behún wrote:quoted
Seems that BMSR_ANEGCAPABLE is set even if AN is disabled in BMCR.Hmm, that behaviour goes against 22.2.4.2.10: A PHY shall return a value of zero in bit 1.5 if Auto-Negotiation is disabled by clearing bit 0.12. A PHY shall also return a value of zero in bit 1.5 if it lacks the ability to perform Auto-Negotiation.quoted
I was under the impression that state->an_complete should only be set to true if AN is enabled.Yes - however as you've stated, the PHY doesn't follow 802.3 behaviour so I guess we should make the emulation appear compliant by fixing it like this.OK, I will use BMCR_ANENABLE and add a comment explaining that we can't use BMSR_ANEGCAPABLE because the PHY violates standard. Would that be okay?
Yes, thanks. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!