Re: [PATCH net-next 0/3] net: phy: Support enabling clocks prior to bus probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




W dniu 2020-09-04 o 06:04, Florian Fainelli pisze:


On 9/2/2020 9:39 PM, Florian Fainelli wrote:
Hi all,

This patch series takes care of enabling the Ethernet PHY clocks in
DT-based systems (we have no way to do it for ACPI, and ACPI would
likely keep all of this hardware enabled anyway).

Please test on your respective platforms, mine still seems to have
a race condition that I am tracking down as it looks like we are not
waiting long enough post clock enable.

The check on the clock reference count is necessary to avoid an
artificial bump of the clock reference count and to support the unbind
-> bind of the PHY driver. We could solve it in different ways.

Comments and test results welcome!

Andrew, while we figure out a proper way to support this with the Linux device driver model, would you be opposed in a single patch to drivers/net/mdio/mdio-bcm-unimac.c which takes care of enabling the PHY's clock during bus->reset just for the sake of getting those systems to work, and later on we move over to the pre-probe mechanism?

That would allow me to continue working with upstream kernels on these systems without carrying a big pile of patches.

Just a bunch of questions.

Actually, why is it necessary to have a full MDIO bus scan already during probing peripherals?

If during probing the peripherals enable their resources (like clocks), what's wrong in having the full MDIO bus scan after probing of all peripherals is complete (and all peripherals are up)?

Also, what's wrong in letting the MDIO bus scan find only some PHYs in the first go, and then letting each driver instance (of particular peripheral) initiate scan only for its specific PHY, if it was not found yet? (Is it thatof_mdio.h provides public function of_mdiobus_register, but not something similar to add only specific devices/phys without destroying the existing state?) I'd say that it is not necessary to have a PHY getting found before it is needed to setup the complete interface.

Best regards,
Adam



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux