Commit cad014b7 authored by Sasha Neftin's avatar Sasha Neftin Committed by Tony Nguyen

e1000e: Handshake with CSME starts from ADL platforms

Handshake with CSME/AMT on none provisioned platforms during S0ix flow
is not supported on TGL platform and can cause to HW unit hang. Update
the handshake with CSME flow to start from the ADL platform.

Fixes: 3e55d231 ("e1000e: Add handshake with the CSME to support S0ix")
Signed-off-by: default avatarSasha Neftin <sasha.neftin@intel.com>
Tested-by: default avatarNechama Kraus <nechamax.kraus@linux.intel.com>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 68defd52
...@@ -6342,7 +6342,8 @@ static void e1000e_s0ix_entry_flow(struct e1000_adapter *adapter) ...@@ -6342,7 +6342,8 @@ static void e1000e_s0ix_entry_flow(struct e1000_adapter *adapter)
u32 mac_data; u32 mac_data;
u16 phy_data; u16 phy_data;
if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID) { if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID &&
hw->mac.type >= e1000_pch_adp) {
/* Request ME configure the device for S0ix */ /* Request ME configure the device for S0ix */
mac_data = er32(H2ME); mac_data = er32(H2ME);
mac_data |= E1000_H2ME_START_DPG; mac_data |= E1000_H2ME_START_DPG;
...@@ -6491,7 +6492,8 @@ static void e1000e_s0ix_exit_flow(struct e1000_adapter *adapter) ...@@ -6491,7 +6492,8 @@ static void e1000e_s0ix_exit_flow(struct e1000_adapter *adapter)
u16 phy_data; u16 phy_data;
u32 i = 0; u32 i = 0;
if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID) { if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID &&
hw->mac.type >= e1000_pch_adp) {
/* Request ME unconfigure the device from S0ix */ /* Request ME unconfigure the device from S0ix */
mac_data = er32(H2ME); mac_data = er32(H2ME);
mac_data &= ~E1000_H2ME_START_DPG; mac_data &= ~E1000_H2ME_START_DPG;
......
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