linux/drivers/net/ethernet/smsc
Alexander Kochetkov 6ff53fd371 net/smsc911x: Fix delays in the PHY enable/disable routines
Increased delay in the smsc911x_phy_disable_energy_detect (from 1ms to 2ms).
Dropped delays in the smsc911x_phy_enable_energy_detect (100ms and 1ms).

The patch affect SMSC LAN generation 4 chips with integrated PHY (LAN9221).

I saw problems with soft reset due to wrong udelay timings.
After I fixed udelay, I measured the time needed to bring integrated PHY
from power-down to operational mode (the time beetween clearing EDPWRDOWN
bit and soft reset complete event). I got 1ms (measured using ktime_get).
The value is equal to the current value (1ms) used in the
smsc911x_phy_disable_energy_detect. It is near the upper bound and in order
to avoid rare soft reset faults it is doubled (2ms).

I don't know official timing for bringing up integrated PHY as specs doesn't
clarify this (or may be I didn't found).

It looks safe to drop delays before and after setting EDPWRDOWN bit
(enable PHY power-down mode). I didn't saw any regressions with the patch.

The patch was reviewed by Steve Glendinning and Microchip Team.

Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Acked-by: Steve Glendinning <steve.glendinning@shawell.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-13 14:37:53 -05:00
..
epic100.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
Kconfig netdev: smc91x: enable for xtensa 2013-11-08 13:27:55 -05:00
Makefile
smc91c92_cs.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
smc91x.c smc91x: retrieve IRQ and trigger flags in a modern way 2014-11-01 17:04:20 -04:00
smc91x.h net: smc91x: Fix gpios for device tree based booting 2014-10-31 15:54:18 -04:00
smc911x.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
smc911x.h ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
smc9194.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-11-13 17:40:34 +09:00
smc9194.h
smsc911x.c net/smsc911x: Fix delays in the PHY enable/disable routines 2014-11-13 14:37:53 -05:00
smsc911x.h smsc: replace WARN_ON() with WARN_ON_SMP() 2014-08-11 14:38:29 -07:00
smsc9420.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
smsc9420.h ethernet: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00