[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240530085227.91168-2-kai.heng.feng@canonical.com>
Date: Thu, 30 May 2024 16:52:27 +0800
From: Kai-Heng Feng <kai.heng.feng@...onical.com>
To: bhelgaas@...gle.com
Cc: linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org,
nirmal.patel@...ux.intel.com,
jonathan.derrick@...ux.dev,
ilpo.jarvinen@...ux.intel.com,
david.e.box@...ux.intel.com,
Kai-Heng Feng <kai.heng.feng@...onical.com>
Subject: [PATCH 2/2] PCI: vmd: Let OS control ASPM for devices under VMD domain
Intel SoC cannot reach lower power states when mapped VMD PCIe bridges
and NVMe devices don't have ASPM configured.
So set aspm_os_control attribute to let OS really enable ASPM for those
devices.
Fixes: f492edb40b54 ("PCI: vmd: Add quirk to configure PCIe ASPM and LTR")
Link: https://lore.kernel.org/linux-pm/218aa81f-9c6-5929-578d-8dc15f83dd48@panix.com/
Signed-off-by: Kai-Heng Feng <kai.heng.feng@...onical.com>
---
drivers/pci/controller/vmd.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
index 87b7856f375a..1dbc525c473f 100644
--- a/drivers/pci/controller/vmd.c
+++ b/drivers/pci/controller/vmd.c
@@ -751,6 +751,8 @@ static int vmd_pm_enable_quirk(struct pci_dev *pdev, void *userdata)
if (!(features & VMD_FEAT_BIOS_PM_QUIRK))
return 0;
+ pdev->aspm_os_control = 1;
+
pci_enable_link_state_locked(pdev, PCIE_LINK_STATE_ALL);
pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_LTR);
--
2.43.0
Powered by blists - more mailing lists