[Intel-wired-lan] Deep package C-states cannot be reached on e1000e after resume from suspend

Yaroslav Isakov yaroslav.isakov at gmail.com
Wed Aug 5 19:58:01 UTC 2020


I think that the problem is in suspend/resume. When I'm booting
laptop, I can see C6, C8 residency (after setting
CONFIG_SATA_MOBILE_LPM_POLICY=3), but after suspend/resume package is
stuck in PC2, until I'll unplug/wait/plug cable.
P.S. I've tried to disable WOL, or set
/sys/bus/pci/devices/0000:04:00.0/power/control to auto - no change in
behavior.

ср, 5 авг. 2020 г. в 21:18, Yaroslav Isakov <yaroslav.isakov at gmail.com>:
>
> Vitaly,
> Thank you, I've tried, but no change in C-states. I do not understand
> why unplugging and plugging cable back fix my issue...
> I've also found that if I plug cable immediately after unplugging, it
> also doesn't fix my problem. I should unplug cable, wait until there
> are numbers in RC6+ columns in turbostat, and only then I can insert
> the cable back.
>
> ср, 5 авг. 2020 г. в 13:34, Vitaly Lifshits <vitaly.lifshits at intel.com>:
> >
> > Hello Yatoslav,
> >
> > On 8/5/2020 03:42, Yaroslav Isakov wrote:
> > > Hello! I've found that my laptop (T460s) cannot reach Package C-states
> > > deeper than PC2. After some research, I've found that unplugging cable
> > > from my laptop and plugging it back fixes that, until the laptop is
> > > suspended. After resume, this problem returns, but unplugging and
> > > plugging fix it again.
> > > I'm using kernel 5.8.0, but I've seen the same behavior on previous
> > > kernel as well.
> > >
> > > Here is a lspci -n -vv excerpt:
> > > 00:1f.6 0200: 8086:156f (rev 21)
> > >      Subsystem: 17aa:2233
> > >      Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
> > > ParErr- Stepping- SERR- FastB2B- DisINTx+
> > >      Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
> > > <TAbort- <MAbort- >SERR- <PERR- INTx-
> > >      Latency: 0
> > >      Interrupt: pin A routed to IRQ 129
> > >      Region 0: Memory at e1100000 (32-bit, non-prefetchable) [size=128K]
> > >      Capabilities: [c8] Power Management version 3
> > >          Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
> > > PME(D0+,D1-,D2-,D3hot+,D3cold+)
> > >          Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
> > >      Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
> > >          Address: 00000000fee002f8  Data: 0000
> > >      Capabilities: [e0] PCI Advanced Features
> > >          AFCap: TP+ FLR+
> > >          AFCtrl: FLR-
> > >          AFStatus: TP-
> > >      Kernel driver in use: e1000e
> > >      Kernel modules: e1000e
> > >
> > > /sys/bus/pci/devices/0000:00:1f.6/power/control = on (I've changed it
> > > to auto, but no change in behavoir)
> > > _______________________________________________
> > > Intel-wired-lan mailing list
> > > Intel-wired-lan at osuosl.org
> > > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
> > >
> >
> > In order to be able to reach the lowest power state with connected cable
> > you need to set pmc to ignore ltr from the GBE.
> >
> > You can do it by executing:
> > echo 3 > /sys/kernel/debug/pmc_core/ltr_ignore
> > _______________________________________________
> > Intel-wired-lan mailing list
> > Intel-wired-lan at osuosl.org
> > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan


More information about the Intel-wired-lan mailing list