Re: [PATCH V2 0/2] nvme: Add support for ACPI StorageD3Enable property

From: David E. Box
Date: Wed Jun 24 2020 - 14:55:07 EST


Friendly reminder. Thanks.

David

On Fri, 2020-06-12 at 13:48 -0700, David E. Box wrote:
> This patch set implements a solution for a BIOS hack used on some
> currently
> shipping Intel systems to address issues with power management policy
> decisions concerning PCIe NVMe drives. Some newer Intel platforms,
> like
> some Comet Lake systems, require that PCIe devices use D3 when doing
> suspend-to-idle in order to allow the platform to realize maximum
> power
> savings. This is particularly needed to support ATX power supply
> shutdown
> on desktop systems. In order to ensure this happens for root ports
> with
> storage devices, Microsoft apparently created this ACPI _DSD property
> as a
> way to override their driver policy. To my knowledge this property
> has not
> been discussed with the NVME specification body.
>
> Though the solution is not ideal, it addresses a problem that also
> affects
> Linux since the NVMe driver's default policy of using NVMe APST
> during
> suspend-to-idle would lead to higher power consumption for these
> platforms.
>
> Patch 1 provides a symbol in the PCI/ACPI layer to read the property.
> Patch 2 uses the symbol in the NVMe driver to select D3 as a quirk if
> set.
>
> Changes from V2:
> - Export the pci_acpi_storage_d3 function for use by drivers as
> needed instead of modifying the pci header.
> - Add missing put on acpi device handle.
> - Add 'noacpi' module parameter to allow undoing this change.
> - Add info message that this is a platform quirk.
>
> David E. Box (2):
> PCI: Add ACPI StorageD3Enable _DSD support
> drivers/nvme: Add support for ACPI StorageD3Enable property
>
> drivers/acpi/property.c | 3 +++
> drivers/nvme/host/pci.c | 14 ++++++++++
> drivers/pci/pci-acpi.c | 59
> +++++++++++++++++++++++++++++++++++++++++
> include/linux/pci.h | 2 ++
> 4 files changed, 78 insertions(+)
>