OSDN Git Service

PCI/PM: Shorten pci_bridge_wait_for_secondary_bus() wait time for slow links
authorMika Westerberg <mika.westerberg@linux.intel.com>
Tue, 25 Apr 2023 06:47:51 +0000 (09:47 +0300)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 6 Jun 2023 22:18:49 +0000 (17:18 -0500)
commit7b3ba09febf409117a6f5b3e8ae10d503a972fee
tree51ce79e9628509435142a71ac23a5096cee29633
parentac9a78681b921877518763ba0e89202254349d1b
PCI/PM: Shorten pci_bridge_wait_for_secondary_bus() wait time for slow links

With slow links (<= 5GT/s) active link reporting is not mandatory, so if a
device is disconnected during system sleep we might end up waiting for it
to respond for ~60s, which slows down resume time.

PCIe r6.0, sec 6.6.1, mandates that software must wait for at least 1s
before it can assume a device is broken, so use that minimum requirement
for slow links and bail out if the device doesn't respond within 1s.
However, if the port supports active link reporting we can wait longer as
we do with the fast links.

This should make system resume time faster for slow links as well while
still following the PCIe spec.

While there move the PCI_RESET_WAIT constant into pci.c because it is
not used outside of that file anymore.

Link: https://lore.kernel.org/r/20230425064751.24951-1-mika.westerberg@linux.intel.com
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lukas Wunner <lukas@wunner.de>
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
drivers/pci/pci.c
drivers/pci/pci.h