diff options
author | Michael Chan <mchan@broadcom.com> | 2006-09-27 18:59:15 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-28 21:01:34 -0400 |
commit | 3d3ebe741b2c06fe3df67739d09f6ef0e25ee41a (patch) | |
tree | f9112f5b5beac57673a26563a3a50517c5c96798 /drivers/net/tg3.h | |
parent | 6ac59344ef25d5f0ebadb5663cf700d25d2a3886 (diff) |
[TG3]: Improve 5704S autoneg.
Improve 5704S autoneg logic by using a serdes_counter field to keep
track of the transient states. This eliminates a 200 msec busy
loop in the code. Autoneg will take its course without the driver
busy waiting for it to finish.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.h')
-rw-r--r-- | drivers/net/tg3.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 3ecf356cfb0..f9c81baca8d 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h | |||
@@ -2203,7 +2203,6 @@ struct tg3 { | |||
2203 | #define TG3_FLG2_PCI_EXPRESS 0x00000200 | 2203 | #define TG3_FLG2_PCI_EXPRESS 0x00000200 |
2204 | #define TG3_FLG2_ASF_NEW_HANDSHAKE 0x00000400 | 2204 | #define TG3_FLG2_ASF_NEW_HANDSHAKE 0x00000400 |
2205 | #define TG3_FLG2_HW_AUTONEG 0x00000800 | 2205 | #define TG3_FLG2_HW_AUTONEG 0x00000800 |
2206 | #define TG3_FLG2_PHY_JUST_INITTED 0x00001000 | ||
2207 | #define TG3_FLG2_PHY_SERDES 0x00002000 | 2206 | #define TG3_FLG2_PHY_SERDES 0x00002000 |
2208 | #define TG3_FLG2_CAPACITIVE_COUPLING 0x00004000 | 2207 | #define TG3_FLG2_CAPACITIVE_COUPLING 0x00004000 |
2209 | #define TG3_FLG2_FLASH 0x00008000 | 2208 | #define TG3_FLG2_FLASH 0x00008000 |
@@ -2236,6 +2235,12 @@ struct tg3 { | |||
2236 | u16 asf_counter; | 2235 | u16 asf_counter; |
2237 | u16 asf_multiplier; | 2236 | u16 asf_multiplier; |
2238 | 2237 | ||
2238 | /* 1 second counter for transient serdes link events */ | ||
2239 | u32 serdes_counter; | ||
2240 | #define SERDES_AN_TIMEOUT_5704S 2 | ||
2241 | #define SERDES_PARALLEL_DET_TIMEOUT 1 | ||
2242 | #define SERDES_AN_TIMEOUT_5714S 1 | ||
2243 | |||
2239 | struct tg3_link_config link_config; | 2244 | struct tg3_link_config link_config; |
2240 | struct tg3_bufmgr_config bufmgr_config; | 2245 | struct tg3_bufmgr_config bufmgr_config; |
2241 | 2246 | ||