Thread (13 messages) flat view 13 messages, 4 authors, 2021-02-09

Re: [PATCH net-next RESEND 3/5] net: stmmac: dwmac-sun8i: Use reset_control_reset

From: Samuel Holland <samuel@sholland.org>
Date: 2021-02-09 03:34:19
Also in: lkml, netdev

On 2/8/21 10:29 AM, Alexander Duyck wrote:
On Sun, Feb 7, 2021 at 10:32 PM Samuel Holland [off-list ref] wrote:
quoted
Use the appropriate function instead of reimplementing it,
and update the error message to match the code.

Reviewed-by: Chen-Yu Tsai <redacted>
Signed-off-by: Samuel Holland <samuel@sholland.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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help