Commit 66092f59 authored by Bruce Allan's avatar Bruce Allan Committed by Jeff Kirsher

e1000e: cleanup e1000_init_mac_params_82571()

Combine two switch statements into one, convert a nebulous pointer to one
that is a bit more in keeping with the rest of the driver code and cleanup
some coding style.  No change in functionality, just cosmetic changes.
Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent e68782ed
...@@ -239,26 +239,39 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter) ...@@ -239,26 +239,39 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
{ {
struct e1000_hw *hw = &adapter->hw; struct e1000_hw *hw = &adapter->hw;
struct e1000_mac_info *mac = &hw->mac; struct e1000_mac_info *mac = &hw->mac;
struct e1000_mac_operations *func = &mac->ops;
u32 swsm = 0; u32 swsm = 0;
u32 swsm2 = 0; u32 swsm2 = 0;
bool force_clear_smbi = false; bool force_clear_smbi = false;
/* Set media type */ /* Set media type and media-dependent function pointers */
switch (adapter->pdev->device) { switch (adapter->pdev->device) {
case E1000_DEV_ID_82571EB_FIBER: case E1000_DEV_ID_82571EB_FIBER:
case E1000_DEV_ID_82572EI_FIBER: case E1000_DEV_ID_82572EI_FIBER:
case E1000_DEV_ID_82571EB_QUAD_FIBER: case E1000_DEV_ID_82571EB_QUAD_FIBER:
hw->phy.media_type = e1000_media_type_fiber; hw->phy.media_type = e1000_media_type_fiber;
mac->ops.setup_physical_interface =
e1000_setup_fiber_serdes_link_82571;
mac->ops.check_for_link = e1000e_check_for_fiber_link;
mac->ops.get_link_up_info =
e1000e_get_speed_and_duplex_fiber_serdes;
break; break;
case E1000_DEV_ID_82571EB_SERDES: case E1000_DEV_ID_82571EB_SERDES:
case E1000_DEV_ID_82572EI_SERDES:
case E1000_DEV_ID_82571EB_SERDES_DUAL: case E1000_DEV_ID_82571EB_SERDES_DUAL:
case E1000_DEV_ID_82571EB_SERDES_QUAD: case E1000_DEV_ID_82571EB_SERDES_QUAD:
case E1000_DEV_ID_82572EI_SERDES:
hw->phy.media_type = e1000_media_type_internal_serdes; hw->phy.media_type = e1000_media_type_internal_serdes;
mac->ops.setup_physical_interface =
e1000_setup_fiber_serdes_link_82571;
mac->ops.check_for_link = e1000_check_for_serdes_link_82571;
mac->ops.get_link_up_info =
e1000e_get_speed_and_duplex_fiber_serdes;
break; break;
default: default:
hw->phy.media_type = e1000_media_type_copper; hw->phy.media_type = e1000_media_type_copper;
mac->ops.setup_physical_interface =
e1000_setup_copper_link_82571;
mac->ops.check_for_link = e1000e_check_for_copper_link;
mac->ops.get_link_up_info = e1000e_get_speed_and_duplex_copper;
break; break;
} }
...@@ -269,38 +282,13 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter) ...@@ -269,38 +282,13 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
/* Adaptive IFS supported */ /* Adaptive IFS supported */
mac->adaptive_ifs = true; mac->adaptive_ifs = true;
/* check for link */ /* MAC-specific function pointers */
switch (hw->phy.media_type) {
case e1000_media_type_copper:
func->setup_physical_interface = e1000_setup_copper_link_82571;
func->check_for_link = e1000e_check_for_copper_link;
func->get_link_up_info = e1000e_get_speed_and_duplex_copper;
break;
case e1000_media_type_fiber:
func->setup_physical_interface =
e1000_setup_fiber_serdes_link_82571;
func->check_for_link = e1000e_check_for_fiber_link;
func->get_link_up_info =
e1000e_get_speed_and_duplex_fiber_serdes;
break;
case e1000_media_type_internal_serdes:
func->setup_physical_interface =
e1000_setup_fiber_serdes_link_82571;
func->check_for_link = e1000_check_for_serdes_link_82571;
func->get_link_up_info =
e1000e_get_speed_and_duplex_fiber_serdes;
break;
default:
return -E1000_ERR_CONFIG;
break;
}
switch (hw->mac.type) { switch (hw->mac.type) {
case e1000_82573: case e1000_82573:
func->set_lan_id = e1000_set_lan_id_single_port; mac->ops.set_lan_id = e1000_set_lan_id_single_port;
func->check_mng_mode = e1000e_check_mng_mode_generic; mac->ops.check_mng_mode = e1000e_check_mng_mode_generic;
func->led_on = e1000e_led_on_generic; mac->ops.led_on = e1000e_led_on_generic;
func->blink_led = e1000e_blink_led_generic; mac->ops.blink_led = e1000e_blink_led_generic;
/* FWSM register */ /* FWSM register */
mac->has_fwsm = true; mac->has_fwsm = true;
...@@ -314,14 +302,14 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter) ...@@ -314,14 +302,14 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
break; break;
case e1000_82574: case e1000_82574:
case e1000_82583: case e1000_82583:
func->set_lan_id = e1000_set_lan_id_single_port; mac->ops.set_lan_id = e1000_set_lan_id_single_port;
func->check_mng_mode = e1000_check_mng_mode_82574; mac->ops.check_mng_mode = e1000_check_mng_mode_82574;
func->led_on = e1000_led_on_82574; mac->ops.led_on = e1000_led_on_82574;
break; break;
default: default:
func->check_mng_mode = e1000e_check_mng_mode_generic; mac->ops.check_mng_mode = e1000e_check_mng_mode_generic;
func->led_on = e1000e_led_on_generic; mac->ops.led_on = e1000e_led_on_generic;
func->blink_led = e1000e_blink_led_generic; mac->ops.blink_led = e1000e_blink_led_generic;
/* FWSM register */ /* FWSM register */
mac->has_fwsm = true; mac->has_fwsm = true;
...@@ -342,11 +330,11 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter) ...@@ -342,11 +330,11 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
if (!(swsm2 & E1000_SWSM2_LOCK)) { if (!(swsm2 & E1000_SWSM2_LOCK)) {
/* Only do this for the first interface on this card */ /* Only do this for the first interface on this card */
ew32(SWSM2, ew32(SWSM2, swsm2 | E1000_SWSM2_LOCK);
swsm2 | E1000_SWSM2_LOCK);
force_clear_smbi = true; force_clear_smbi = true;
} else } else {
force_clear_smbi = false; force_clear_smbi = false;
}
break; break;
default: default:
force_clear_smbi = true; force_clear_smbi = true;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment