diff options
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_82599.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_82599.c b/drivers/net/ixgbe/ixgbe_82599.c index cc3bfa195b78..56efa98fe3b9 100644 --- a/drivers/net/ixgbe/ixgbe_82599.c +++ b/drivers/net/ixgbe/ixgbe_82599.c | |||
@@ -1130,6 +1130,7 @@ s32 ixgbe_identify_phy_82599(struct ixgbe_hw *hw) | |||
1130 | u32 ixgbe_get_supported_physical_layer_82599(struct ixgbe_hw *hw) | 1130 | u32 ixgbe_get_supported_physical_layer_82599(struct ixgbe_hw *hw) |
1131 | { | 1131 | { |
1132 | u32 physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN; | 1132 | u32 physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN; |
1133 | u8 comp_codes_10g = 0; | ||
1133 | 1134 | ||
1134 | switch (hw->device_id) { | 1135 | switch (hw->device_id) { |
1135 | case IXGBE_DEV_ID_82599: | 1136 | case IXGBE_DEV_ID_82599: |
@@ -1143,6 +1144,8 @@ u32 ixgbe_get_supported_physical_layer_82599(struct ixgbe_hw *hw) | |||
1143 | 1144 | ||
1144 | switch (hw->phy.sfp_type) { | 1145 | switch (hw->phy.sfp_type) { |
1145 | case ixgbe_sfp_type_da_cu: | 1146 | case ixgbe_sfp_type_da_cu: |
1147 | case ixgbe_sfp_type_da_cu_core0: | ||
1148 | case ixgbe_sfp_type_da_cu_core1: | ||
1146 | physical_layer = IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU; | 1149 | physical_layer = IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU; |
1147 | break; | 1150 | break; |
1148 | case ixgbe_sfp_type_sr: | 1151 | case ixgbe_sfp_type_sr: |
@@ -1151,6 +1154,19 @@ u32 ixgbe_get_supported_physical_layer_82599(struct ixgbe_hw *hw) | |||
1151 | case ixgbe_sfp_type_lr: | 1154 | case ixgbe_sfp_type_lr: |
1152 | physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_LR; | 1155 | physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_LR; |
1153 | break; | 1156 | break; |
1157 | case ixgbe_sfp_type_srlr_core0: | ||
1158 | case ixgbe_sfp_type_srlr_core1: | ||
1159 | hw->phy.ops.read_i2c_eeprom(hw, | ||
1160 | IXGBE_SFF_10GBE_COMP_CODES, | ||
1161 | &comp_codes_10g); | ||
1162 | if (comp_codes_10g & IXGBE_SFF_10GBASESR_CAPABLE) | ||
1163 | physical_layer = | ||
1164 | IXGBE_PHYSICAL_LAYER_10GBASE_SR; | ||
1165 | else if (comp_codes_10g & IXGBE_SFF_10GBASELR_CAPABLE) | ||
1166 | physical_layer = | ||
1167 | IXGBE_PHYSICAL_LAYER_10GBASE_LR; | ||
1168 | else | ||
1169 | physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN; | ||
1154 | default: | 1170 | default: |
1155 | physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN; | 1171 | physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN; |
1156 | break; | 1172 | break; |