Messages in this thread | | | Subject | Re: [PATCH net 2/2] net: bcmgenet: keep MAC in reset until PHY is up | From | Florian Fainelli <> | Date | Mon, 16 Mar 2020 19:22:08 -0700 |
| |
On 3/16/2020 2:44 PM, Doug Berger wrote: > As noted in commit 28c2d1a7a0bf ("net: bcmgenet: enable loopback > during UniMAC sw_reset") the UniMAC must be clocked at least 5 > cycles while the sw_reset is asserted to ensure a clean reset. > > That commit enabled local loopback to provide an Rx clock from the > GENET sourced Tx clk. However, when connected in MII mode the Tx > clk is sourced by the PHY so if an EPHY is not supplying clocks > (e.g. when the link is down) the UniMAC does not receive the > necessary clocks. > > This commit extends the sw_reset window until the PHY reports that > the link is up thereby ensuring that the clocks are being provided > to the MAC to produce a clean reset. > > One consequence is that if the system attempts to enter a Wake on > LAN suspend state when the PHY link has not been active the MAC > may not have had a chance to initialize cleanly. In this case, we > remove the sw_reset and enable the WoL reception path as normal > with the hope that the PHY will provide the necessary clocks to > drive the WoL blocks if the link becomes active after the system > has entered suspend. > > Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") > Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com> -- Florian
| |