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