Thread (41 messages) flat view 41 messages, 6 authors, 2020-11-14

Re: realtek PHY commit bbc4d71d63549 causes regression

From: Andrew Lunn <andrew@lunn.ch>
Date: 2020-10-17 23:02:35

On Sun, Oct 18, 2020 at 12:19:25AM +0200, Ard Biesheuvel wrote:
(cc'ing some folks who may care about functional networking on SynQuacer)

On Sat, 17 Oct 2020 at 21:49, Andrew Lunn [off-list ref] wrote:
quoted
quoted
So we can fix this firmware by just setting phy-mode to the empty
string, right?
I've never actually tried it, but i think so. There are no DT files
actually doing that, so you really do need to test it and see. And
there might be some differences between device_get_phy_mode() and
of_get_phy_mode().
Yes, that works fine. Fixed now in the latest firmware build [0]
Thanks for reporting back on that. It probably needs to be something
we always recommend for ACPI systems, either use "", or preferably no
phy-mode at all, and let the driver default to NA. ACPI and networking
is at a very early stage at the moment, since UEFA says nothing about
it. It will take a while before we figure out the best practices, and
some vendor gets something added to the ACPI specifications.
But that still leaves the question whether and how to work around this
for units in the field. Ignoring the PHY mode in the driver would
help, as all known hardware ships with firmware that configures the
PHY with the correct settings, but we will lose the ability to use
other PHY modes in the future, in case the SoC is ever used with DT
based minimal firmware that does not configure networking.

Since ACPI implies rich firmware, we could make ACPI probing of the
driver ignore the phy-mode setting in the DSDT.
I'm O.K. with that, for this driver, but please add a comment in the
code about why ACPI ignores DSDT, because of older broken firmware.
But if we don't do the same for DT, it would mean DT users are
forced to upgrade their firmware, and hopefully do so before
upgrading to a kernel that breaks networking.
Nothing new there. As i said, we have been through this before with
the Atheros PHY and others.

One option would be to move the DT into the kernel and fix it. Most
distributions already use the DT version shipped with the kernel, so
they would automatically get the fixed DT at the same time as the
kernel which needs the fix.

       Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help