[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211130171859.6deeb17d@thinkpad>
Date: Tue, 30 Nov 2021 17:18:59 +0100
From: Marek BehĂșn <kabel@...nel.org>
To: "Russell King (Oracle)" <linux@...linux.org.uk>
Cc: netdev@...r.kernel.org, Andrew Lunn <andrew@...n.ch>,
Jakub Kicinski <kuba@...nel.org>, davem@...emloft.net
Subject: Re: [PATCH net 6/6] net: dsa: mv88e6xxx: Link in pcs_get_state() if
AN is bypassed
On Tue, 30 Nov 2021 16:15:50 +0000
"Russell King (Oracle)" <linux@...linux.org.uk> 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?
Powered by blists - more mailing lists