mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-06 14:48:06 +00:00
e1000e: synchronization of MAC-PHY interface only on non- ME systems
On power up, the MAC - PHY interface needs to be set to PCIe, even if cable is disconnected. In ME systems, the ME handles this on exit from Sx state. In non-ME, the driver handles it. Added a check for non-ME system to the driver code that handles that. Signed-off-by: Yanir Lubetkin <yanirx.lubetkin@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
beb0a1520b
commit
beee8072c3
1 changed files with 12 additions and 10 deletions
|
@ -237,17 +237,19 @@ static bool e1000_phy_is_accessible_pchlan(struct e1000_hw *hw)
|
||||||
if (ret_val)
|
if (ret_val)
|
||||||
return false;
|
return false;
|
||||||
out:
|
out:
|
||||||
if ((hw->mac.type == e1000_pch_lpt) ||
|
if ((hw->mac.type == e1000_pch_lpt) || (hw->mac.type == e1000_pch_spt)) {
|
||||||
(hw->mac.type == e1000_pch_spt)) {
|
/* Only unforce SMBus if ME is not active */
|
||||||
/* Unforce SMBus mode in PHY */
|
if (!(er32(FWSM) & E1000_ICH_FWSM_FW_VALID)) {
|
||||||
e1e_rphy_locked(hw, CV_SMB_CTRL, &phy_reg);
|
/* Unforce SMBus mode in PHY */
|
||||||
phy_reg &= ~CV_SMB_CTRL_FORCE_SMBUS;
|
e1e_rphy_locked(hw, CV_SMB_CTRL, &phy_reg);
|
||||||
e1e_wphy_locked(hw, CV_SMB_CTRL, phy_reg);
|
phy_reg &= ~CV_SMB_CTRL_FORCE_SMBUS;
|
||||||
|
e1e_wphy_locked(hw, CV_SMB_CTRL, phy_reg);
|
||||||
|
|
||||||
/* Unforce SMBus mode in MAC */
|
/* Unforce SMBus mode in MAC */
|
||||||
mac_reg = er32(CTRL_EXT);
|
mac_reg = er32(CTRL_EXT);
|
||||||
mac_reg &= ~E1000_CTRL_EXT_FORCE_SMBUS;
|
mac_reg &= ~E1000_CTRL_EXT_FORCE_SMBUS;
|
||||||
ew32(CTRL_EXT, mac_reg);
|
ew32(CTRL_EXT, mac_reg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Add table
Reference in a new issue