[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b12c9e59-cb96-dd88-e2b7-31517bd0f63e@sholland.org>
Date: Mon, 8 Feb 2021 21:24:27 -0600
From: Samuel Holland <samuel@...lland.org>
To: Alexander Duyck <alexander.duyck@...il.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@...com>,
Alexandre Torgue <alexandre.torgue@...com>,
Jose Abreu <joabreu@...opsys.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Maxime Ripard <mripard@...nel.org>,
Chen-Yu Tsai <wens@...e.org>,
Jernej Skrabec <jernej.skrabec@...l.net>,
Corentin Labbe <clabbe@...libre.com>,
Ondrej Jirman <megous@...ous.com>,
Netdev <netdev@...r.kernel.org>,
linux-arm-kernel@...ts.infradead.org,
LKML <linux-kernel@...r.kernel.org>, linux-sunxi@...glegroups.com
Subject: Re: [PATCH net-next RESEND 3/5] net: stmmac: dwmac-sun8i: Use
reset_control_reset
On 2/8/21 10:29 AM, Alexander Duyck wrote:
> On Sun, Feb 7, 2021 at 10:32 PM Samuel Holland <samuel@...lland.org> wrote:
>>
>> Use the appropriate function instead of reimplementing it,
>> and update the error message to match the code.
>>
>> Reviewed-by: Chen-Yu Tsai <wens@...e.org>
>> Signed-off-by: Samuel Holland <samuel@...lland.org>
>> ---
>> drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 6 ++----
>> 1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
>> index 3c3d0b99d3e8..0e8d88417251 100644
>> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
>> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
>> @@ -806,11 +806,9 @@ static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv)
>> /* Make sure the EPHY is properly reseted, as U-Boot may leave
>> * it at deasserted state, and thus it may fail to reset EMAC.
>> */
>> - reset_control_assert(gmac->rst_ephy);
>> -
>> - ret = reset_control_deassert(gmac->rst_ephy);
>> + ret = reset_control_reset(gmac->rst_ephy);
>> if (ret) {
>> - dev_err(priv->device, "Cannot deassert internal phy\n");
>> + dev_err(priv->device, "Cannot reset internal PHY\n");
>> clk_disable_unprepare(gmac->ephy_clk);
>> return ret;
>> }
>
> I'm assuming you have exclusive access to the phy and this isn't a
> shared line? Just wanting to confirm since the function call has the
> following comment in the header for the documentation.
Yes, this driver has exclusive access:
gmac->rst_ephy = of_reset_control_get_exclusive(iphynode, NULL);
And this is a reset line for the Ethernet PHY inside the SoC, that as
far as I can tell is not shared with anything else.
> * Consumers must not use reset_control_(de)assert on shared reset lines when
> * reset_control_reset has been used.
> *
>
> If that is the case it might not hurt to add some documentation to
> your call to reset_control_reset here explaining that it is safe to do
> so since you have exclusive access.
I can expand the comment above this line for v2.
Cheers,
Samuel
Powered by blists - more mailing lists