diff options
author | Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> | 2009-04-09 18:28:50 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-11 05:48:02 -0400 |
commit | 04193058c1005551af93f04a4b975fbd7f95cad5 (patch) | |
tree | 2c6292e6cc7e277c9ff579eb99a51ee19123cc1b /drivers/net/ixgbe/ixgbe_phy.c | |
parent | 1eb99d5ac44e2a9ac0b2856c579ba4d7cc349ada (diff) |
ixgbe: Update get_physical_layer() calls, plus a version bump
Not all physical connection types are being correctly identified. This
fixes that issue, and cleans up the logic to make it more maintainable.
Also clean up the code for device capabilities from the EEPROM to support
multiple SKUs of the same hardware.
Bump the version to reflect all the updates since the 82599 merge.
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@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 | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ixgbe/ixgbe_phy.c b/drivers/net/ixgbe/ixgbe_phy.c index 6f11df756daa..f3258ec901fe 100644 --- a/drivers/net/ixgbe/ixgbe_phy.c +++ b/drivers/net/ixgbe/ixgbe_phy.c | |||
@@ -632,7 +632,7 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) | |||
632 | hw->phy.multispeed_fiber = true; | 632 | hw->phy.multispeed_fiber = true; |
633 | 633 | ||
634 | /* Determine PHY vendor */ | 634 | /* Determine PHY vendor */ |
635 | if (hw->phy.type == ixgbe_phy_unknown) { | 635 | if (hw->phy.type != ixgbe_phy_nl) { |
636 | hw->phy.id = identifier; | 636 | hw->phy.id = identifier; |
637 | hw->phy.ops.read_i2c_eeprom(hw, | 637 | hw->phy.ops.read_i2c_eeprom(hw, |
638 | IXGBE_SFF_VENDOR_OUI_BYTE0, | 638 | IXGBE_SFF_VENDOR_OUI_BYTE0, |
@@ -682,9 +682,9 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) | |||
682 | goto out; | 682 | goto out; |
683 | } | 683 | } |
684 | 684 | ||
685 | hw->eeprom.ops.read(hw, IXGBE_PHY_ENFORCE_INTEL_SFP_OFFSET, | 685 | /* This is guaranteed to be 82599, no need to check for NULL */ |
686 | &enforce_sfp); | 686 | hw->mac.ops.get_device_caps(hw, &enforce_sfp); |
687 | if (!(enforce_sfp & IXGBE_PHY_ALLOW_ANY_SFP)) { | 687 | if (!(enforce_sfp & IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP)) { |
688 | /* Make sure we're a supported PHY type */ | 688 | /* Make sure we're a supported PHY type */ |
689 | if (hw->phy.type == ixgbe_phy_sfp_intel) { | 689 | if (hw->phy.type == ixgbe_phy_sfp_intel) { |
690 | status = 0; | 690 | status = 0; |