[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b5fe5c07-584b-92bc-1dad-5f46931fbd5e@gmail.com>
Date: Mon, 16 Mar 2020 19:22:08 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Doug Berger <opendmb@...il.com>,
"David S. Miller" <davem@...emloft.net>
Cc: Florian Fainelli <f.fainelli@...il.com>,
bcm-kernel-feedback-list@...adcom.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net 2/2] net: bcmgenet: keep MAC in reset until PHY is up
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@...il.com>
Acked-by: Florian Fainelli <f.fainelli@...il.com>
--
Florian
Powered by blists - more mailing lists