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: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
6e3c807504
commit
57cde7630c
@ -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 = {
|
|||||||
.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);
|
|||||||
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 {
|
|||||||
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)
|
|||||||
* 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 = {
|
|||||||
.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)
|
|||||||
* 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)
|
|||||||
/* 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)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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)
|
|||||||
/* 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)
|
|||||||
|
|
||||||
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)
|
|||||||
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);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user