summaryrefslogtreecommitdiffstats
path: root/drivers/net/tg3.h
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2006-09-27 15:59:15 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-28 18:01:34 -0700
commit3d3ebe741b2c06fe3df67739d09f6ef0e25ee41a (patch)
treef9112f5b5beac57673a26563a3a50517c5c96798 /drivers/net/tg3.h
parent6ac59344ef25d5f0ebadb5663cf700d25d2a3886 (diff)
downloadop-kernel-dev-3d3ebe741b2c06fe3df67739d09f6ef0e25ee41a.zip
op-kernel-dev-3d3ebe741b2c06fe3df67739d09f6ef0e25ee41a.tar.gz
[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 3ecf356..f9c81ba 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -2203,7 +2203,6 @@ struct tg3 {
#define TG3_FLG2_PCI_EXPRESS 0x00000200
#define TG3_FLG2_ASF_NEW_HANDSHAKE 0x00000400
#define TG3_FLG2_HW_AUTONEG 0x00000800
-#define TG3_FLG2_PHY_JUST_INITTED 0x00001000
#define TG3_FLG2_PHY_SERDES 0x00002000
#define TG3_FLG2_CAPACITIVE_COUPLING 0x00004000
#define TG3_FLG2_FLASH 0x00008000
@@ -2236,6 +2235,12 @@ struct tg3 {
u16 asf_counter;
u16 asf_multiplier;
+ /* 1 second counter for transient serdes link events */
+ u32 serdes_counter;
+#define SERDES_AN_TIMEOUT_5704S 2
+#define SERDES_PARALLEL_DET_TIMEOUT 1
+#define SERDES_AN_TIMEOUT_5714S 1
+
struct tg3_link_config link_config;
struct tg3_bufmgr_config bufmgr_config;
OpenPOWER on IntegriCloud