From: Grant Edwards <grant.b.edwards@gmail.com>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: netdev@vger.kernel.org
Subject: Re: net: macb: fail when there's no PHY
Date: Wed, 2 Dec 2020 12:10:49 -0600 [thread overview]
Message-ID: <X8fYqefWagIl15En@grante> (raw)
In-Reply-To: <66c0a032-4d20-69f1-deb4-6c65af6ec740@gmail.com>
On Thu, Sep 21, 2017 at 01:05:57PM -0700, Florian Fainelli wrote:
> On 09/21/2017 12:59 PM, Grant Edwards wrote:
> > Several years back (circa 2.6.33) I had to hack up macb.c to work on
> > an at91 board that didn't have a PHY connected to the macb controller.
> > [...]
> > It looks like the macb driver still can't handle boards that don't
> > have a PHY. Is that correct?
>
> Not since:
> dacdbb4dfc1a1a1378df8ebc914d4fe82259ed46 ("net: macb: add fixed-link
> node support")
>
> > What's the right way to deal with this?
>
> Declaring a fixed PHY that will present an emulated link UP, with a
> fixed speed/duplex etc. is the way to go.
Apologies, I know this thread is a few years old, but I finally got
around to working with a newer kernel (5.4) that has the "fixed phy"
support. Unfortunately, the existing "fixed phy" support is unusable
for us. It doesn't just present a fake fixed, PHY. It replaces the
entire mii (mdio/mdc) bus with a fake _bus_. That means our code loses
the ability to talk to the devices that are attached to the macb's
mdio management bus.
So, I ended up porting my hack from the 2.6.33 macb.c driver to the
5.4 macb.c driver. It presents a fake PHY at one address on the mdio
bus, but still allows normal communication with devices at other
addresses on the bus. We use SIOC[SG]MIIREG ioctl() calls from
userspace to talk to those real devices. Adding a fake PHY to the
macb's mdio bus takes a total of about two dozen lines of code.
Was there some other way I should have done this with a 5.4 kernel
that I was unable to discover?
[Unfortunately, the performance of the 5.4 kernel on an ARM926 is so
bad I don't think we're going to be able to use it.]
--
Grant
prev parent reply other threads:[~2020-12-02 18:11 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-21 19:59 net: macb: fail when there's no PHY Grant Edwards
2017-09-21 20:05 ` Florian Fainelli
2017-09-21 20:36 ` Grant Edwards
2017-09-21 21:35 ` Brandon Streiff
2017-09-29 7:05 ` Harini Katakam
[not found] ` <CAK=1mW6Gti0QpUjirB6PfMCiQvnDjkbb56pVKkQmpCSkRU6wtA@mail.gmail.com>
2020-12-02 18:10 ` Florian Fainelli
2020-12-02 18:24 ` Grant Edwards
2020-12-02 18:35 ` Andrew Lunn
2020-12-02 19:16 ` Grant Edwards
2020-12-02 21:11 ` Andrew Lunn
2020-12-02 21:23 ` Grant Edwards
2020-12-03 2:39 ` Andrew Lunn
2020-12-03 3:03 ` Grant Edwards
2020-12-03 3:42 ` Florian Fainelli
2020-12-03 3:54 ` Grant Edwards
2020-12-03 4:07 ` Andrew Lunn
2020-12-03 15:07 ` Grant Edwards
2020-12-03 21:17 ` Andrew Lunn
2020-12-03 21:39 ` Grant Edwards
2020-12-03 21:49 ` Andrew Lunn
2020-12-03 22:20 ` Grant Edwards
2020-12-04 8:28 ` Alexander Dahl
2020-12-04 17:36 ` Andrew Lunn
2020-12-04 16:47 ` Florian Fainelli
2020-12-05 2:52 ` Grant Edwards
2020-12-05 3:06 ` Florian Fainelli
2020-12-03 4:00 ` Andrew Lunn
2020-12-02 18:10 ` Grant Edwards [this message]
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=X8fYqefWagIl15En@grante \
--to=grant.b.edwards@gmail.com \
--cc=f.fainelli@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).