summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
diff options
context:
space:
mode:
authorEmil Tantilov2013-08-13 09:22:16 +0200
committerJeff Kirsher2013-08-29 12:24:00 +0200
commit61aaf9e8072a692eb4cd74ec8d1d47576612437d (patch)
tree5c026c40bafabf9f1f80ae38a04bfa5287ae934e /drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
parentixgbe: fix SFF data dumps of SFP+ modules from an offset (diff)
downloadkernel-qcow2-linux-61aaf9e8072a692eb4cd74ec8d1d47576612437d.tar.gz
kernel-qcow2-linux-61aaf9e8072a692eb4cd74ec8d1d47576612437d.tar.xz
kernel-qcow2-linux-61aaf9e8072a692eb4cd74ec8d1d47576612437d.zip
ixgbe: add 1Gbps support for QSFP+
This patch adds GB speed support for QSFP+ modules. Autonegotiation is not supported with QSFP+. The user will have to set the desired speed on both link partners using ethtool advertise setting. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c')
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
index 033997b85cb6..e89b34eae4db 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
@@ -1205,6 +1205,12 @@ s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw)
if (status != 0)
goto err_read_i2c_eeprom;
+ status = hw->phy.ops.read_i2c_eeprom(hw, IXGBE_SFF_QSFP_1GBE_COMP,
+ &comp_codes_1g);
+
+ if (status != 0)
+ goto err_read_i2c_eeprom;
+
if (comp_codes_10g & IXGBE_SFF_QSFP_DA_PASSIVE_CABLE) {
hw->phy.type = ixgbe_phy_qsfp_passive_unknown;
if (hw->bus.lan_id == 0)