[PATCH 0/2][SRU][B][OEM-B] Power consumption during s2idle is higher than long idle(sk hynix)

AceLan Kao acelan.kao at canonical.com
Tue Nov 6 10:53:10 UTC 2018

BugLink: https://bugs.launchpad.net/bugs/1801875

On some Dell XPS models, we observed the power consumption raises higher
than long idle does during s2idle with sk hynix nvme.

Short idle: 4
Long idle: 1
S2I: 3.7
S5: 0.19

Short idle: 7.2
Long idle: 4.5
S2I: 6.22
S5: 0.18

Short idle: 6.5
Long idle: 1
S2I: 2.88
S5: 0.18

>From SK hynix FE, MS Windows doesn't put nvme to D3, and uses its own
APST feature to do the power management. To leverage its APST feature
during s2idle, we can't disable nvme device while suspending, too.
So, here is what we did on the driver, 1. prevent nvme from entering
D3, 2. prevent nvme from being disabled when suspending.

Verified on different XPS machines with different sk hynix nvme disks,
it fixes the power consumption issue with no regression. And the power
consumption drops to 0.77W during s2idle.

[Regression Potential]
Low, the patches only applied to specific nvme module, and from our
test, the system is still stable.

This issue should be fixed by the firmware, and we're pushing sk hynix
to fix it. But before sk hynix find out how to solve it, we have to
preserve these commits in our kernel for a while.
BTW, the patches require pm_suspend_via_s2idle() function from below
commit which is still under reviewing.

AceLan Kao (2):
  pci: prevent sk hynix nvme from entering D3
  nvme: add quirk to not call disable function when suspending

 drivers/nvme/host/nvme.h | 5 +++++
 drivers/nvme/host/pci.c  | 8 +++++++-
 drivers/pci/quirks.c     | 1 +
 include/linux/pci_ids.h  | 2 ++
 4 files changed, 15 insertions(+), 1 deletion(-)


More information about the kernel-team mailing list