This is a note to let you know that I've just added the patch titled e1000e: fix S0ix flow to allow S0i3.2 subset entry to the 5.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: e1000e-fix-s0ix-flow-to-allow-s0i3.2-subset-entry.patch and it can be found in the queue-5.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Sat Dec 19 11:38:44 AM CET 2020 From: Vitaly Lifshits <vitaly.lifshits@xxxxxxxxx> Date: Tue, 8 Dec 2020 12:56:32 -0600 Subject: e1000e: fix S0ix flow to allow S0i3.2 subset entry From: Vitaly Lifshits <vitaly.lifshits@xxxxxxxxx> [ Upstream commit a379b01cd4b2aa3f12786b281a714871574e5ccb ] Changed a configuration in the flows to align with architecture requirements to achieve S0i3.2 substate. This helps both i219V and i219LM configurations. Also fixed a typo in the previous commit 632fbd5eb5b0 ("e1000e: fix S0ix flows for cable connected case"). Fixes: 632fbd5eb5b0 ("e1000e: fix S0ix flows for cable connected case"). Signed-off-by: Vitaly Lifshits <vitaly.lifshits@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx> Reviewed-by: Alexander Duyck <alexanderduyck@xxxxxx> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxxx> Link: https://lore.kernel.org/r/20201208185632.151052-1-mario.limonciello@xxxxxxxx Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/net/ethernet/intel/e1000e/netdev.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -6449,13 +6449,13 @@ static void e1000e_s0ix_entry_flow(struc /* Ungate PGCB clock */ mac_data = er32(FEXTNVM9); - mac_data |= BIT(28); + mac_data &= ~BIT(28); ew32(FEXTNVM9, mac_data); /* Enable K1 off to enable mPHY Power Gating */ mac_data = er32(FEXTNVM6); mac_data |= BIT(31); - ew32(FEXTNVM12, mac_data); + ew32(FEXTNVM6, mac_data); /* Enable mPHY power gating for any link and speed */ mac_data = er32(FEXTNVM8); @@ -6499,11 +6499,11 @@ static void e1000e_s0ix_exit_flow(struct /* Disable K1 off */ mac_data = er32(FEXTNVM6); mac_data &= ~BIT(31); - ew32(FEXTNVM12, mac_data); + ew32(FEXTNVM6, mac_data); /* Disable Ungate PGCB clock */ mac_data = er32(FEXTNVM9); - mac_data &= ~BIT(28); + mac_data |= BIT(28); ew32(FEXTNVM9, mac_data); /* Cancel not waking from dynamic Patches currently in stable-queue which might be from vitaly.lifshits@xxxxxxxxx are queue-5.9/e1000e-fix-s0ix-flow-to-allow-s0i3.2-subset-entry.patch