[BNX2]: speedup serdes linkup
authorMichael Chan <mchan@broadcom.com>
Thu, 25 Aug 2005 22:35:24 +0000 (15:35 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 29 Aug 2005 23:10:34 +0000 (16:10 -0700)
commitcd339a0ed61097d92ce03b6d1042b1e4d58535e7
tree872886c450910072c3615e8b69a71fb70fa0d42e
parentafdc08b9f9a7174d7912a160f657f39d46379b5e
[BNX2]: speedup serdes linkup

This speeds up link-up time on 5706 SerDes if the link partner does
not autoneg, a rather common scenario in blade servers. Some blade
servers use IPMI for keyboard input and it's important to minimize
link disruptions.

The speedup is achieved by shortening the timer to (HZ / 3) during
the transient period right after initiating a SerDes autoneg. If
autoneg does not complete, parallel detect can be done sooner. After
the transient period is over, the timer goes back to its normal HZ
interval.

As suggested by Jeff Garzik, the timer initialization is moved to
bnx2_init_board() from bnx2_open().

An eeprom bit is also added to allow default forced SerDes speed for
even faster link-up time.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2.c
drivers/net/bnx2.h