All of lore.kernel.org
 help / color / mirror / Atom feed
From: "David E. Box" <david.e.box@linux.intel.com>
To: shyjumon.n@intel.com, rjw@rjwysocki.net, lenb@kernel.org,
	bhelgaas@google.com, dan.j.williams@intel.com, kbusch@kernel.org,
	axboe@fb.com, hch@lst.de, sagi@grimberg.me
Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org
Subject: Re: [PATCH V2 0/2] nvme: Add support for ACPI StorageD3Enable property
Date: Wed, 24 Jun 2020 11:55:03 -0700	[thread overview]
Message-ID: <12d36fdcdbcf438dd3aac7769e8366afd9d5aa1a.camel@linux.intel.com> (raw)
In-Reply-To: <20200612204820.20111-1-david.e.box@linux.intel.com>

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(+)
> 


WARNING: multiple messages have this Message-ID (diff)
From: "David E. Box" <david.e.box@linux.intel.com>
To: shyjumon.n@intel.com, rjw@rjwysocki.net, lenb@kernel.org,
	bhelgaas@google.com,  dan.j.williams@intel.com,
	kbusch@kernel.org, axboe@fb.com, hch@lst.de,  sagi@grimberg.me
Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-nvme@lists.infradead.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH V2 0/2] nvme: Add support for ACPI StorageD3Enable property
Date: Wed, 24 Jun 2020 11:55:03 -0700	[thread overview]
Message-ID: <12d36fdcdbcf438dd3aac7769e8366afd9d5aa1a.camel@linux.intel.com> (raw)
In-Reply-To: <20200612204820.20111-1-david.e.box@linux.intel.com>

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(+)
> 


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

  reply	other threads:[~2020-06-24 18:55 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-28  0:32 [PATCH 0/2] Add support for StorageD3Enable _DSD property David E. Box
2020-04-28  0:32 ` David E. Box
2020-04-28  0:32 ` [PATCH 1/2] pci: Add ACPI StorageD3Enable _DSD support David E. Box
2020-04-28  0:32   ` David E. Box
2020-05-18 12:34   ` Rafael J. Wysocki
2020-05-18 12:34     ` Rafael J. Wysocki
2020-05-19 17:10     ` David E. Box
2020-05-19 17:10       ` David E. Box
2020-04-28  0:32 ` [PATCH 2/2] drivers/nvme: Add support for ACPI StorageD3Enable property David E. Box
2020-04-28  0:32   ` David E. Box
2020-04-28  5:13 ` [PATCH 0/2] Add support for StorageD3Enable _DSD property Christoph Hellwig
2020-04-28  5:13   ` Christoph Hellwig
2020-04-28 14:09   ` David E. Box
2020-04-28 14:09     ` David E. Box
2020-04-28 14:22     ` Christoph Hellwig
2020-04-28 14:22       ` Christoph Hellwig
2020-04-28 15:27       ` David E. Box
2020-04-28 15:27         ` David E. Box
2020-04-29  5:20         ` Williams, Dan J
2020-04-29  5:20           ` Williams, Dan J
2020-04-29 15:10           ` Keith Busch
2020-04-29 15:10             ` Keith Busch
2020-04-29 16:11           ` David E. Box
2020-04-29 16:11             ` David E. Box
2020-05-01 13:12             ` hch
2020-05-01 13:12               ` hch
2020-05-01 15:54               ` David E. Box
2020-05-01 15:54                 ` David E. Box
2020-05-01 13:10           ` hch
2020-05-01 13:10             ` hch
2020-05-18 13:51           ` David Woodhouse
2020-05-18 13:51             ` David Woodhouse
2020-05-18 17:20             ` Dan Williams
2020-05-18 17:20               ` Dan Williams
2020-06-12 20:48 ` [PATCH V2 0/2] nvme: Add support for ACPI StorageD3Enable property David E. Box
2020-06-12 20:48   ` David E. Box
2020-06-24 18:55   ` David E. Box [this message]
2020-06-24 18:55     ` David E. Box
2020-06-24 19:10     ` Dan Williams
2020-06-24 19:10       ` Dan Williams
2020-06-24 19:39       ` David E. Box
2020-06-24 19:39         ` David E. Box
2020-07-02 21:04   ` [PATCH v3] drivers/nvme: " David E. Box
2020-07-02 22:50   ` [PATCH v4] " David E. Box
2020-07-02 22:50     ` David E. Box
2020-07-03  7:18     ` kernel test robot
2020-07-03  7:18       ` kernel test robot
2020-07-06 14:57     ` Rafael J. Wysocki
2020-07-06 14:57       ` Rafael J. Wysocki
2020-07-07 21:24       ` David E. Box
2020-07-07 21:24         ` David E. Box
2020-07-07  7:09     ` Christoph Hellwig
2020-07-07  7:09       ` Christoph Hellwig
2020-07-09 18:43     ` [PATCH V5] " David E. Box
2020-07-09 18:43       ` David E. Box
2020-07-13 11:12       ` Rafael J. Wysocki
2020-07-13 11:12         ` Rafael J. Wysocki
2020-07-16 14:39         ` Christoph Hellwig
2020-07-16 14:39           ` Christoph Hellwig
2021-05-26 19:25       ` Raul E Rangel
2021-05-26 19:25         ` Raul E Rangel
2020-06-12 20:48 ` [PATCH V2 1/2] PCI: Add ACPI StorageD3Enable _DSD support David E. Box
2020-06-12 20:48   ` David E. Box
2020-06-24 21:15   ` Bjorn Helgaas
2020-06-24 21:15     ` Bjorn Helgaas
2020-06-25 11:30     ` Rafael J. Wysocki
2020-06-25 11:30       ` Rafael J. Wysocki
2020-06-25 12:16       ` Mika Westerberg
2020-06-25 12:16         ` Mika Westerberg
2020-06-25 17:07       ` David E. Box
2020-06-25 17:30       ` Bjorn Helgaas
2020-06-25 17:30         ` Bjorn Helgaas
2020-06-24 21:37   ` Bjorn Helgaas
2020-06-24 21:37     ` Bjorn Helgaas
2020-06-24 22:09     ` David E. Box
2020-06-24 22:09       ` David E. Box
2020-06-12 20:48 ` [PATCH V2 2/2] drivers/nvme: Add support for ACPI StorageD3Enable property David E. Box
2020-06-12 20:48   ` David E. Box

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12d36fdcdbcf438dd3aac7769e8366afd9d5aa1a.camel@linux.intel.com \
    --to=david.e.box@linux.intel.com \
    --cc=axboe@fb.com \
    --cc=bhelgaas@google.com \
    --cc=dan.j.williams@intel.com \
    --cc=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=sagi@grimberg.me \
    --cc=shyjumon.n@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.