Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp827764ybt; Wed, 24 Jun 2020 12:12:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw4TuT+Ky64sEBzCiKDuf5aUgFvfYIu3MgitTdVY5xrNiWiZX8TbYt42ctIi3AEVqGVFgwY X-Received: by 2002:a17:906:2bd8:: with SMTP id n24mr27907003ejg.83.1593025931814; Wed, 24 Jun 2020 12:12:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593025931; cv=none; d=google.com; s=arc-20160816; b=JutvjSIjfeCIe+NVchVg54NargRETRPM2wfSt6n23VRmvxPzoZSPQ5FAa9FCvagapL n5wDOTb1bSMOTDMRFB5TSWBICAA0+Qg62gG6NNHt8RbyfdpfwGyZ2krHltauYfRyFue+ 5yGO3IFE7toUh3urN7b6T3CRoqgWd+e4dpzbTqd/u+gkIVFEfyEiUvnVDpGGQSdH1/JA RhgOhEx/esTOAvNcoIPsUojO7Yb79cCdVJ66WSfL9WdAEV6PRTttw5ToWUbC8IRcUTzS EceW3QqkppI9XQlITl16wM54zukn/BsgjG5m8yQndT9Ghd/mtddyd+Asci1rmJ6aDOAg tZjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=HUy3SYLieHUYRrbu7ksz+DDx5NoSGhvtwAWM7BS+NcQ=; b=SIUuATsKER0kFjQGZgblu+DkyStfJAA//c5uf/xGurkJNYQRuho0gPErNRpnHVhQKv NASMQcw0ronkX9K3yQomZ4J+9tNsreUXEu9lsOUnEmyhkvm6wYPjMfmWsYCqaNRSrdrG +m6FTh27ahGdcwil8ft3hzNoJtZm1ULAgzjGCC313JzFkBptLwWVvMDRFsBo81vSxFcT JYLMkopXachK/FvZQyP9dJFuqSWbrkXjh6e8K2duWNaVbVyxmJ+AnjjeXsvWKje7D++6 cXu8CUYOmmAA1dpgjtIdH84Yc+Ma9DlzgS2UgSvCKRwzOUBhPq1Y6RwgXniRFIOpf+EZ oLsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b="in62/pK4"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id di25si13194603edb.539.2020.06.24.12.11.47; Wed, 24 Jun 2020 12:12:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b="in62/pK4"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404971AbgFXTLG (ORCPT + 99 others); Wed, 24 Jun 2020 15:11:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37892 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404744AbgFXTLF (ORCPT ); Wed, 24 Jun 2020 15:11:05 -0400 Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F945C061795 for ; Wed, 24 Jun 2020 12:11:04 -0700 (PDT) Received: by mail-ed1-x544.google.com with SMTP id b15so2314506edy.7 for ; Wed, 24 Jun 2020 12:11:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=HUy3SYLieHUYRrbu7ksz+DDx5NoSGhvtwAWM7BS+NcQ=; b=in62/pK4305qlruXOrme3JoGaFZsG+ngmdYPd6qQJVPMZU8zi45J/cdtrR/1S2nDpG osC789ZrUhTlXbnv7LgWIfcNPZ+ugiqfFG98EnA6GebisxGlzNr6DE/YYjikoTyjpTr6 dzESw5Tk70JPsArLMfUSCMZmv4fCVRQauL8U50UEeeTPu7ml5UcziaUxfOow1iLRtOE9 g3KIkUWDlvL4VHx0ultb5v4HHmoFF5GBabUMOWbywjy9cYRAsAWsYMhAumd5XKngyrLj x1ScTaJ71iWX60kuFWHkQlJK56tNx/8L3F9ZHkDXvkYZVgaBDVCDP3QzFahIOfXx7tbl dc1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=HUy3SYLieHUYRrbu7ksz+DDx5NoSGhvtwAWM7BS+NcQ=; b=oNMY9mmfK/mnTqlm5R7PQYtfgu9KX1PTk+kXWZvhquI9A73SvHvr6qPb9f+Qf1qffi G/eGQHYmv5XIby5tyBUfuVi7IUOmIALwUpza+tHA6goWChRgXByaP9hEFYo7YhueTnIe W9SNa4yUgZUrApmZclaXpxtKAQOtKMgNGSLQS0itnSyYUjiFHu1oZzE3AdCO/7psOgCn VynRPHv6KXttG1V3lP6E1lRyb4TQ/wcVGAIvavWHaG0CONV2gMam4uaICtFKE6jCND4t e98SMQCZg5e+dwvR0eaZbij4PSY3t3bIdXsT00mJa1v7jORP1CbyNryNnlN19crBNfWR LE9A== X-Gm-Message-State: AOAM532VFP1swdpUIyZLJMjqc5tg8D86q7fBLYlflPqwfyXch3RUmKsa pwno6so+QQoefv5guOpgflsE3eDtEYzIvAD6w7fGOg== X-Received: by 2002:aa7:d6c1:: with SMTP id x1mr27574990edr.154.1593025862677; Wed, 24 Jun 2020 12:11:02 -0700 (PDT) MIME-Version: 1.0 References: <20200428003214.3764-1-david.e.box@linux.intel.com> <20200612204820.20111-1-david.e.box@linux.intel.com> <12d36fdcdbcf438dd3aac7769e8366afd9d5aa1a.camel@linux.intel.com> In-Reply-To: <12d36fdcdbcf438dd3aac7769e8366afd9d5aa1a.camel@linux.intel.com> From: Dan Williams Date: Wed, 24 Jun 2020 12:10:50 -0700 Message-ID: Subject: Re: [PATCH V2 0/2] nvme: Add support for ACPI StorageD3Enable property To: David Box Cc: "N, Shyjumon" , "Rafael J. Wysocki" , Len Brown , Bjorn Helgaas , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , Linux ACPI , Linux Kernel Mailing List , linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 24, 2020 at 11:55 AM David E. Box wrote: > > Friendly reminder. Thanks. Are you looking for this to be merged by ACPI with an NVMe ack, or merged by NVMe with an ACPI ack? It sometimes helps to be explicit to break the log jam. > > 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(+) > > >