diff options
Diffstat (limited to 'drivers/net/e1000e/es2lan.c')
-rw-r--r-- | drivers/net/e1000e/es2lan.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/drivers/net/e1000e/es2lan.c b/drivers/net/e1000e/es2lan.c index e2aa3b788564..27d21589a69a 100644 --- a/drivers/net/e1000e/es2lan.c +++ b/drivers/net/e1000e/es2lan.c | |||
@@ -246,6 +246,9 @@ static s32 e1000_init_mac_params_80003es2lan(struct e1000_adapter *adapter) | |||
246 | break; | 246 | break; |
247 | } | 247 | } |
248 | 248 | ||
249 | /* set lan id for port to determine which phy lock to use */ | ||
250 | hw->mac.ops.set_lan_id(hw); | ||
251 | |||
249 | return 0; | 252 | return 0; |
250 | } | 253 | } |
251 | 254 | ||
@@ -814,7 +817,9 @@ static s32 e1000_reset_hw_80003es2lan(struct e1000_hw *hw) | |||
814 | ew32(IMC, 0xffffffff); | 817 | ew32(IMC, 0xffffffff); |
815 | icr = er32(ICR); | 818 | icr = er32(ICR); |
816 | 819 | ||
817 | return 0; | 820 | ret_val = e1000_check_alt_mac_addr_generic(hw); |
821 | |||
822 | return ret_val; | ||
818 | } | 823 | } |
819 | 824 | ||
820 | /** | 825 | /** |
@@ -1340,6 +1345,29 @@ static s32 e1000_write_kmrn_reg_80003es2lan(struct e1000_hw *hw, u32 offset, | |||
1340 | } | 1345 | } |
1341 | 1346 | ||
1342 | /** | 1347 | /** |
1348 | * e1000_read_mac_addr_80003es2lan - Read device MAC address | ||
1349 | * @hw: pointer to the HW structure | ||
1350 | **/ | ||
1351 | static s32 e1000_read_mac_addr_80003es2lan(struct e1000_hw *hw) | ||
1352 | { | ||
1353 | s32 ret_val = 0; | ||
1354 | |||
1355 | /* | ||
1356 | * If there's an alternate MAC address place it in RAR0 | ||
1357 | * so that it will override the Si installed default perm | ||
1358 | * address. | ||
1359 | */ | ||
1360 | ret_val = e1000_check_alt_mac_addr_generic(hw); | ||
1361 | if (ret_val) | ||
1362 | goto out; | ||
1363 | |||
1364 | ret_val = e1000_read_mac_addr_generic(hw); | ||
1365 | |||
1366 | out: | ||
1367 | return ret_val; | ||
1368 | } | ||
1369 | |||
1370 | /** | ||
1343 | * e1000_power_down_phy_copper_80003es2lan - Remove link during PHY power down | 1371 | * e1000_power_down_phy_copper_80003es2lan - Remove link during PHY power down |
1344 | * @hw: pointer to the HW structure | 1372 | * @hw: pointer to the HW structure |
1345 | * | 1373 | * |
@@ -1403,12 +1431,14 @@ static void e1000_clear_hw_cntrs_80003es2lan(struct e1000_hw *hw) | |||
1403 | } | 1431 | } |
1404 | 1432 | ||
1405 | static struct e1000_mac_operations es2_mac_ops = { | 1433 | static struct e1000_mac_operations es2_mac_ops = { |
1434 | .read_mac_addr = e1000_read_mac_addr_80003es2lan, | ||
1406 | .id_led_init = e1000e_id_led_init, | 1435 | .id_led_init = e1000e_id_led_init, |
1407 | .check_mng_mode = e1000e_check_mng_mode_generic, | 1436 | .check_mng_mode = e1000e_check_mng_mode_generic, |
1408 | /* check_for_link dependent on media type */ | 1437 | /* check_for_link dependent on media type */ |
1409 | .cleanup_led = e1000e_cleanup_led_generic, | 1438 | .cleanup_led = e1000e_cleanup_led_generic, |
1410 | .clear_hw_cntrs = e1000_clear_hw_cntrs_80003es2lan, | 1439 | .clear_hw_cntrs = e1000_clear_hw_cntrs_80003es2lan, |
1411 | .get_bus_info = e1000e_get_bus_info_pcie, | 1440 | .get_bus_info = e1000e_get_bus_info_pcie, |
1441 | .set_lan_id = e1000_set_lan_id_multi_port_pcie, | ||
1412 | .get_link_up_info = e1000_get_link_up_info_80003es2lan, | 1442 | .get_link_up_info = e1000_get_link_up_info_80003es2lan, |
1413 | .led_on = e1000e_led_on_generic, | 1443 | .led_on = e1000e_led_on_generic, |
1414 | .led_off = e1000e_led_off_generic, | 1444 | .led_off = e1000e_led_off_generic, |