]> git.baikalelectronics.ru Git - kernel.git/commit
PHY: Avoid unnecessary aneg restarts
authorTrent Piepho <tpiepho@freescale.com>
Wed, 24 Sep 2008 10:55:46 +0000 (10:55 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Oct 2008 22:43:54 +0000 (15:43 -0700)
commit09e0fe0c3d473ddeea9623c15ce744f84492d4d5
treea9abbddd407ce2205218148ebdcf8f54709f6a1c
parent22d6cb6d4952f1db481052818189b9f745185e47
PHY: Avoid unnecessary aneg restarts

The PHY's aneg is configured and restarted whenever the link is brought up,
e.g. when DHCP is started after the kernel has booted.  This can take the
link down for several seconds while auto-negotiation is redone.

If the advertised features haven't changed, then it shouldn't be necessary
to bring down the link and start auto-negotiation over again.

genphy_config_advert() is enhanced to return 0 when the advertised features
haven't been changed and >0 when they have been.

genphy_config_aneg() then uses this information to not call
genphy_restart_aneg() if there has been no change.

Signed-off-by: Trent Piepho <tpiepho@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy_device.c