All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Jeremy Linton <jeremy.linton@arm.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net, andrew@lunn.ch,
	f.fainelli@gmail.com, hkallweit1@gmail.com,
	madalin.bucur@oss.nxp.com, calvin.johnson@oss.nxp.com,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC 07/11] net: phy: reset invalid phy reads of 0 back to 0xffffffff
Date: Mon, 25 May 2020 09:20:45 +0100	[thread overview]
Message-ID: <20200525082045.GG1551@shell.armlinux.org.uk> (raw)
In-Reply-To: <d6d71908-58a0-96c9-b046-9a4739cc7bcd@arm.com>

On Sun, May 24, 2020 at 11:20:01PM -0500, Jeremy Linton wrote:
> Hi,
> 
> On 5/23/20 1:44 PM, Russell King - ARM Linux admin wrote:
> > On Fri, May 22, 2020 at 04:30:55PM -0500, Jeremy Linton wrote:
> > > MMD's in the device list sometimes return 0 for their id.
> > > When that happens lets reset the id back to 0xfffffff so
> > > that we don't get a stub device created for it.
> > > 
> > > This is a questionable commit, but i'm tossing it out
> > > there along with the comment that reading the spec
> > > seems to indicate that maybe there are further registers
> > > that could be probed in an attempt to resolve some futher
> > > "bad" phys. It sort of comes down to do we want unused phy
> > > devices floating around (potentially unmatched in dt) or
> > > do we want to cut them off early and let DT create them
> > > directly.
> > 
> > I'm not sure what you mean "stub device" or "unused phy devices
> > floating around" - the individual MMDs are not treated as separate
> > "phy devices", but as one PHY device as a whole.
> > 
> 
> Well, I guess its clearer to say phy/mmd devices with a phy_id=0. Which is a
> problem if we don't have DT overriding the phy_id for a given address.
> Although AFAIK given a couple of the /sys/bus/mdio_bus/devices lists I've
> seen, and after studying this code for a while now, I think "bogus" phy's
> might be getting created*. I was far to easy, to upset the cart when I was
> hacking on this set, and end up with a directory chuck full of phys.
> 
> So this gets close to one of the questions I asked in the cover letter. This
> patch and 09/11 serve to cut off possibly valid phy's which are failing to
> identify themselves using the standard registers. Which per the 802.3 spec
> there is a blurb about 0 in the id registers for some cases. Its not really
> a critical problem for ACPI machines to have these phys around (OTOH, there
> might be issues with c22 phys on c45 electrical buses that respond to c45
> reg requests but don't set the c22 regs flag, I haven't seen that yet.).

If you have a classical clause 22 PHY on a clause 45 bus, it isn't
going to respond to clause 45 cycles, so it isn't going to respond to
a request to read the devices-in-package register, so there is no
"c22 regs" flag.

> I
> considered dropping this patch, and 9/11 was a last minute addition. I kept
> it because I was worried all those extra "reserved" MMDs would end up with
> id = 0's in there and break something.
> 
> * In places where there isn't actually a phy, likely a large part of the
> problem was clearing the c22 bit, which allowed 0xFFFFFFFF returns to slip
> through the devices list.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC for 0.8m (est. 1762m) line in suburbia: sync at 13.1Mbps down 424kbps up

  reply	other threads:[~2020-05-25  8:20 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-22 21:30 [RFC 00/11] Make C45 autoprobe more robust Jeremy Linton
2020-05-22 21:30 ` [RFC 01/11] net: phy: Don't report success if devices weren't found Jeremy Linton
2020-05-23 18:20   ` Russell King - ARM Linux admin
2020-05-25  2:46     ` Jeremy Linton
2020-05-25  9:45       ` Russell King - ARM Linux admin
2020-05-25 21:02         ` Jeremy Linton
2020-05-25 21:07           ` Russell King - ARM Linux admin
2020-05-25 21:59             ` Jeremy Linton
2020-05-22 21:30 ` [RFC 02/11] net: phy: Simplify MMD device list termination Jeremy Linton
2020-05-23 18:36   ` Russell King - ARM Linux admin
2020-05-25  2:48     ` Jeremy Linton
2020-05-25  8:09       ` Russell King - ARM Linux admin
2020-05-22 21:30 ` [RFC 03/11] net: phy: refactor c45 phy identification sequence Jeremy Linton
2020-05-23 15:28   ` Andrew Lunn
2020-05-23 17:16     ` Jeremy Linton
2020-05-23 17:32     ` Jeremy Linton
2020-05-23 19:12       ` Russell King - ARM Linux admin
2020-05-23 18:30   ` Russell King - ARM Linux admin
2020-05-23 19:51     ` Andrew Lunn
2020-05-23 20:01       ` Russell King - ARM Linux admin
2020-05-25  2:37         ` Jeremy Linton
2020-05-22 21:30 ` [RFC 04/11] net: phy: Handle c22 regs presence better Jeremy Linton
2020-05-23 18:37   ` Russell King - ARM Linux admin
2020-05-25  3:34     ` Jeremy Linton
2020-05-25  9:53       ` Russell King - ARM Linux admin
2020-05-25 10:06       ` Russell King - ARM Linux admin
2020-05-25 21:51         ` Jeremy Linton
2020-05-25 22:01           ` Russell King - ARM Linux admin
2020-05-25 22:22             ` Jeremy Linton
2020-05-25 23:09               ` Russell King - ARM Linux admin
2020-05-25 23:22                 ` Jeremy Linton
2020-05-25 23:33                   ` Russell King - ARM Linux admin
2020-05-25 23:42                     ` Jeremy Linton
2020-05-25 23:46                       ` Andrew Lunn
2020-05-25 23:57                       ` Russell King - ARM Linux admin
2020-05-25 23:16             ` Jeremy Linton
2020-05-25 23:30               ` Russell King - ARM Linux admin
2020-05-25 22:06           ` Andrew Lunn
2020-05-25 22:17             ` Jeremy Linton
2020-05-25 23:06               ` Andrew Lunn
2020-05-25 23:07               ` Russell King - ARM Linux admin
2020-05-25 23:12                 ` Andrew Lunn
2020-05-25 23:46                   ` Jeremy Linton
2020-05-25 23:47                     ` Andrew Lunn
2020-05-22 21:30 ` [RFC 05/11] net: phy: Scan the entire MMD device space Jeremy Linton
2020-05-22 21:30 ` [RFC 06/11] net: phy: Hoist no phy detected state Jeremy Linton
2020-05-22 21:30 ` [RFC 07/11] net: phy: reset invalid phy reads of 0 back to 0xffffffff Jeremy Linton
2020-05-23 18:44   ` Russell King - ARM Linux admin
2020-05-25  4:20     ` Jeremy Linton
2020-05-25  8:20       ` Russell King - ARM Linux admin [this message]
2020-05-22 21:30 ` [RFC 08/11] net: phy: Allow mdio buses to auto-probe c45 devices Jeremy Linton
2020-05-24 14:44   ` Andrew Lunn
2020-05-25  4:28     ` Jeremy Linton
2020-05-25  8:25       ` Russell King - ARM Linux admin
2020-05-25 13:43         ` Andrew Lunn
2020-05-25 22:09         ` Jeremy Linton
2020-05-25 22:41           ` Russell King - ARM Linux admin
2020-05-22 21:30 ` [RFC 09/11] net: phy: Refuse to consider phy_id=0 a valid phy Jeremy Linton
2020-05-22 21:30 ` [RFC 10/11] net: example acpize xgmac_mdio Jeremy Linton
2020-05-23 18:48   ` Russell King - ARM Linux admin
2020-05-22 21:30 ` [RFC 11/11] net: example xgmac enable extended scanning Jeremy Linton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200525082045.GG1551@shell.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=andrew@lunn.ch \
    --cc=calvin.johnson@oss.nxp.com \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=jeremy.linton@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=madalin.bucur@oss.nxp.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.