]> asedeno.scripts.mit.edu Git - linux.git/commit
PCI/ACPI: Request LTR control from platform before using it
authorBjorn Helgaas <bhelgaas@google.com>
Tue, 17 Apr 2018 15:58:09 +0000 (10:58 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 23 Apr 2018 13:18:44 +0000 (08:18 -0500)
commitaf8bb9f89838249872240f258e67774ccbcc5970
treef6f8ae73b8afe586066604ec5228ca99b4bde1af
parent9ab105deb60fa76d66cae5548819b4e8703d2056
PCI/ACPI: Request LTR control from platform before using it

Per the PCI Firmware spec r3.2, sec 4.5, an ACPI-based OS should use _OSC
to request control of Latency Tolerance Reporting (LTR) before using it.

Request control of LTR, and if the platform does not grant control, don't
use it.

N.B. If the hardware supports LTR and the ASPM L1.2 substate but the BIOS
doesn't support LTR in _OSC, we previously would enable ASPM L1.2.  This
patch will prevent us from enabling ASPM L1.2 in that case.  It does not
prevent us from enabling PCI-PM L1.2, since that doesn't depend on LTR.
See PCIe r40, sec 5.5.1, for the L1 PM substate entry conditions.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/pci_root.c
drivers/pci/probe.c
include/linux/acpi.h
include/linux/pci.h