diff mbox

net-next: stmmac: dwmac-sun8i: ensure the EPHY is properly reseted

Message ID 20170604175323.62124-1-icenowy@aosc.io
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Icenowy Zheng June 4, 2017, 5:53 p.m. UTC
The EPHY may be already enabled by bootloaders which have Ethernet
capability (e.g. current U-Boot). Thus it should be reseted properly
before doing the enabling sequence in the dwmac-sun8i driver, otherwise
the EMAC reset process may fail if no cable is plugged, and then fail
the dwmac-sun8i probing.

Tested on Orange Pi PC, One and Zero. All the boards fail to have
dwmac-sun8i probed with "EMAC reset timeout" without cable plugged
before, and with this fix they're now all able to successfully probe the
EMAC without cable plugged and then use the connection after a cable is
hot-plugged in.

Fixes: 9f93ac8d408 ("net-next: stmmac: Add dwmac-sun8i")
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Corentin Labbe June 5, 2017, 11:10 a.m. UTC | #1
On Mon, Jun 05, 2017 at 01:53:23AM +0800, Icenowy Zheng wrote:
> The EPHY may be already enabled by bootloaders which have Ethernet
> capability (e.g. current U-Boot). Thus it should be reseted properly
> before doing the enabling sequence in the dwmac-sun8i driver, otherwise
> the EMAC reset process may fail if no cable is plugged, and then fail
> the dwmac-sun8i probing.
> 
> Tested on Orange Pi PC, One and Zero. All the boards fail to have
> dwmac-sun8i probed with "EMAC reset timeout" without cable plugged
> before, and with this fix they're now all able to successfully probe the
> EMAC without cable plugged and then use the connection after a cable is
> hot-plugged in.
> 
> Fixes: 9f93ac8d408 ("net-next: stmmac: Add dwmac-sun8i")
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>

Thanks for the fix.
Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com>

Since I am the writter of the file, does I have the right to:
Acked-by: Corentin Labbe <clabbe.montjoie@gmail.com>
or
Reviewed-by: Corentin Labbe <clabbe.montjoie@gmail.com>
?

Perhaps I need to set myself as reviewer for this file in MAINTAINERS ?
Regards
Andrew Lunn June 5, 2017, 12:44 p.m. UTC | #2
On Mon, Jun 05, 2017 at 01:10:19PM +0200, Corentin Labbe wrote:
> On Mon, Jun 05, 2017 at 01:53:23AM +0800, Icenowy Zheng wrote:
> > The EPHY may be already enabled by bootloaders which have Ethernet
> > capability (e.g. current U-Boot). Thus it should be reseted properly
> > before doing the enabling sequence in the dwmac-sun8i driver, otherwise
> > the EMAC reset process may fail if no cable is plugged, and then fail
> > the dwmac-sun8i probing.
> > 
> > Tested on Orange Pi PC, One and Zero. All the boards fail to have
> > dwmac-sun8i probed with "EMAC reset timeout" without cable plugged
> > before, and with this fix they're now all able to successfully probe the
> > EMAC without cable plugged and then use the connection after a cable is
> > hot-plugged in.
> > 
> > Fixes: 9f93ac8d408 ("net-next: stmmac: Add dwmac-sun8i")
> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> 
> Thanks for the fix.
> Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com>
> 
> Since I am the writter of the file, does I have the right to:
> Acked-by: Corentin Labbe <clabbe.montjoie@gmail.com>
> or
> Reviewed-by: Corentin Labbe <clabbe.montjoie@gmail.com>

Documentation/process/submitting-patches.rst says:

If a person was not directly involved in the preparation or handling of a
patch but wishes to signify and record their approval of it then they can
ask to have an Acked-by: line added to the patch's changelog.

Acked-by: is not as formal as Signed-off-by:.  It is a record that the acker
has at least reviewed the patch and has indicated acceptance.

Nothing limits who can give an Acked-by, you just need to of done the
necessary work.

Reviewed-by: is similar.

So feel free to have either.

   Andrew
David Miller June 5, 2017, 2:19 p.m. UTC | #3
From: Corentin Labbe <clabbe.montjoie@gmail.com>
Date: Mon, 5 Jun 2017 13:10:19 +0200

> On Mon, Jun 05, 2017 at 01:53:23AM +0800, Icenowy Zheng wrote:
>> The EPHY may be already enabled by bootloaders which have Ethernet
>> capability (e.g. current U-Boot). Thus it should be reseted properly
>> before doing the enabling sequence in the dwmac-sun8i driver, otherwise
>> the EMAC reset process may fail if no cable is plugged, and then fail
>> the dwmac-sun8i probing.
>> 
>> Tested on Orange Pi PC, One and Zero. All the boards fail to have
>> dwmac-sun8i probed with "EMAC reset timeout" without cable plugged
>> before, and with this fix they're now all able to successfully probe the
>> EMAC without cable plugged and then use the connection after a cable is
>> hot-plugged in.
>> 
>> Fixes: 9f93ac8d408 ("net-next: stmmac: Add dwmac-sun8i")
>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> 
> Thanks for the fix.
> Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com>
> 
> Since I am the writter of the file, does I have the right to:
> Acked-by: Corentin Labbe <clabbe.montjoie@gmail.com>
> or
> Reviewed-by: Corentin Labbe <clabbe.montjoie@gmail.com>
> ?

Anyone whatsoever may contribute Acked-by and Reviewed-by tags to a
patch posting.

This is all documented in Documentation/process/submitting-patches.rst
David Miller June 5, 2017, 3:23 p.m. UTC | #4
From: Icenowy Zheng <icenowy@aosc.io>
Date: Mon,  5 Jun 2017 01:53:23 +0800

> The EPHY may be already enabled by bootloaders which have Ethernet
> capability (e.g. current U-Boot). Thus it should be reseted properly
> before doing the enabling sequence in the dwmac-sun8i driver, otherwise
> the EMAC reset process may fail if no cable is plugged, and then fail
> the dwmac-sun8i probing.
> 
> Tested on Orange Pi PC, One and Zero. All the boards fail to have
> dwmac-sun8i probed with "EMAC reset timeout" without cable plugged
> before, and with this fix they're now all able to successfully probe the
> EMAC without cable plugged and then use the connection after a cable is
> hot-plugged in.
> 
> Fixes: 9f93ac8d408 ("net-next: stmmac: Add dwmac-sun8i")
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>

Applied, thanks.
diff mbox

Patch

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
index 1a6bfe6c958f..54f93ee53ef7 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
@@ -750,6 +750,11 @@  static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv)
 		return ret;
 	}
 
+	/* 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);
 	if (ret) {
 		dev_err(priv->device, "Cannot deassert ephy\n");