public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] net: phy: atheros: Fix problem with phy_reset() clearing BMCR
@ 2016-02-19  7:52 Alison Wang
  2016-02-19 21:24 ` Fabio Estevam
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Alison Wang @ 2016-02-19  7:52 UTC (permalink / raw)
  To: u-boot

In commit <a058052c358c> [net: phy: do not read configuration register on
reset], phy_reset() will clear the BMCR register. Bit 12(AUTO_NEGOTIATION)
is cleared too. It causes auto-negotiation timeout error on Atheros's
PHY AR8033.

To fix this problem, genphy_config_aneg() and genphy_restart_aneg()
needs to be called in ar8035_config() to enable and restart
auto-negotiation.

Signed-off-by: Alison Wang <alison.wang@nxp.com>
---
 drivers/net/phy/atheros.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/phy/atheros.c b/drivers/net/phy/atheros.c
index ba57b1a..e57c412 100644
--- a/drivers/net/phy/atheros.c
+++ b/drivers/net/phy/atheros.c
@@ -33,6 +33,9 @@ static int ar8035_config(struct phy_device *phydev)
 
 	phydev->supported = phydev->drv->features;
 
+	genphy_config_aneg(phydev);
+	genphy_restart_aneg(phydev);
+
 	return 0;
 }
 
-- 
2.1.0.27.g96db324

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] net: phy: atheros: Fix problem with phy_reset() clearing BMCR
  2016-02-19  7:52 [U-Boot] [PATCH] net: phy: atheros: Fix problem with phy_reset() clearing BMCR Alison Wang
@ 2016-02-19 21:24 ` Fabio Estevam
  2016-02-23  5:12   ` Stefan Agner
  2016-02-23 19:13 ` Joe Hershberger
  2016-02-26 19:40 ` [U-Boot] " Joe Hershberger
  2 siblings, 1 reply; 5+ messages in thread
From: Fabio Estevam @ 2016-02-19 21:24 UTC (permalink / raw)
  To: u-boot

On Fri, Feb 19, 2016 at 5:52 AM, Alison Wang <b18965@freescale.com> wrote:
> In commit <a058052c358c> [net: phy: do not read configuration register on
> reset], phy_reset() will clear the BMCR register. Bit 12(AUTO_NEGOTIATION)
> is cleared too. It causes auto-negotiation timeout error on Atheros's
> PHY AR8033.
>
> To fix this problem, genphy_config_aneg() and genphy_restart_aneg()
> needs to be called in ar8035_config() to enable and restart
> auto-negotiation.

It is always a good idea to put the author of the offending patch on Cc.

Added Stefan.

>
> Signed-off-by: Alison Wang <alison.wang@nxp.com>
> ---
>  drivers/net/phy/atheros.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/phy/atheros.c b/drivers/net/phy/atheros.c
> index ba57b1a..e57c412 100644
> --- a/drivers/net/phy/atheros.c
> +++ b/drivers/net/phy/atheros.c
> @@ -33,6 +33,9 @@ static int ar8035_config(struct phy_device *phydev)
>
>         phydev->supported = phydev->drv->features;
>
> +       genphy_config_aneg(phydev);
> +       genphy_restart_aneg(phydev);
> +
>         return 0;
>  }
>
> --
> 2.1.0.27.g96db324
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] net: phy: atheros: Fix problem with phy_reset() clearing BMCR
  2016-02-19 21:24 ` Fabio Estevam
@ 2016-02-23  5:12   ` Stefan Agner
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Agner @ 2016-02-23  5:12 UTC (permalink / raw)
  To: u-boot

On 2016-02-19 13:24, Fabio Estevam wrote:
> On Fri, Feb 19, 2016 at 5:52 AM, Alison Wang <b18965@freescale.com> wrote:
>> In commit <a058052c358c> [net: phy: do not read configuration register on
>> reset], phy_reset() will clear the BMCR register. Bit 12(AUTO_NEGOTIATION)
>> is cleared too. It causes auto-negotiation timeout error on Atheros's
>> PHY AR8033.
>>
>> To fix this problem, genphy_config_aneg() and genphy_restart_aneg()
>> needs to be called in ar8035_config() to enable and restart
>> auto-negotiation.
> 
> It is always a good idea to put the author of the offending patch on Cc.
> 
> Added Stefan.
> 

Thanks.

Hm, even more fallout from my change, sorry about that.

I guess explicitly reconfigure and restart autonegotiation makes sense.

Acked-by: Stefan Agner <stefan@agner.ch>

--
Stefan

>>
>> Signed-off-by: Alison Wang <alison.wang@nxp.com>
>> ---
>>  drivers/net/phy/atheros.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/net/phy/atheros.c b/drivers/net/phy/atheros.c
>> index ba57b1a..e57c412 100644
>> --- a/drivers/net/phy/atheros.c
>> +++ b/drivers/net/phy/atheros.c
>> @@ -33,6 +33,9 @@ static int ar8035_config(struct phy_device *phydev)
>>
>>         phydev->supported = phydev->drv->features;
>>
>> +       genphy_config_aneg(phydev);
>> +       genphy_restart_aneg(phydev);
>> +
>>         return 0;
>>  }
>>
>> --
>> 2.1.0.27.g96db324
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] net: phy: atheros: Fix problem with phy_reset() clearing BMCR
  2016-02-19  7:52 [U-Boot] [PATCH] net: phy: atheros: Fix problem with phy_reset() clearing BMCR Alison Wang
  2016-02-19 21:24 ` Fabio Estevam
@ 2016-02-23 19:13 ` Joe Hershberger
  2016-02-26 19:40 ` [U-Boot] " Joe Hershberger
  2 siblings, 0 replies; 5+ messages in thread
From: Joe Hershberger @ 2016-02-23 19:13 UTC (permalink / raw)
  To: u-boot

On Fri, Feb 19, 2016 at 1:52 AM, Alison Wang <b18965@freescale.com> wrote:
> In commit <a058052c358c> [net: phy: do not read configuration register on
> reset], phy_reset() will clear the BMCR register. Bit 12(AUTO_NEGOTIATION)
> is cleared too. It causes auto-negotiation timeout error on Atheros's
> PHY AR8033.
>
> To fix this problem, genphy_config_aneg() and genphy_restart_aneg()
> needs to be called in ar8035_config() to enable and restart
> auto-negotiation.
>
> Signed-off-by: Alison Wang <alison.wang@nxp.com>

Acked-by: Joe Hershberger <joe.hershberger@ni.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] net: phy: atheros: Fix problem with phy_reset() clearing BMCR
  2016-02-19  7:52 [U-Boot] [PATCH] net: phy: atheros: Fix problem with phy_reset() clearing BMCR Alison Wang
  2016-02-19 21:24 ` Fabio Estevam
  2016-02-23 19:13 ` Joe Hershberger
@ 2016-02-26 19:40 ` Joe Hershberger
  2 siblings, 0 replies; 5+ messages in thread
From: Joe Hershberger @ 2016-02-26 19:40 UTC (permalink / raw)
  To: u-boot

Hi Alison,

https://patchwork.ozlabs.org/patch/585059/ was applied to u-boot-net.git.

Thanks!
-Joe

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-02-26 19:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-19  7:52 [U-Boot] [PATCH] net: phy: atheros: Fix problem with phy_reset() clearing BMCR Alison Wang
2016-02-19 21:24 ` Fabio Estevam
2016-02-23  5:12   ` Stefan Agner
2016-02-23 19:13 ` Joe Hershberger
2016-02-26 19:40 ` [U-Boot] " Joe Hershberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox