The nvme pci driver prepares its devices for power loss during suspend
by shutting down the controllers. The power setting is deferred to
pci driver's power management before the platform removes power. The
suspend-to-idle mode, however, does not remove power.
NVMe devices that implement host managed power settings can achieve
lower power and better transition latencies than using generic PCI power
settings. Try to use this feature if the platform is not involved with
the suspend. If successful, restore the previous power state on resume.
Cc: Mario Limonciello <email address hidden>
Cc: Kai Heng Feng <email address hidden>
Tested-by: Kai-Heng Feng <email address hidden>
Tested-by: Mario Limonciello <email address hidden>
Reviewed-by: Rafael J. Wysocki <email address hidden>
Reviewed-by: Christoph Hellwig <email address hidden>
Signed-off-by: Keith Busch <email address hidden>
Signed-off-by: Sagi Grimberg <email address hidden>
(cherry picked from commit a0805317252ad9cf09d4a32b0435e165580adf8a)
Signed-off-by: Kai-Heng Feng <email address hidden>
Acked-by: Timo Aaltonen <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>
I was able to narrow this down to this commit:
commit 1bde9ecf018ee64 6b68258921bf0fa 364afda38a
Author: Keith Busch <email address hidden>
Date: Thu May 23 09:27:35 2019 -0600
nvme-pci: Use host managed power state for suspend
BugLink: https:/ /bugs.launchpad .net/bugs/ 1808957
The nvme pci driver prepares its devices for power loss during suspend
by shutting down the controllers. The power setting is deferred to
pci driver's power management before the platform removes power. The
suspend-to-idle mode, however, does not remove power.
NVMe devices that implement host managed power settings can achieve
lower power and better transition latencies than using generic PCI power
settings. Try to use this feature if the platform is not involved with
the suspend. If successful, restore the previous power state on resume.
Cc: Mario Limonciello <email address hidden> f09d4a32b0435e1 65580adf8a)
Cc: Kai Heng Feng <email address hidden>
Tested-by: Kai-Heng Feng <email address hidden>
Tested-by: Mario Limonciello <email address hidden>
Reviewed-by: Rafael J. Wysocki <email address hidden>
Reviewed-by: Christoph Hellwig <email address hidden>
Signed-off-by: Keith Busch <email address hidden>
Signed-off-by: Sagi Grimberg <email address hidden>
(cherry picked from commit a0805317252ad9c
Signed-off-by: Kai-Heng Feng <email address hidden>
Acked-by: Timo Aaltonen <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Signed-off-by: Kleber Sacilotto de Souza <email address hidden>