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_phy.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_phy.c')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_phy.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_phy.c b/drivers/net/ixgbe/ixgbe_phy.c index e43d6248d7d4..453e966762f0 100644 --- a/drivers/net/ixgbe/ixgbe_phy.c +++ b/drivers/net/ixgbe/ixgbe_phy.c | |||
@@ -606,6 +606,7 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) | |||
606 | hw->phy.sfp_setup_needed = true; | 606 | hw->phy.sfp_setup_needed = true; |
607 | 607 | ||
608 | /* Determine if the SFP+ PHY is dual speed or not. */ | 608 | /* Determine if the SFP+ PHY is dual speed or not. */ |
609 | hw->phy.multispeed_fiber = false; | ||
609 | if (((comp_codes_1g & IXGBE_SFF_1GBASESX_CAPABLE) && | 610 | if (((comp_codes_1g & IXGBE_SFF_1GBASESX_CAPABLE) && |
610 | (comp_codes_10g & IXGBE_SFF_10GBASESR_CAPABLE)) || | 611 | (comp_codes_10g & IXGBE_SFF_10GBASESR_CAPABLE)) || |
611 | ((comp_codes_1g & IXGBE_SFF_1GBASELX_CAPABLE) && | 612 | ((comp_codes_1g & IXGBE_SFF_1GBASELX_CAPABLE) && |