Re: [PATCH 2/2] net: dsa: microchip: Provide Module 4 KSZ9477 errata (DS80000754C)
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2023-08-29 22:01:44
Also in:
lkml
On 8/29/23 14:57, Tristram.Ha@microchip.com wrote:
quoted
On Fri, Aug 25, 2023 at 06:48:41PM +0000, Tristram.Ha@microchip.com wrote:quoted
quoted
quoted
IMHO adding functions to MMD modification would facilitate further development (for example LED setup).We already have some KSZ9477 specific initialization done in the Micrel PHY driver under drivers/net/phy/micrel.c, can we converge on the PHY driver which has a reasonable amount of infrastructure for dealing with workarounds, indirect or direct MMD accesses etc.?Actually the internal PHY used in the KSZ9897/KSZ9477/KSZ9893 switches are special and only used inside those switches. Putting all the switch related code in Micrel PHY driver does not really help. When the switch is reset all those PHY registers need to be set again, but the PHY driver only executes those code during PHY initialization. I do not know if there is a good way to tell the PHY to re-initialize again.Suppose there was a method to tell the PHY driver to re-initialize itself. What would be the key points in which the DSA switch driver would need to trigger that method? Where is the switch reset at runtime?Currently the DSA switch driver loads independently and is then controlled by the main DSA driver. The switch is reset during initialization, and later the PHYs are initialized. I was talking hypothetically that the switch may need to be reset to correct some hardware problems, but then there may be no good way to tell the PHYs to re-initialize.
There is phy_init_hw() which will do just that. -- Florian