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 <and...@lunn.ch> wrote: > > > > > 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