diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2008-08-04 17:59:56 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-08-07 01:55:09 -0400 |
commit | 726c09e7b6b7b9f9015ae7ce803ba4cd67121d67 (patch) | |
tree | 51ed0f9f8222eb6fb27c5b637e5ac6c3b37fc773 /drivers | |
parent | c743a87eabc50110ba5e473e707079c9b429779a (diff) |
igb: fixes 82576 serdes init to correctly support manual flow control changes
This patch changes the PCS configuration for serdes so that the flow
control options change be set via the ethtool -A option.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/igb/e1000_82575.c | 6 | ||||
-rw-r--r-- | drivers/net/igb/e1000_defines.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/igb/e1000_82575.c b/drivers/net/igb/e1000_82575.c index f3d7be0427fe..cd75a2bc24a0 100644 --- a/drivers/net/igb/e1000_82575.c +++ b/drivers/net/igb/e1000_82575.c | |||
@@ -1136,6 +1136,12 @@ static s32 igb_setup_fiber_serdes_link_82575(struct e1000_hw *hw) | |||
1136 | E1000_PCS_LCTL_FORCE_LINK; /* Force Link */ | 1136 | E1000_PCS_LCTL_FORCE_LINK; /* Force Link */ |
1137 | hw_dbg("Configuring Forced Link; PCS_LCTL = 0x%08X\n", reg); | 1137 | hw_dbg("Configuring Forced Link; PCS_LCTL = 0x%08X\n", reg); |
1138 | } | 1138 | } |
1139 | |||
1140 | if (hw->mac.type == e1000_82576) { | ||
1141 | reg |= E1000_PCS_LCTL_FORCE_FCTRL; | ||
1142 | igb_force_mac_fc(hw); | ||
1143 | } | ||
1144 | |||
1139 | wr32(E1000_PCS_LCTL, reg); | 1145 | wr32(E1000_PCS_LCTL, reg); |
1140 | 1146 | ||
1141 | return 0; | 1147 | return 0; |
diff --git a/drivers/net/igb/e1000_defines.h b/drivers/net/igb/e1000_defines.h index afdba3c9073c..ce700689fb57 100644 --- a/drivers/net/igb/e1000_defines.h +++ b/drivers/net/igb/e1000_defines.h | |||
@@ -257,6 +257,7 @@ | |||
257 | #define E1000_PCS_LCTL_FDV_FULL 8 | 257 | #define E1000_PCS_LCTL_FDV_FULL 8 |
258 | #define E1000_PCS_LCTL_FSD 0x10 | 258 | #define E1000_PCS_LCTL_FSD 0x10 |
259 | #define E1000_PCS_LCTL_FORCE_LINK 0x20 | 259 | #define E1000_PCS_LCTL_FORCE_LINK 0x20 |
260 | #define E1000_PCS_LCTL_FORCE_FCTRL 0x80 | ||
260 | #define E1000_PCS_LCTL_AN_ENABLE 0x10000 | 261 | #define E1000_PCS_LCTL_AN_ENABLE 0x10000 |
261 | #define E1000_PCS_LCTL_AN_RESTART 0x20000 | 262 | #define E1000_PCS_LCTL_AN_RESTART 0x20000 |
262 | #define E1000_PCS_LCTL_AN_TIMEOUT 0x40000 | 263 | #define E1000_PCS_LCTL_AN_TIMEOUT 0x40000 |