aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tg3.h
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2006-09-27 18:59:15 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-28 21:01:34 -0400
commit3d3ebe741b2c06fe3df67739d09f6ef0e25ee41a (patch)
treef9112f5b5beac57673a26563a3a50517c5c96798 /drivers/net/tg3.h
parent6ac59344ef25d5f0ebadb5663cf700d25d2a3886 (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.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index 3ecf356cfb08..f9c81baca8d8 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