2019-12-04 15:28:15

by Yousaf Kaukab

[permalink] [raw]
Subject: [PATCH] net: thunderx: start phy before starting autonegotiation

Since "2b3e88ea6528 net: phy: improve phy state checking"
phy_start_aneg() expects phy state to be >= PHY_UP. Call phy_start()
before calling phy_start_aneg() during probe so that autonegotiation
is initiated.

Network fails without this patch on Octeon TX.

Signed-off-by: Mian Yousaf Kaukab <[email protected]>
---
drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
index 1e09fdb63c4f..504644257aff 100644
--- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
@@ -1115,6 +1115,7 @@ static int bgx_lmac_enable(struct bgx *bgx, u8 lmacid)
phy_interface_mode(lmac->lmac_type)))
return -ENODEV;

+ phy_start(lmac->phydev);
phy_start_aneg(lmac->phydev);
return 0;
}
--
2.16.4


2019-12-04 15:44:27

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] net: thunderx: start phy before starting autonegotiation

On 12/04/2019 06:26 PM, Mian Yousaf Kaukab wrote:

> Since "2b3e88ea6528 net: phy: improve phy state checking"

Since 2b3e88ea6528 ("net: phy: improve phy state checking")

> phy_start_aneg() expects phy state to be >= PHY_UP. Call phy_start()
> before calling phy_start_aneg() during probe so that autonegotiation
> is initiated.
>
> Network fails without this patch on Octeon TX.
>
> Signed-off-by: Mian Yousaf Kaukab <[email protected]>
[...]

MBR, Sergei

2019-12-04 15:44:30

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH] net: thunderx: start phy before starting autonegotiation

On Wed, Dec 04, 2019 at 04:26:51PM +0100, Mian Yousaf Kaukab wrote:
> Since "2b3e88ea6528 net: phy: improve phy state checking"
> phy_start_aneg() expects phy state to be >= PHY_UP. Call phy_start()
> before calling phy_start_aneg() during probe so that autonegotiation
> is initiated.
>
> Network fails without this patch on Octeon TX.
>
> Signed-off-by: Mian Yousaf Kaukab <[email protected]>
> ---
> drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
> index 1e09fdb63c4f..504644257aff 100644
> --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
> +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
> @@ -1115,6 +1115,7 @@ static int bgx_lmac_enable(struct bgx *bgx, u8 lmacid)
> phy_interface_mode(lmac->lmac_type)))
> return -ENODEV;
>
> + phy_start(lmac->phydev);
> phy_start_aneg(lmac->phydev);
> return 0;

phy_start() will start aneg, if aneg is configured. So you should be
able to remove the call to phy_start_aneg().

Andrew

2019-12-04 20:31:16

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: thunderx: start phy before starting autonegotiation

From: Mian Yousaf Kaukab <[email protected]>
Date: Wed, 4 Dec 2019 16:26:51 +0100

> Since "2b3e88ea6528 net: phy: improve phy state checking"

As Sergei said, please format this properly and make it the
Fixes: tag.

Thank you.