aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/hw.h
diff options
context:
space:
mode:
authordave graham <david.graham@intel.com>2009-02-10 07:52:28 -0500
committerDavid S. Miller <davem@davemloft.net>2009-02-10 20:00:28 -0500
commitc9523379d6000f379a84b6b970efb8782c128071 (patch)
tree9674789cf9d452391bbafe9cd00bb9734e394554 /drivers/net/e1000e/hw.h
parent573cca8c6fdbf6bd2dae8f9e9b66931990849c83 (diff)
e1000e: Serdes - attempt autoneg when link restored.
This patch addresses an issue where we did not restart auto-negotiation on serdes links when the link partner was disabled and re-enabled. It includes reworking the serdes link detect mechanism to be a state machine for 82571 and 82572 parts only. Signed-off-by: dave graham <david.graham@intel.com> Acked-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/e1000e/hw.h')
-rw-r--r--drivers/net/e1000e/hw.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
index 2d4ce0492df0..5cb428c2811d 100644
--- a/drivers/net/e1000e/hw.h
+++ b/drivers/net/e1000e/hw.h
@@ -459,6 +459,13 @@ enum e1000_smart_speed {
459 e1000_smart_speed_off 459 e1000_smart_speed_off
460}; 460};
461 461
462enum e1000_serdes_link_state {
463 e1000_serdes_link_down = 0,
464 e1000_serdes_link_autoneg_progress,
465 e1000_serdes_link_autoneg_complete,
466 e1000_serdes_link_forced_up
467};
468
462/* Receive Descriptor */ 469/* Receive Descriptor */
463struct e1000_rx_desc { 470struct e1000_rx_desc {
464 __le64 buffer_addr; /* Address of the descriptor's data buffer */ 471 __le64 buffer_addr; /* Address of the descriptor's data buffer */
@@ -787,6 +794,7 @@ struct e1000_mac_info {
787 bool in_ifs_mode; 794 bool in_ifs_mode;
788 bool serdes_has_link; 795 bool serdes_has_link;
789 bool tx_pkt_filtering; 796 bool tx_pkt_filtering;
797 enum e1000_serdes_link_state serdes_link_state;
790}; 798};
791 799
792struct e1000_phy_info { 800struct e1000_phy_info {