Message ID | 20210208062859.11429-5-samuel@sholland.org (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | dwmac-sun8i cleanup and shutdown hook | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net-next |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | warning | 3 maintainers not CCed: linux-stm32@st-md-mailman.stormreply.com p.zabel@pengutronix.de mcoquelin.stm32@gmail.com |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 13 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
On Sun, Feb 7, 2021 at 10:32 PM Samuel Holland <samuel@sholland.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@csie.org> > 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. * 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.
On 2/8/21 10:29 AM, Alexander Duyck wrote: > On Sun, Feb 7, 2021 at 10:32 PM Samuel Holland <samuel@sholland.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@csie.org> >> 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
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; }