Re: [PATCH net] r8169:Remove unnecessary phy reset for pcie nic when setting link spped.

From: Francois Romieu
Date: Tue Mar 08 2016 - 18:49:22 EST


Chunhao Lin <hau@xxxxxxxxxxx> :
> For pcie nic, after setting link speed and thers is no link driver does not need
> to do phy reset untill link up.
>
> For some pcie nics, to do this will also reset phy speed down counter and prevent
> phy from auto speed down.
>
> This patch fix the issue reported in following link.
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1547151
>
> Signed-off-by: Chunhao Lin <hau@xxxxxxxxxxx>
> ---
> drivers/net/ethernet/realtek/r8169.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
> index dd2cf37..94f08f1 100644
> --- a/drivers/net/ethernet/realtek/r8169.c
> +++ b/drivers/net/ethernet/realtek/r8169.c
> @@ -1999,7 +1999,8 @@ static int rtl8169_set_speed(struct net_device *dev,
> goto out;
>
> if (netif_running(dev) && (autoneg == AUTONEG_ENABLE) &&
> - (advertising & ADVERTISED_1000baseT_Full)) {
> + (advertising & ADVERTISED_1000baseT_Full) &&
> + !pci_is_pcie(tp->pci_dev)) {
> mod_timer(&tp->timer, jiffies + RTL8169_PHY_TIMEOUT);
> }
> out:

Can you clarify:
- actually this patch does not care about the link at all. So when there's
link no phy reset is needed either, right ?
- does "this" in "to do this" means that
1. phy reset prevents phy from auto speed down
2. avoiding phy reset prevents phy from auto speed down
I would expect 1. from the rtl_wol_pll_power_down + rtl_speed_down +
rtl8169_set_speed combo (i.e. we want the driver to allow auto speed down)
but it's a bit ambiguous.

--
Ueimor