NACK/Cmnt: [PATCH 1/1][SRU][J] UBUNTU: SAUCE: e1000e: Enable GPT clock before sending message to CSME
Stefan Bader
stefan.bader at canonical.com
Thu Jul 7 08:21:38 UTC 2022
On 12.05.22 04:39, AceLan Kao wrote:
> From: Sasha Neftin <sasha.neftin at intel.com>
>
> BugLink: https://bugs.launchpad.net/bugs/1973104
>
> On corporate (CSME) ADL systems, the Ethernet Controller may stop working
> ("HW unit hang") after exiting from the s0ix state. The reason is that
> CSME misses the message sent by the host. Enabling the dynamic GPT clock
> solves this problem. This clock is cleared upon HW initialization.
>
> Fixes: 3e55d231716e ("e1000e: Add handshake with the CSME to support S0ix")
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=214821
> Reviewed-by: Dima Ruinskiy <dima.ruinskiy at intel.com>
> Signed-off-by: Sasha Neftin <sasha.neftin at intel.com>
> (cherry picked from commit https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20220508070905.1878172-1-sasha.neftin@intel.com/)
> Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao at canonical.com>
> ---
It has been a long time since this was submitted and still there is no change
with this subject on linux-next. There are 2 follow-ups to the support of S0ix
upstream (and also in jammy)
1866aa0d0d64 e1000e: Fix possible HW unit hang after an s0ix exit
cad014b7b5a6 e1000e: Handshake with CSME starts from ADL platforms
If jammy still needs some fix, then it should be worked to land upstream.
-Stefan
> drivers/net/ethernet/intel/e1000e/netdev.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
> index 4dfa0ef592cf..642f86a1c7c8 100644
> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
> @@ -6492,6 +6492,10 @@ static void e1000e_s0ix_exit_flow(struct e1000_adapter *adapter)
>
> if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID &&
> hw->mac.type >= e1000_pch_adp) {
> + /* Keep the GPT clock enabled for CSME */
> + mac_data = er32(FEXTNVM);
> + mac_data |= BIT(3);
> + ew32(FEXTNVM, mac_data);
> /* Request ME unconfigure the device from S0ix */
> mac_data = er32(H2ME);
> mac_data &= ~E1000_H2ME_START_DPG;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20220707/8aafad20/attachment-0001.sig>
More information about the kernel-team
mailing list