aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/igb/e1000_82575.c7
-rw-r--r--drivers/net/igb/e1000_82575.h5
-rw-r--r--drivers/net/igb/e1000_mac.c14
3 files changed, 17 insertions, 9 deletions
diff --git a/drivers/net/igb/e1000_82575.c b/drivers/net/igb/e1000_82575.c
index bd3efdb95c64..fa4a76299e00 100644
--- a/drivers/net/igb/e1000_82575.c
+++ b/drivers/net/igb/e1000_82575.c
@@ -866,8 +866,7 @@ void igb_shutdown_fiber_serdes_link_82575(struct e1000_hw *hw)
866{ 866{
867 u32 reg; 867 u32 reg;
868 868
869 if (hw->mac.type != e1000_82576 || 869 if (hw->phy.media_type != e1000_media_type_internal_serdes)
870 hw->phy.media_type != e1000_media_type_internal_serdes)
871 return; 870 return;
872 871
873 /* if the management interface is not enabled, then power down */ 872 /* if the management interface is not enabled, then power down */
@@ -1228,10 +1227,6 @@ out:
1228static bool igb_sgmii_active_82575(struct e1000_hw *hw) 1227static bool igb_sgmii_active_82575(struct e1000_hw *hw)
1229{ 1228{
1230 struct e1000_dev_spec_82575 *dev_spec = &hw->dev_spec._82575; 1229 struct e1000_dev_spec_82575 *dev_spec = &hw->dev_spec._82575;
1231
1232 if (hw->mac.type != e1000_82575 && hw->mac.type != e1000_82576)
1233 return false;
1234
1235 return dev_spec->sgmii_active; 1230 return dev_spec->sgmii_active;
1236} 1231}
1237 1232
diff --git a/drivers/net/igb/e1000_82575.h b/drivers/net/igb/e1000_82575.h
index 0f16abab2565..b674417ae06d 100644
--- a/drivers/net/igb/e1000_82575.h
+++ b/drivers/net/igb/e1000_82575.h
@@ -32,6 +32,11 @@ void igb_update_mc_addr_list(struct e1000_hw*, u8*, u32, u32, u32);
32extern void igb_shutdown_fiber_serdes_link_82575(struct e1000_hw *hw); 32extern void igb_shutdown_fiber_serdes_link_82575(struct e1000_hw *hw);
33extern void igb_rx_fifo_flush_82575(struct e1000_hw *hw); 33extern void igb_rx_fifo_flush_82575(struct e1000_hw *hw);
34 34
35#define ID_LED_DEFAULT_82575_SERDES ((ID_LED_DEF1_DEF2 << 12) | \
36 (ID_LED_DEF1_DEF2 << 8) | \
37 (ID_LED_DEF1_DEF2 << 4) | \
38 (ID_LED_OFF1_ON2))
39
35#define E1000_RAR_ENTRIES_82575 16 40#define E1000_RAR_ENTRIES_82575 16
36#define E1000_RAR_ENTRIES_82576 24 41#define E1000_RAR_ENTRIES_82576 24
37 42
diff --git a/drivers/net/igb/e1000_mac.c b/drivers/net/igb/e1000_mac.c
index 37706d9981e8..34f1a370b068 100644
--- a/drivers/net/igb/e1000_mac.c
+++ b/drivers/net/igb/e1000_mac.c
@@ -1064,9 +1064,17 @@ static s32 igb_valid_led_default(struct e1000_hw *hw, u16 *data)
1064 goto out; 1064 goto out;
1065 } 1065 }
1066 1066
1067 if (*data == ID_LED_RESERVED_0000 || *data == ID_LED_RESERVED_FFFF) 1067 if (*data == ID_LED_RESERVED_0000 || *data == ID_LED_RESERVED_FFFF) {
1068 *data = ID_LED_DEFAULT; 1068 switch(hw->phy.media_type) {
1069 1069 case e1000_media_type_internal_serdes:
1070 *data = ID_LED_DEFAULT_82575_SERDES;
1071 break;
1072 case e1000_media_type_copper:
1073 default:
1074 *data = ID_LED_DEFAULT;
1075 break;
1076 }
1077 }
1070out: 1078out:
1071 return ret_val; 1079 return ret_val;
1072} 1080}