Re: [PATCH net 3/4] net: bcmgenet: soft reset 40nm EPHYs before MAC init

From: Doug Berger
Date: Thu Oct 31 2019 - 14:57:26 EST


On 10/16/19 8:53 PM, Florian Fainelli wrote:
>
>
> On 10/16/2019 4:06 PM, Doug Berger wrote:
>> It turns out that the "Workaround for putting the PHY in IDDQ mode"
>> used by the internal EPHYs on 40nm Set-Top Box chips when powering
>> down puts the interface to the GENET MAC in a state that can cause
>> subsequent MAC resets to be incomplete.
>>
>> Rather than restore the forced soft reset when powering up internal
>> PHYs, this commit moves the invocation of phy_init_hw earlier in
>> the MAC initialization sequence to just before the MAC reset in the
>> open and resume functions. This allows the interface to be stable
>> and allows the MAC resets to be successful.
>>
>> The bcmgenet_mii_probe() function is split in two to accommodate
>> this. The new function bcmgenet_mii_connect() handles the first
>> half of the functionality before the MAC initialization, and the
>> bcmgenet_mii_config() function is extended to provide the remaining
>> PHY configuration following the MAC initialization.
>>
>> Fixes: 484bfa1507bf ("Revert "net: bcmgenet: Software reset EPHY after power on"")
>> Signed-off-by: Doug Berger <opendmb@xxxxxxxxx>
>
> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
>
> We will have to see how difficult it might be to back port towards
> stable trees of interest, hopefully not too difficult.
>

There is more going on here with the MAC reset than this commit resolves
and I am actively investigating a different approach that may include
the reversion of this commit.

Therefore, I would recommend not spending effort attempting to backport
this specific commit until I have submitted a more complete solution
(hopefully in the near future :).

Sorry for any confusion this creates.
Doug