Commit 57cde763 authored by Bruce Allan's avatar Bruce Allan Committed by Jeff Kirsher

e1000e: rename e1000e_config_collision_dist() and call as function pointer

Rename e1000e_config_collision_dist() to
e1000e_config_collision_dist_generic() to signify the function is used for
more than one MAC-family type, and set and use it as a MAC ops function
pointer to be consistent with the driver design.
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 6e3c8075
...@@ -1432,6 +1432,7 @@ static const struct e1000_mac_operations es2_mac_ops = { ...@@ -1432,6 +1432,7 @@ static const struct e1000_mac_operations es2_mac_ops = {
.setup_link = e1000e_setup_link_generic, .setup_link = e1000e_setup_link_generic,
/* setup_physical_interface dependent on media type */ /* setup_physical_interface dependent on media type */
.setup_led = e1000e_setup_led_generic, .setup_led = e1000e_setup_led_generic,
.config_collision_dist = e1000e_config_collision_dist_generic,
}; };
static const struct e1000_phy_operations es2_phy_ops = { static const struct e1000_phy_operations es2_phy_ops = {
......
...@@ -1927,6 +1927,7 @@ static const struct e1000_mac_operations e82571_mac_ops = { ...@@ -1927,6 +1927,7 @@ static const struct e1000_mac_operations e82571_mac_ops = {
.setup_link = e1000_setup_link_82571, .setup_link = e1000_setup_link_82571,
/* .setup_physical_interface: media type dependent */ /* .setup_physical_interface: media type dependent */
.setup_led = e1000e_setup_led_generic, .setup_led = e1000e_setup_led_generic,
.config_collision_dist = e1000e_config_collision_dist_generic,
.read_mac_addr = e1000_read_mac_addr_82571, .read_mac_addr = e1000_read_mac_addr_82571,
}; };
......
...@@ -575,7 +575,7 @@ extern s32 e1000e_set_fc_watermarks(struct e1000_hw *hw); ...@@ -575,7 +575,7 @@ extern s32 e1000e_set_fc_watermarks(struct e1000_hw *hw);
extern void e1000e_set_pcie_no_snoop(struct e1000_hw *hw, u32 no_snoop); extern void e1000e_set_pcie_no_snoop(struct e1000_hw *hw, u32 no_snoop);
extern s32 e1000e_get_hw_semaphore(struct e1000_hw *hw); extern s32 e1000e_get_hw_semaphore(struct e1000_hw *hw);
extern s32 e1000e_valid_led_default(struct e1000_hw *hw, u16 *data); extern s32 e1000e_valid_led_default(struct e1000_hw *hw, u16 *data);
extern void e1000e_config_collision_dist(struct e1000_hw *hw); extern void e1000e_config_collision_dist_generic(struct e1000_hw *hw);
extern s32 e1000e_config_fc_after_link_up(struct e1000_hw *hw); extern s32 e1000e_config_fc_after_link_up(struct e1000_hw *hw);
extern s32 e1000e_force_mac_fc(struct e1000_hw *hw); extern s32 e1000e_force_mac_fc(struct e1000_hw *hw);
extern s32 e1000e_blink_led_generic(struct e1000_hw *hw); extern s32 e1000e_blink_led_generic(struct e1000_hw *hw);
......
...@@ -781,6 +781,7 @@ struct e1000_mac_operations { ...@@ -781,6 +781,7 @@ struct e1000_mac_operations {
s32 (*setup_physical_interface)(struct e1000_hw *); s32 (*setup_physical_interface)(struct e1000_hw *);
s32 (*setup_led)(struct e1000_hw *); s32 (*setup_led)(struct e1000_hw *);
void (*write_vfta)(struct e1000_hw *, u32, u32); void (*write_vfta)(struct e1000_hw *, u32, u32);
void (*config_collision_dist)(struct e1000_hw *);
s32 (*read_mac_addr)(struct e1000_hw *); s32 (*read_mac_addr)(struct e1000_hw *);
}; };
......
...@@ -746,7 +746,7 @@ static s32 e1000_check_for_copper_link_ich8lan(struct e1000_hw *hw) ...@@ -746,7 +746,7 @@ static s32 e1000_check_for_copper_link_ich8lan(struct e1000_hw *hw)
* of MAC speed/duplex configuration. So we only need to * of MAC speed/duplex configuration. So we only need to
* configure Collision Distance in the MAC. * configure Collision Distance in the MAC.
*/ */
e1000e_config_collision_dist(hw); mac->ops.config_collision_dist(hw);
/* /*
* Configure Flow Control now that Auto-Neg has completed. * Configure Flow Control now that Auto-Neg has completed.
...@@ -4022,6 +4022,7 @@ static const struct e1000_mac_operations ich8_mac_ops = { ...@@ -4022,6 +4022,7 @@ static const struct e1000_mac_operations ich8_mac_ops = {
.setup_link = e1000_setup_link_ich8lan, .setup_link = e1000_setup_link_ich8lan,
.setup_physical_interface= e1000_setup_copper_link_ich8lan, .setup_physical_interface= e1000_setup_copper_link_ich8lan,
/* id_led_init dependent on mac type */ /* id_led_init dependent on mac type */
.config_collision_dist = e1000e_config_collision_dist_generic,
}; };
static const struct e1000_phy_operations ich8_phy_ops = { static const struct e1000_phy_operations ich8_phy_ops = {
......
...@@ -465,7 +465,7 @@ s32 e1000e_check_for_copper_link(struct e1000_hw *hw) ...@@ -465,7 +465,7 @@ s32 e1000e_check_for_copper_link(struct e1000_hw *hw)
* of MAC speed/duplex configuration. So we only need to * of MAC speed/duplex configuration. So we only need to
* configure Collision Distance in the MAC. * configure Collision Distance in the MAC.
*/ */
e1000e_config_collision_dist(hw); mac->ops.config_collision_dist(hw);
/* /*
* Configure Flow Control now that Auto-Neg has completed. * Configure Flow Control now that Auto-Neg has completed.
...@@ -890,7 +890,7 @@ s32 e1000e_setup_fiber_serdes_link(struct e1000_hw *hw) ...@@ -890,7 +890,7 @@ s32 e1000e_setup_fiber_serdes_link(struct e1000_hw *hw)
/* Take the link out of reset */ /* Take the link out of reset */
ctrl &= ~E1000_CTRL_LRST; ctrl &= ~E1000_CTRL_LRST;
e1000e_config_collision_dist(hw); hw->mac.ops.config_collision_dist(hw);
ret_val = e1000_commit_fc_settings_generic(hw); ret_val = e1000_commit_fc_settings_generic(hw);
if (ret_val) if (ret_val)
...@@ -925,14 +925,13 @@ s32 e1000e_setup_fiber_serdes_link(struct e1000_hw *hw) ...@@ -925,14 +925,13 @@ s32 e1000e_setup_fiber_serdes_link(struct e1000_hw *hw)
} }
/** /**
* e1000e_config_collision_dist - Configure collision distance * e1000e_config_collision_dist_generic - Configure collision distance
* @hw: pointer to the HW structure * @hw: pointer to the HW structure
* *
* Configures the collision distance to the default value and is used * Configures the collision distance to the default value and is used
* during link setup. Currently no func pointer exists and all * during link setup.
* implementations are handled in the generic version of this function.
**/ **/
void e1000e_config_collision_dist(struct e1000_hw *hw) void e1000e_config_collision_dist_generic(struct e1000_hw *hw)
{ {
u32 tctl; u32 tctl;
......
...@@ -2855,7 +2855,7 @@ static void e1000_configure_tx(struct e1000_adapter *adapter) ...@@ -2855,7 +2855,7 @@ static void e1000_configure_tx(struct e1000_adapter *adapter)
/* enable Report Status bit */ /* enable Report Status bit */
adapter->txd_cmd |= E1000_TXD_CMD_RS; adapter->txd_cmd |= E1000_TXD_CMD_RS;
e1000e_config_collision_dist(hw); hw->mac.ops.config_collision_dist(hw);
} }
/** /**
......
...@@ -1181,7 +1181,7 @@ s32 e1000e_setup_copper_link(struct e1000_hw *hw) ...@@ -1181,7 +1181,7 @@ s32 e1000e_setup_copper_link(struct e1000_hw *hw)
if (link) { if (link) {
e_dbg("Valid link established!!!\n"); e_dbg("Valid link established!!!\n");
e1000e_config_collision_dist(hw); hw->mac.ops.config_collision_dist(hw);
ret_val = e1000e_config_fc_after_link_up(hw); ret_val = e1000e_config_fc_after_link_up(hw);
} else { } else {
e_dbg("Unable to establish link!!!\n"); e_dbg("Unable to establish link!!!\n");
...@@ -1489,7 +1489,7 @@ void e1000e_phy_force_speed_duplex_setup(struct e1000_hw *hw, u16 *phy_ctrl) ...@@ -1489,7 +1489,7 @@ void e1000e_phy_force_speed_duplex_setup(struct e1000_hw *hw, u16 *phy_ctrl)
e_dbg("Forcing 10mb\n"); e_dbg("Forcing 10mb\n");
} }
e1000e_config_collision_dist(hw); hw->mac.ops.config_collision_dist(hw);
ew32(CTRL, ctrl); ew32(CTRL, ctrl);
} }
......
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