Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3518673ybz; Mon, 27 Apr 2020 17:34:34 -0700 (PDT) X-Google-Smtp-Source: APiQypIfyqBEpc1KqHQA2yvThLVXR/5vlBxy0rrs9M/dKc0gR1BW9nCWt/jcSRXOA5d5D0w8XnJM X-Received: by 2002:a50:ea87:: with SMTP id d7mr14703860edo.48.1588034074751; Mon, 27 Apr 2020 17:34:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588034074; cv=none; d=google.com; s=arc-20160816; b=cEbg06ZRUTY5B5n/KsTyUMxwcYyOrLKOlkEgzzhqc4hdfS5QpW+8HZ10Nc1jgX6LOj YzAMdwe5XpWROhzwE/LhMTVuSHKe+XAXfKgme7ZxGSSPVbSUxtBTe30+gApbi2lqljzS wbuE4NbD5xGmzqobDVNFccZc8KD5iwuf5pDfAqEOXR15LA/9h6uZaOJd02OO7k+vm0wK qk+L5tVWnitCmp9xVgY8gHyDIOVU/VPGcNq90KGbmql7C+icmKjilpQtGAfwhGwCCHr+ 31QyC4Q0r0i1dZW50+tLK8bbKiZGHt28cKdJqf1yC+JcphrgoZ5TdUPRA333J7pO3zPK J/3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=xUtTcXO322S81So/RGYsEeWMCI06opEmPO/oHCSSR0w=; b=cQXzwYQTqGAgPvqTIpdx6kAjSo3CINg9ghVxOi9Oh2G3BHMEqQ5A/nyfKsh2qQ2bHV EL8HJIXLQQeX0XkG+gAYF6DL+rzmPzecyuNaE0+i0mjOB2iTDhAx4facTTKnwZl+1g4X VBnJmZ5H0NqWpXhl0fVgUOCMvJci25fooxlpYLgxkqZ1njDLZMORodUX1L29rdHNLJv+ H+3EUb6hoqoyCiZk1Vlhp4RpqJ50+07ig4t9/HZj3/iAIJEUNoyMHi7dnPUVDSjSkD0q pGyBOEP47uwCOJUxbvXFqkdcps0qAAUX9sXIhnvBa2aqQC01xc9NyOYGg6kXScjYQ1Co yuqQ== ARC-Authentication-Results: i=1; mx.google.com; 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 n8si767225edt.33.2020.04.27.17.34.11; Mon, 27 Apr 2020 17:34:34 -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; 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 S1726402AbgD1Acv (ORCPT + 99 others); Mon, 27 Apr 2020 20:32:51 -0400 Received: from mga03.intel.com ([134.134.136.65]:53455 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726233AbgD1Acv (ORCPT ); Mon, 27 Apr 2020 20:32:51 -0400 IronPort-SDR: 5KNYLR3I1xhGKJi7l7vIQiOSnasLct7HltAiYDg6fmwVh+4+feyGshyO433Ja8xOxbTukETJZC tJB0J0JCO9qQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2020 17:32:49 -0700 IronPort-SDR: lBQl9HB+Bjlc4ebtztBGRLJrNoDj+JSiAJk5fsXKUOGRNmgqvn0zEzFk1Tu7dEYA7LmXv6D9mr GHn4do8gGo+Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,325,1583222400"; d="scan'208";a="404503975" Received: from linux.intel.com ([10.54.29.200]) by orsmga004.jf.intel.com with ESMTP; 27 Apr 2020 17:32:49 -0700 Received: from debox1-hc.jf.intel.com (debox1-hc.jf.intel.com [10.54.75.159]) by linux.intel.com (Postfix) with ESMTP id B16885807CA; Mon, 27 Apr 2020 17:32:49 -0700 (PDT) From: "David E. Box" To: rjw@rjwysocki.net, lenb@kernel.org, bhelgaas@google.com, kbusch@kernel.org, axboe@fb.com, hch@lst.de, sagi@grimberg.me Cc: "David E. Box" , linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/2] Add support for StorageD3Enable _DSD property Date: Mon, 27 Apr 2020 17:32:12 -0700 Message-Id: <20200428003214.3764-1-david.e.box@linux.intel.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org NVMe storage power management during suspend-to-idle, particularly on laptops, has been inconsistent with some devices working with D3 while others must rely on NVMe APST in order for power savings to be realized. Currently the default is to use APST unless quirked to do otherwise. However newer platforms, like Intel Comet Lake systems, may require NVMe drives to use D3 in order for the PCIe ports to be properly power managed. To make it easier for drivers to choose, these platforms may supply a special "StorageD3Enable" _DSD property under the root port that the device is attached to. If supplied, the driver must use D3 in order for the platform to realize the deepest power savings in suspend-to-idle. The first patch adds the new _DSD GUID and fowards the property through the pci/acpi layer to the pci device. The second patch adds support for the property to the nvme driver. 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 | 7 ++++++ drivers/pci/pci-acpi.c | 47 +++++++++++++++++++++++++++++++++++++++++ drivers/pci/pci.c | 6 ++++++ drivers/pci/pci.h | 4 ++++ include/linux/pci.h | 1 + 6 files changed, 68 insertions(+) -- 2.20.1