Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1517857imu; Mon, 5 Nov 2018 23:12:59 -0800 (PST) X-Google-Smtp-Source: AJdET5dI3WsY3vE4zA4Kt/vGAxfS6XUZaDrZPA2AMOz0ZZ8cSavmbpuiEpUcROBHuGMc9469SxHy X-Received: by 2002:a17:902:7784:: with SMTP id o4-v6mr18900253pll.292.1541488379694; Mon, 05 Nov 2018 23:12:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541488379; cv=none; d=google.com; s=arc-20160816; b=M3jkT4g5ikbUrK/bZBEq6Aopivy0XQ3oI1SMFV9Xc7FuJg9Lb8Jq/N2fLgtytiQiZ2 h0obWoGUpxKBzUCR1mhmRZEr+qpruk1DKPP4Hjs92am4b8uT6cbGNM3TK3AinmsYaPp3 HJXABN1LtE3Medy1OL39U/4OcPRLZp/EXvavBZC4FyLQLI/JSkmURfX0rmtsABO6KGTS EvoS8XLnuq+fnhah1uQVOU0NW1ptV61JScK2DIlRUA8YHVfCG0uK+KcD3S241I8kbyt/ +ssFMJrOtbfnXmibbN4fHWtgH7z0cC0CprgqC48wb77tMDHZBT7KGxfJ4yulvyz07o1y tHHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:to:from :dkim-signature; bh=19U5nnS+32OVLXwVWLlWkIemkFQKEnGuAOn8fC7twHs=; b=C/clWk2hyoNqKEjhJ4nVvPjzvRmHZXrXT0dcPeUVX/YedaWJdCCMJj5G5zohOr8WIi gTuX53KceO8FjiwXB8H1K62et+dglypeqeqaVEOOYv4vXJQG1EL/LjjuIbtWysTSvvKd Z3TWq5PaDhUNryuMhrgNYUPPZB0+5oK+KxDP92pXE50H6MnCNLIrNli8UZ5TX0UCyri8 bDRMkHDPrFdvb6Bo2m6Pfl76/+uq5EJE/vy9sSdex/6u4i9ILiWhn7+LPZn2DHsFuN6v +90iXp1x7B74Tn0l84kMuaTfHgKmJsntxhI+RpqriCyOhcDEBw5odz8esE89No4hxDld kHXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=LhFq4Kam; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a17si20732542pgv.456.2018.11.05.23.12.43; Mon, 05 Nov 2018 23:12:59 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=LhFq4Kam; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387636AbeKFQgG (ORCPT + 99 others); Tue, 6 Nov 2018 11:36:06 -0500 Received: from mail-pg1-f196.google.com ([209.85.215.196]:42153 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387397AbeKFQgG (ORCPT ); Tue, 6 Nov 2018 11:36:06 -0500 Received: by mail-pg1-f196.google.com with SMTP id i4-v6so5397256pgq.9; Mon, 05 Nov 2018 23:12:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id; bh=19U5nnS+32OVLXwVWLlWkIemkFQKEnGuAOn8fC7twHs=; b=LhFq4KamDaWcGBJqYQG99l2SatgOSGNABwaQ0BSG7ku60dK+RkD0598Nx+yJtWKHpy Fq6ieC4FDtHZtcFnIoxhgXqJWyayaQd2CZO9uA1fwQBL/2UOJWxJ/1fO0yE1+VeXiWwt EZZrvGULW+Vy0hoW6ZEIkc2rjqEZLWNfY7Eacb9Sz8KTn7vKbu7RVjNyS6EI8xhWzfZF 8040xoiZkF70K7UIJ1jRj/8TRFDCCACrzwmJvWbLssjYu3zQ9eTwVxQnrVZFNoOcSE4t q7FFO8u5p91WxQdezB0cCNYrvhFdB6ePenKElCiE9CXtvKuHq3LVWQRTZzLZojHrydvz RMsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id; bh=19U5nnS+32OVLXwVWLlWkIemkFQKEnGuAOn8fC7twHs=; b=U0Pm0Ya7YHPkBNVhap59DxBzZmfPmmssjtEtoHwmpZGMrV4SgaamAAA1zGYyLSkBFc ISUZA2N1Sdi+GUdzssJ7mrbhGCD3n2g+ky579/+Ut13Q3rkcglKNJDlO7P6vxjBO3PEx VyM5Xss7dmXFJvs+EsD3Sv5vcy7rriNMhVaOvEwqb67fp8zRYgPwDwHIwAT5QpbnZ3Cy 9cH51VYYYo3C8XHRnsPXdlsjs+11V4YaeH6YnUEB+m19JSSkREQzAN1ApP0LE9+sy12P YO5yER6pSt1iELGvVikb3s8oeLr7VoIU7Vi/Q8rhIwKY7wtMexrQFrBx224bB1kFVRLd S5nw== X-Gm-Message-State: AGRZ1gLdIWo2C4xW90MqHTNwUHlAe2FEQBfh4Pc+ddNuO3PfHcsiLSpx YbZ9d/xAZCRpcekBr1DhbpI= X-Received: by 2002:a63:4044:: with SMTP id n65mr16177157pga.90.1541488337122; Mon, 05 Nov 2018 23:12:17 -0800 (PST) Received: from localhost (61-220-137-37.HINET-IP.hinet.net. [61.220.137.37]) by smtp.gmail.com with ESMTPSA id g65-v6sm61184521pfg.98.2018.11.05.23.12.15 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 05 Nov 2018 23:12:16 -0800 (PST) From: AceLan Kao To: Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , Bjorn Helgaas , linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: [PATCH v2 1/2] pci: prevent sk hynix nvme from entering D3 Date: Tue, 6 Nov 2018 15:12:13 +0800 Message-Id: <20181106071214.12745-1-acelan.kao@canonical.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It leads to the power consumption raises to 2.2W during s2idle, while it consumes less than 1W during long idle if put SK hynix nvme to D3 and then enter s2idle. From SK hynix FE, MS Windows doesn't put nvme to D3, and uses its own APST feature to do the power management. To leverage its APST feature during s2idle, we can't disable nvme device while suspending, too. BTW, prevent it from entering D3 will increase the power consumtion around 0.13W ~ 0.15W during short/long idle, and the power consumption during s2idle becomes 0.77W. Signed-off-by: AceLan Kao --- drivers/pci/quirks.c | 1 + include/linux/pci_ids.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 4700d24e5d55..b7e6492e8311 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1332,6 +1332,7 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_AL, PCI_ANY_ID, occur when mode detecting */ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_VIA, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE, 8, quirk_no_ata_d3); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SK_HYNIX, 0x1527, quirk_no_ata_d3); /* * This was originally an Alpha-specific thing, but it really fits here. diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 69f0abe1ba1a..5f5adda07de0 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -3090,4 +3090,6 @@ #define PCI_VENDOR_ID_NCUBE 0x10ff +#define PCI_VENDOR_ID_SK_HYNIX 0x1c5c + #endif /* _LINUX_PCI_IDS_H */ -- 2.17.1