Message ID | 20230120031522.2304439-1-david.e.box@linux.intel.com (mailing list archive) |
---|---|
Headers | show |
Series | Enable PCIe ASPM and LTR on select hardware | expand |
On 1/19/23 7:15 PM, David E. Box wrote: > This series adds a work around for enabling PCIe ASPM and for setting PCIe > LTR values on VMD reserved root ports on select platforms. While > configuration of these capabilities is usually done by BIOS, on these > platforms these capabilities will not be configured because the ports are > not visible to BIOS. This was part of an initial design that expected the > driver to completely handle the ports, including power management. However > on Linux those ports are still managed by the PCIe core, which has the > expectation that they adhere to device standards including BIOS > configuration, leading to this problem. > > The target platforms are Tiger Lake, Alder Lake, and Raptor Lake though the > latter has already implemented support for configuring the LTR values. > Meteor Lake is expected add BIOS ASPM support, eliminating the future need > for this work around. > > Note, the driver programs the LTRs because BIOS would also normally do this > for devices that do not set them by default. Without this, SoC power > management would be blocked on those platform. This SoC specific value is > the maximum latency required to allow the SoC to enter the deepest power > state. > > This patch addresses the following open bugzillas on VMD enabled laptops > that cannot enter low power states. > > Link: https://bugzilla.kernel.org/show_bug.cgi?id=212355 > Link: https://bugzilla.kernel.org/show_bug.cgi?id=215063 > Link: https://bugzilla.kernel.org/show_bug.cgi?id=213717 > Looks good to me. Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> > David E. Box (3): > PCI: vmd: Use PCI_VDEVICE in device list > PCI: vmd: Create feature grouping for client products > PCI: vmd: Add quirk to configure PCIe ASPM and LTR > > Michael Bottini (1): > PCI/ASPM: Add pci_enable_link_state() > > drivers/pci/controller/vmd.c | 97 ++++++++++++++++++++++++++---------- > drivers/pci/pcie/aspm.c | 54 ++++++++++++++++++++ > include/linux/pci.h | 7 +++ > 3 files changed, 132 insertions(+), 26 deletions(-) > > > base-commit: 5dc4c995db9eb45f6373a956eb1f69460e69e6d4
On Thu, 19 Jan 2023 19:15:18 -0800, David E. Box wrote: > This series adds a work around for enabling PCIe ASPM and for setting PCIe > LTR values on VMD reserved root ports on select platforms. While > configuration of these capabilities is usually done by BIOS, on these > platforms these capabilities will not be configured because the ports are > not visible to BIOS. This was part of an initial design that expected the > driver to completely handle the ports, including power management. However > on Linux those ports are still managed by the PCIe core, which has the > expectation that they adhere to device standards including BIOS > configuration, leading to this problem. > > [...] Applied to pci/controller/vmd, thanks! [1/4] PCI/ASPM: Add pci_enable_link_state() https://git.kernel.org/pci/pci/c/de82f60f9c86 [2/4] PCI: vmd: Use PCI_VDEVICE in device list https://git.kernel.org/pci/pci/c/cca0dfecdba3 [3/4] PCI: vmd: Create feature grouping for client products https://git.kernel.org/pci/pci/c/14d2079af648 [4/4] PCI: vmd: Add quirk to configure PCIe ASPM and LTR https://git.kernel.org/pci/pci/c/f492edb40b54 Thanks, Lorenzo