diff options
author | Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> | 2009-06-04 07:10:53 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-07 08:20:18 -0400 |
commit | 50ac58ba1d707df33f0c398ae700214e49bf918f (patch) | |
tree | 2d9a80861ab57e4c3e24b17e5d828223658cb334 /drivers/net/ixgbe/ixgbe_common.c | |
parent | da4dd0f7ca3fa667b7bba5fd34adceaf3fb84a9b (diff) |
ixgbe: Harden the 82599 multispeed fiber autotry mechanism
82599 supports multispeed fiber optical modules (10Gbps/1Gbps). Some
scenarios can cause the autotry mechanism to not negotiate link properly.
What needs to happen is the driver must flap the Tx laser to induce an Rx
Loss of Signal on the link partner. This will restart the autotry
mechanism to get link into a known state. The software definable pin (SDP)
3 on the 0x10fb NIC is wired to cause a Tx LOS event, which triggers the
Rx LOS we require.
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Acked-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@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/ixgbe/ixgbe_common.c')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_common.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_common.c b/drivers/net/ixgbe/ixgbe_common.c index 6f79409270a7..4d36cd32cd30 100644 --- a/drivers/net/ixgbe/ixgbe_common.c +++ b/drivers/net/ixgbe/ixgbe_common.c | |||
@@ -2068,6 +2068,7 @@ s32 ixgbe_blink_led_start_generic(struct ixgbe_hw *hw, u32 index) | |||
2068 | hw->mac.ops.check_link(hw, &speed, &link_up, false); | 2068 | hw->mac.ops.check_link(hw, &speed, &link_up, false); |
2069 | 2069 | ||
2070 | if (!link_up) { | 2070 | if (!link_up) { |
2071 | autoc_reg |= IXGBE_AUTOC_AN_RESTART; | ||
2071 | autoc_reg |= IXGBE_AUTOC_FLU; | 2072 | autoc_reg |= IXGBE_AUTOC_FLU; |
2072 | IXGBE_WRITE_REG(hw, IXGBE_AUTOC, autoc_reg); | 2073 | IXGBE_WRITE_REG(hw, IXGBE_AUTOC, autoc_reg); |
2073 | msleep(10); | 2074 | msleep(10); |