On 10/20/2016 11:44 AM, David Miller wrote: > From: Florian Fainelli <f.faine...@gmail.com> > Date: Thu, 20 Oct 2016 09:32:19 -0700 > >> For a kernel that is being kexec'd we re-enable the integrated GPHY in >> order for the subsequent MDIO bus scan to succeed and properly bind to >> the bcm7xxx PHY driver. If we did not do that, the GPHY would be shut >> down by the time the MDIO driver is probing the bus, and it would fail >> to read the correct PHY OUI and therefore bind to an appropriate PHY >> driver. Later on, this would cause DSA not to be able to successfully >> attach to the PHY, and the interface would not be created at all. >> >> Signed-off-by: Florian Fainelli <f.faine...@gmail.com> > > Applied, but I have to wonder... > > If enabling the GPHY is necessary for proper probing, why isn't the > kexec kernel enabling it properly?
The GPHY enable control is unfortunately located in the switch register block space and is dependent upon the switch port to be enabled/accessible, which the DSA layer won't create if the GPHY is not successfully probed and bound to a PHY driver. It did not appear that probe deferral could help solve that problem, since MDIO and switch are reasonable independent from each other. This was the easiest way I could come up with, without requiring DT changes and references to register blocks that are not quite relevant to each other. HTH -- Florian