From a663c29bb6c09fe84d05e4f5087a82e586a88fe2 Mon Sep 17 00:00:00 2001 From: Kai-Heng Feng Date: Thu, 22 Nov 2018 07:15:10 +0000 Subject: [PATCH] UBUNTU: SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3 BugLink: https://bugs.launchpad.net/bugs/1804588 It leads to the power consumption increases 2.8W during s2idle, while it consumes much less idle if forbidding put Intel NVMe to D3 and before entering S2Idle. Windows doesn't put NVMe to D3 in Modern Standby, 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. So, here is what we do to the driver: - Prevent nvme from entering D3, - Prevent nvme from being disabled when suspending. Signed-off-by: Kai-Heng Feng Acked-by: Kleber Souza Acked-by: AceLan Kao Signed-off-by: Khalid Elmously --- drivers/pci/quirks.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 1bcd012e00eb..794eb4e0eed4 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1189,6 +1189,7 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_AL, PCI_ANY_ID, 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); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0xf1a6, quirk_no_ata_d3); /* This was originally an Alpha specific thing, but it really fits here. * The i82375 PCI/EISA bridge appears as non-classified. Fix that. -- 2.39.2