Commit 482fed85 authored by Bruce Allan's avatar Bruce Allan Committed by David S. Miller

e1000e: convert calls of ops.[read|write]_reg to e1e_[r|w]phy

Cleans up the code a bit by using the driver-specific e1e_rphy and
e1e_wphy macros instead of the full function pointer variants.  Fix
a couple whitespace issue with two already existing calls to e1e_wphy.
Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
Tested-by: default avatarJeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dd93f95e
...@@ -3118,7 +3118,7 @@ static s32 e1000_init_hw_ich8lan(struct e1000_hw *hw) ...@@ -3118,7 +3118,7 @@ static s32 e1000_init_hw_ich8lan(struct e1000_hw *hw)
* Reset the phy after disabling host wakeup to reset the Rx buffer. * Reset the phy after disabling host wakeup to reset the Rx buffer.
*/ */
if (hw->phy.type == e1000_phy_82578) { if (hw->phy.type == e1000_phy_82578) {
hw->phy.ops.read_reg(hw, BM_WUC, &i); e1e_rphy(hw, BM_WUC, &i);
ret_val = e1000_phy_hw_reset_ich8lan(hw); ret_val = e1000_phy_hw_reset_ich8lan(hw);
if (ret_val) if (ret_val)
return ret_val; return ret_val;
...@@ -3276,9 +3276,8 @@ static s32 e1000_setup_link_ich8lan(struct e1000_hw *hw) ...@@ -3276,9 +3276,8 @@ static s32 e1000_setup_link_ich8lan(struct e1000_hw *hw)
(hw->phy.type == e1000_phy_82577)) { (hw->phy.type == e1000_phy_82577)) {
ew32(FCRTV_PCH, hw->fc.refresh_time); ew32(FCRTV_PCH, hw->fc.refresh_time);
ret_val = hw->phy.ops.write_reg(hw, ret_val = e1e_wphy(hw, PHY_REG(BM_PORT_CTRL_PAGE, 27),
PHY_REG(BM_PORT_CTRL_PAGE, 27), hw->fc.pause_time);
hw->fc.pause_time);
if (ret_val) if (ret_val)
return ret_val; return ret_val;
} }
...@@ -3342,8 +3341,7 @@ static s32 e1000_setup_copper_link_ich8lan(struct e1000_hw *hw) ...@@ -3342,8 +3341,7 @@ static s32 e1000_setup_copper_link_ich8lan(struct e1000_hw *hw)
return ret_val; return ret_val;
break; break;
case e1000_phy_ife: case e1000_phy_ife:
ret_val = hw->phy.ops.read_reg(hw, IFE_PHY_MDIX_CONTROL, ret_val = e1e_rphy(hw, IFE_PHY_MDIX_CONTROL, &reg_data);
&reg_data);
if (ret_val) if (ret_val)
return ret_val; return ret_val;
...@@ -3361,8 +3359,7 @@ static s32 e1000_setup_copper_link_ich8lan(struct e1000_hw *hw) ...@@ -3361,8 +3359,7 @@ static s32 e1000_setup_copper_link_ich8lan(struct e1000_hw *hw)
reg_data |= IFE_PMC_AUTO_MDIX; reg_data |= IFE_PMC_AUTO_MDIX;
break; break;
} }
ret_val = hw->phy.ops.write_reg(hw, IFE_PHY_MDIX_CONTROL, ret_val = e1e_wphy(hw, IFE_PHY_MDIX_CONTROL, reg_data);
reg_data);
if (ret_val) if (ret_val)
return ret_val; return ret_val;
break; break;
...@@ -3646,7 +3643,8 @@ static s32 e1000_led_off_ich8lan(struct e1000_hw *hw) ...@@ -3646,7 +3643,8 @@ static s32 e1000_led_off_ich8lan(struct e1000_hw *hw)
{ {
if (hw->phy.type == e1000_phy_ife) if (hw->phy.type == e1000_phy_ife)
return e1e_wphy(hw, IFE_PHY_SPECIAL_CONTROL_LED, return e1e_wphy(hw, IFE_PHY_SPECIAL_CONTROL_LED,
(IFE_PSCL_PROBE_MODE | IFE_PSCL_PROBE_LEDS_OFF)); (IFE_PSCL_PROBE_MODE |
IFE_PSCL_PROBE_LEDS_OFF));
ew32(LEDCTL, hw->mac.ledctl_mode1); ew32(LEDCTL, hw->mac.ledctl_mode1);
return 0; return 0;
...@@ -3660,8 +3658,7 @@ static s32 e1000_led_off_ich8lan(struct e1000_hw *hw) ...@@ -3660,8 +3658,7 @@ static s32 e1000_led_off_ich8lan(struct e1000_hw *hw)
**/ **/
static s32 e1000_setup_led_pchlan(struct e1000_hw *hw) static s32 e1000_setup_led_pchlan(struct e1000_hw *hw)
{ {
return hw->phy.ops.write_reg(hw, HV_LED_CONFIG, return e1e_wphy(hw, HV_LED_CONFIG, (u16)hw->mac.ledctl_mode1);
(u16)hw->mac.ledctl_mode1);
} }
/** /**
...@@ -3672,8 +3669,7 @@ static s32 e1000_setup_led_pchlan(struct e1000_hw *hw) ...@@ -3672,8 +3669,7 @@ static s32 e1000_setup_led_pchlan(struct e1000_hw *hw)
**/ **/
static s32 e1000_cleanup_led_pchlan(struct e1000_hw *hw) static s32 e1000_cleanup_led_pchlan(struct e1000_hw *hw)
{ {
return hw->phy.ops.write_reg(hw, HV_LED_CONFIG, return e1e_wphy(hw, HV_LED_CONFIG, (u16)hw->mac.ledctl_default);
(u16)hw->mac.ledctl_default);
} }
/** /**
...@@ -3704,7 +3700,7 @@ static s32 e1000_led_on_pchlan(struct e1000_hw *hw) ...@@ -3704,7 +3700,7 @@ static s32 e1000_led_on_pchlan(struct e1000_hw *hw)
} }
} }
return hw->phy.ops.write_reg(hw, HV_LED_CONFIG, data); return e1e_wphy(hw, HV_LED_CONFIG, data);
} }
/** /**
...@@ -3735,7 +3731,7 @@ static s32 e1000_led_off_pchlan(struct e1000_hw *hw) ...@@ -3735,7 +3731,7 @@ static s32 e1000_led_off_pchlan(struct e1000_hw *hw)
} }
} }
return hw->phy.ops.write_reg(hw, HV_LED_CONFIG, data); return e1e_wphy(hw, HV_LED_CONFIG, data);
} }
/** /**
...@@ -3844,20 +3840,20 @@ static void e1000_clear_hw_cntrs_ich8lan(struct e1000_hw *hw) ...@@ -3844,20 +3840,20 @@ static void e1000_clear_hw_cntrs_ich8lan(struct e1000_hw *hw)
if ((hw->phy.type == e1000_phy_82578) || if ((hw->phy.type == e1000_phy_82578) ||
(hw->phy.type == e1000_phy_82579) || (hw->phy.type == e1000_phy_82579) ||
(hw->phy.type == e1000_phy_82577)) { (hw->phy.type == e1000_phy_82577)) {
hw->phy.ops.read_reg(hw, HV_SCC_UPPER, &phy_data); e1e_rphy(hw, HV_SCC_UPPER, &phy_data);
hw->phy.ops.read_reg(hw, HV_SCC_LOWER, &phy_data); e1e_rphy(hw, HV_SCC_LOWER, &phy_data);
hw->phy.ops.read_reg(hw, HV_ECOL_UPPER, &phy_data); e1e_rphy(hw, HV_ECOL_UPPER, &phy_data);
hw->phy.ops.read_reg(hw, HV_ECOL_LOWER, &phy_data); e1e_rphy(hw, HV_ECOL_LOWER, &phy_data);
hw->phy.ops.read_reg(hw, HV_MCC_UPPER, &phy_data); e1e_rphy(hw, HV_MCC_UPPER, &phy_data);
hw->phy.ops.read_reg(hw, HV_MCC_LOWER, &phy_data); e1e_rphy(hw, HV_MCC_LOWER, &phy_data);
hw->phy.ops.read_reg(hw, HV_LATECOL_UPPER, &phy_data); e1e_rphy(hw, HV_LATECOL_UPPER, &phy_data);
hw->phy.ops.read_reg(hw, HV_LATECOL_LOWER, &phy_data); e1e_rphy(hw, HV_LATECOL_LOWER, &phy_data);
hw->phy.ops.read_reg(hw, HV_COLC_UPPER, &phy_data); e1e_rphy(hw, HV_COLC_UPPER, &phy_data);
hw->phy.ops.read_reg(hw, HV_COLC_LOWER, &phy_data); e1e_rphy(hw, HV_COLC_LOWER, &phy_data);
hw->phy.ops.read_reg(hw, HV_DC_UPPER, &phy_data); e1e_rphy(hw, HV_DC_UPPER, &phy_data);
hw->phy.ops.read_reg(hw, HV_DC_LOWER, &phy_data); e1e_rphy(hw, HV_DC_LOWER, &phy_data);
hw->phy.ops.read_reg(hw, HV_TNCRS_UPPER, &phy_data); e1e_rphy(hw, HV_TNCRS_UPPER, &phy_data);
hw->phy.ops.read_reg(hw, HV_TNCRS_LOWER, &phy_data); e1e_rphy(hw, HV_TNCRS_LOWER, &phy_data);
} }
} }
......
...@@ -1135,7 +1135,8 @@ s32 e1000e_config_fc_after_link_up(struct e1000_hw *hw) ...@@ -1135,7 +1135,8 @@ s32 e1000e_config_fc_after_link_up(struct e1000_hw *hw)
ret_val = e1e_rphy(hw, PHY_AUTONEG_ADV, &mii_nway_adv_reg); ret_val = e1e_rphy(hw, PHY_AUTONEG_ADV, &mii_nway_adv_reg);
if (ret_val) if (ret_val)
return ret_val; return ret_val;
ret_val = e1e_rphy(hw, PHY_LP_ABILITY, &mii_nway_lp_ability_reg); ret_val =
e1e_rphy(hw, PHY_LP_ABILITY, &mii_nway_lp_ability_reg);
if (ret_val) if (ret_val)
return ret_val; return ret_val;
......
...@@ -637,12 +637,11 @@ s32 e1000e_write_kmrn_reg_locked(struct e1000_hw *hw, u32 offset, u16 data) ...@@ -637,12 +637,11 @@ s32 e1000e_write_kmrn_reg_locked(struct e1000_hw *hw, u32 offset, u16 data)
**/ **/
s32 e1000_copper_link_setup_82577(struct e1000_hw *hw) s32 e1000_copper_link_setup_82577(struct e1000_hw *hw)
{ {
struct e1000_phy_info *phy = &hw->phy;
s32 ret_val; s32 ret_val;
u16 phy_data; u16 phy_data;
/* Enable CRS on TX. This must be set for half-duplex operation. */ /* Enable CRS on TX. This must be set for half-duplex operation. */
ret_val = phy->ops.read_reg(hw, I82577_CFG_REG, &phy_data); ret_val = e1e_rphy(hw, I82577_CFG_REG, &phy_data);
if (ret_val) if (ret_val)
goto out; goto out;
...@@ -651,7 +650,7 @@ s32 e1000_copper_link_setup_82577(struct e1000_hw *hw) ...@@ -651,7 +650,7 @@ s32 e1000_copper_link_setup_82577(struct e1000_hw *hw)
/* Enable downshift */ /* Enable downshift */
phy_data |= I82577_CFG_ENABLE_DOWNSHIFT; phy_data |= I82577_CFG_ENABLE_DOWNSHIFT;
ret_val = phy->ops.write_reg(hw, I82577_CFG_REG, phy_data); ret_val = e1e_wphy(hw, I82577_CFG_REG, phy_data);
out: out:
return ret_val; return ret_val;
...@@ -774,16 +773,14 @@ s32 e1000e_copper_link_setup_m88(struct e1000_hw *hw) ...@@ -774,16 +773,14 @@ s32 e1000e_copper_link_setup_m88(struct e1000_hw *hw)
} }
if (phy->type == e1000_phy_82578) { if (phy->type == e1000_phy_82578) {
ret_val = phy->ops.read_reg(hw, M88E1000_EXT_PHY_SPEC_CTRL, ret_val = e1e_rphy(hw, M88E1000_EXT_PHY_SPEC_CTRL, &phy_data);
&phy_data);
if (ret_val) if (ret_val)
return ret_val; return ret_val;
/* 82578 PHY - set the downshift count to 1x. */ /* 82578 PHY - set the downshift count to 1x. */
phy_data |= I82578_EPSCR_DOWNSHIFT_ENABLE; phy_data |= I82578_EPSCR_DOWNSHIFT_ENABLE;
phy_data &= ~I82578_EPSCR_DOWNSHIFT_COUNTER_MASK; phy_data &= ~I82578_EPSCR_DOWNSHIFT_COUNTER_MASK;
ret_val = phy->ops.write_reg(hw, M88E1000_EXT_PHY_SPEC_CTRL, ret_val = e1e_wphy(hw, M88E1000_EXT_PHY_SPEC_CTRL, phy_data);
phy_data);
if (ret_val) if (ret_val)
return ret_val; return ret_val;
} }
...@@ -1319,9 +1316,8 @@ s32 e1000e_phy_force_speed_duplex_m88(struct e1000_hw *hw) ...@@ -1319,9 +1316,8 @@ s32 e1000e_phy_force_speed_duplex_m88(struct e1000_hw *hw)
* We didn't get link. * We didn't get link.
* Reset the DSP and cross our fingers. * Reset the DSP and cross our fingers.
*/ */
ret_val = e1e_wphy(hw, ret_val = e1e_wphy(hw, M88E1000_PHY_PAGE_SELECT,
M88E1000_PHY_PAGE_SELECT, 0x001d);
0x001d);
if (ret_val) if (ret_val)
return ret_val; return ret_val;
ret_val = e1000e_phy_reset_dsp(hw); ret_val = e1000e_phy_reset_dsp(hw);
...@@ -3071,12 +3067,12 @@ s32 e1000_link_stall_workaround_hv(struct e1000_hw *hw) ...@@ -3071,12 +3067,12 @@ s32 e1000_link_stall_workaround_hv(struct e1000_hw *hw)
goto out; goto out;
/* Do not apply workaround if in PHY loopback bit 14 set */ /* Do not apply workaround if in PHY loopback bit 14 set */
hw->phy.ops.read_reg(hw, PHY_CONTROL, &data); e1e_rphy(hw, PHY_CONTROL, &data);
if (data & PHY_CONTROL_LB) if (data & PHY_CONTROL_LB)
goto out; goto out;
/* check if link is up and at 1Gbps */ /* check if link is up and at 1Gbps */
ret_val = hw->phy.ops.read_reg(hw, BM_CS_STATUS, &data); ret_val = e1e_rphy(hw, BM_CS_STATUS, &data);
if (ret_val) if (ret_val)
goto out; goto out;
...@@ -3092,14 +3088,12 @@ s32 e1000_link_stall_workaround_hv(struct e1000_hw *hw) ...@@ -3092,14 +3088,12 @@ s32 e1000_link_stall_workaround_hv(struct e1000_hw *hw)
mdelay(200); mdelay(200);
/* flush the packets in the fifo buffer */ /* flush the packets in the fifo buffer */
ret_val = hw->phy.ops.write_reg(hw, HV_MUX_DATA_CTRL, ret_val = e1e_wphy(hw, HV_MUX_DATA_CTRL, HV_MUX_DATA_CTRL_GEN_TO_MAC |
HV_MUX_DATA_CTRL_GEN_TO_MAC | HV_MUX_DATA_CTRL_FORCE_SPEED);
HV_MUX_DATA_CTRL_FORCE_SPEED);
if (ret_val) if (ret_val)
goto out; goto out;
ret_val = hw->phy.ops.write_reg(hw, HV_MUX_DATA_CTRL, ret_val = e1e_wphy(hw, HV_MUX_DATA_CTRL, HV_MUX_DATA_CTRL_GEN_TO_MAC);
HV_MUX_DATA_CTRL_GEN_TO_MAC);
out: out:
return ret_val; return ret_val;
...@@ -3119,7 +3113,7 @@ s32 e1000_check_polarity_82577(struct e1000_hw *hw) ...@@ -3119,7 +3113,7 @@ s32 e1000_check_polarity_82577(struct e1000_hw *hw)
s32 ret_val; s32 ret_val;
u16 data; u16 data;
ret_val = phy->ops.read_reg(hw, I82577_PHY_STATUS_2, &data); ret_val = e1e_rphy(hw, I82577_PHY_STATUS_2, &data);
if (!ret_val) if (!ret_val)
phy->cable_polarity = (data & I82577_PHY_STATUS2_REV_POLARITY) phy->cable_polarity = (data & I82577_PHY_STATUS2_REV_POLARITY)
...@@ -3142,13 +3136,13 @@ s32 e1000_phy_force_speed_duplex_82577(struct e1000_hw *hw) ...@@ -3142,13 +3136,13 @@ s32 e1000_phy_force_speed_duplex_82577(struct e1000_hw *hw)
u16 phy_data; u16 phy_data;
bool link; bool link;
ret_val = phy->ops.read_reg(hw, PHY_CONTROL, &phy_data); ret_val = e1e_rphy(hw, PHY_CONTROL, &phy_data);
if (ret_val) if (ret_val)
goto out; goto out;
e1000e_phy_force_speed_duplex_setup(hw, &phy_data); e1000e_phy_force_speed_duplex_setup(hw, &phy_data);
ret_val = phy->ops.write_reg(hw, PHY_CONTROL, phy_data); ret_val = e1e_wphy(hw, PHY_CONTROL, phy_data);
if (ret_val) if (ret_val)
goto out; goto out;
...@@ -3212,7 +3206,7 @@ s32 e1000_get_phy_info_82577(struct e1000_hw *hw) ...@@ -3212,7 +3206,7 @@ s32 e1000_get_phy_info_82577(struct e1000_hw *hw)
if (ret_val) if (ret_val)
goto out; goto out;
ret_val = phy->ops.read_reg(hw, I82577_PHY_STATUS_2, &data); ret_val = e1e_rphy(hw, I82577_PHY_STATUS_2, &data);
if (ret_val) if (ret_val)
goto out; goto out;
...@@ -3224,7 +3218,7 @@ s32 e1000_get_phy_info_82577(struct e1000_hw *hw) ...@@ -3224,7 +3218,7 @@ s32 e1000_get_phy_info_82577(struct e1000_hw *hw)
if (ret_val) if (ret_val)
goto out; goto out;
ret_val = phy->ops.read_reg(hw, PHY_1000T_STATUS, &data); ret_val = e1e_rphy(hw, PHY_1000T_STATUS, &data);
if (ret_val) if (ret_val)
goto out; goto out;
...@@ -3258,7 +3252,7 @@ s32 e1000_get_cable_length_82577(struct e1000_hw *hw) ...@@ -3258,7 +3252,7 @@ s32 e1000_get_cable_length_82577(struct e1000_hw *hw)
s32 ret_val; s32 ret_val;
u16 phy_data, length; u16 phy_data, length;
ret_val = phy->ops.read_reg(hw, I82577_PHY_DIAG_STATUS, &phy_data); ret_val = e1e_rphy(hw, I82577_PHY_DIAG_STATUS, &phy_data);
if (ret_val) if (ret_val)
goto out; goto out;
......
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