mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
e1000e: cleanup e1000_sw_lcd_config_ich8lan()
Do not acquire and release the PHY unnecessarily for parts that return from this workaround without actually accessing the PHY registers. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3af50481ee
commit
3f0c16e844
@ -820,14 +820,6 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
|
|||||||
s32 ret_val = 0;
|
s32 ret_val = 0;
|
||||||
u16 word_addr, reg_data, reg_addr, phy_page = 0;
|
u16 word_addr, reg_data, reg_addr, phy_page = 0;
|
||||||
|
|
||||||
if (!(hw->mac.type == e1000_ich8lan && phy->type == e1000_phy_igp_3) &&
|
|
||||||
!(hw->mac.type == e1000_pchlan))
|
|
||||||
return ret_val;
|
|
||||||
|
|
||||||
ret_val = hw->phy.ops.acquire(hw);
|
|
||||||
if (ret_val)
|
|
||||||
return ret_val;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize the PHY from the NVM on ICH platforms. This
|
* Initialize the PHY from the NVM on ICH platforms. This
|
||||||
* is needed due to an issue where the NVM configuration is
|
* is needed due to an issue where the NVM configuration is
|
||||||
@ -835,12 +827,26 @@ static s32 e1000_sw_lcd_config_ich8lan(struct e1000_hw *hw)
|
|||||||
* Therefore, after each PHY reset, we will load the
|
* Therefore, after each PHY reset, we will load the
|
||||||
* configuration data out of the NVM manually.
|
* configuration data out of the NVM manually.
|
||||||
*/
|
*/
|
||||||
if ((adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_M_AMT) ||
|
switch (hw->mac.type) {
|
||||||
(adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_M) ||
|
case e1000_ich8lan:
|
||||||
(hw->mac.type == e1000_pchlan))
|
if (phy->type != e1000_phy_igp_3)
|
||||||
|
return ret_val;
|
||||||
|
|
||||||
|
if (adapter->pdev->device == E1000_DEV_ID_ICH8_IGP_AMT) {
|
||||||
|
sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
/* Fall-thru */
|
||||||
|
case e1000_pchlan:
|
||||||
sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M;
|
sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG_ICH8M;
|
||||||
else
|
break;
|
||||||
sw_cfg_mask = E1000_FEXTNVM_SW_CONFIG;
|
default:
|
||||||
|
return ret_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret_val = hw->phy.ops.acquire(hw);
|
||||||
|
if (ret_val)
|
||||||
|
return ret_val;
|
||||||
|
|
||||||
data = er32(FEXTNVM);
|
data = er32(FEXTNVM);
|
||||||
if (!(data & sw_cfg_mask))
|
if (!(data & sw_cfg_mask))
|
||||||
|
Loading…
Reference in New Issue
Block a user