Subject: Re: [PATCH net 6/6] net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed

From: Marek Behún <[email-masked]>
Date: Tue, 30 Nov 2021 17:18:59 +0100

On Tue, 30 Nov 2021 16:15:50 +0000
"Russell King (Oracle)" <[email-masked]> wrote:

> On Tue, Nov 30, 2021 at 05:09:11PM +0100, Marek Behún wrote:
> > 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.
> 
> > 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?