diff mbox series

[v3,1/7] e1000e: fix S0ix flow to allow S0i3.2 subset entry

Message ID 20201204200920.133780-2-mario.limonciello@dell.com
State New
Headers show
Series Improve s0ix flows for systems i219LM | expand

Commit Message

Limonciello, Mario Dec. 4, 2020, 8:09 p.m. UTC
From: Vitaly Lifshits <vitaly.lifshits@intel.com>

Changed a configuration in the flows to align with
architecture requirements to achieve S0i3.2 substate.

Also fixed a typo in the previous commit 632fbd5eb5b0
("e1000e: fix S0ix flows for cable connected case").

Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
 drivers/net/ethernet/intel/e1000e/netdev.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Limonciello, Mario Dec. 8, 2020, 5:24 p.m. UTC | #1
On 12/4/20 2:09 PM, Mario Limonciello wrote:
> From: Vitaly Lifshits <vitaly.lifshits@intel.com>

>

> Changed a configuration in the flows to align with

> architecture requirements to achieve S0i3.2 substate.

>

> Also fixed a typo in the previous commit 632fbd5eb5b0

> ("e1000e: fix S0ix flows for cable connected case").

>

> Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>

> Tested-by: Aaron Brown <aaron.f.brown@intel.com>

> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>

> ---

>   drivers/net/ethernet/intel/e1000e/netdev.c | 8 ++++----

>   1 file changed, 4 insertions(+), 4 deletions(-)


I realize that the series is still under discussion, but I intentionally 
moved this
patch to the front of the series so it can be pulled in even if the 
others are still
discussed.

@David Miller:
This particular patch is more important than the rest.  It actually 
fixes issues
on the non-ME i219V as well.  Can this one be queued up and we can keep
discussing the rest?

> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c

> index b30f00891c03..128ab6898070 100644

> --- a/drivers/net/ethernet/intel/e1000e/netdev.c

> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c

> @@ -6475,13 +6475,13 @@ static void e1000e_s0ix_entry_flow(struct e1000_adapter *adapter)

>   

>   	/* 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);

> @@ -6525,11 +6525,11 @@ static void e1000e_s0ix_exit_flow(struct e1000_adapter *adapter)

>   	/* 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

-- 
*Mario Limonciello*
*Dell*| CPG Software Engineering
*office*+1 512 723 0582
Jakub Kicinski Dec. 8, 2020, 6:18 p.m. UTC | #2
On Tue, 8 Dec 2020 11:24:17 -0600 Mario Limonciello wrote:
> On 12/4/20 2:09 PM, Mario Limonciello wrote:

> > From: Vitaly Lifshits <vitaly.lifshits@intel.com>

> >

> > Changed a configuration in the flows to align with

> > architecture requirements to achieve S0i3.2 substate.

> >

> > Also fixed a typo in the previous commit 632fbd5eb5b0

> > ("e1000e: fix S0ix flows for cable connected case").

> >

> > Signed-off-by: Vitaly Lifshits <vitaly.lifshits@intel.com>

> > Tested-by: Aaron Brown <aaron.f.brown@intel.com>

> > Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>

> > ---

> >   drivers/net/ethernet/intel/e1000e/netdev.c | 8 ++++----

> >   1 file changed, 4 insertions(+), 4 deletions(-)  

> 

> I realize that the series is still under discussion, but I intentionally 

> moved this

> patch to the front of the series so it can be pulled in even if the 

> others are still

> discussed.

> 

> @David Miller:

> This particular patch is more important than the rest.  It actually 

> fixes issues

> on the non-ME i219V as well.  Can this one be queued up and we can keep

> discussing the rest?


Not sure Dave will notice this discussion, best if you repost this patch
separately. If it's a fix that should be backported to stable make sure
you add a Fixes tag.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index b30f00891c03..128ab6898070 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -6475,13 +6475,13 @@  static void e1000e_s0ix_entry_flow(struct e1000_adapter *adapter)
 
 	/* 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);
@@ -6525,11 +6525,11 @@  static void e1000e_s0ix_exit_flow(struct e1000_adapter *adapter)
 	/* 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