mbox series

[0/3] Improve PCI device post-reset readiness polling

Message ID 20200223122057.6504-1-stanspas@amazon.com
Headers show
Series Improve PCI device post-reset readiness polling | expand

Message

Stanislav Spassov Feb. 23, 2020, 12:20 p.m. UTC
From: Stanislav Spassov <stanspas@amazon.de>

Enable the global maximum polling time to be configured on the kernel
command line, and make per-device overrides possible. This allows the
default timeout to be lowered while accomodating devices that require
more time to finish initialization after a reset.

When Configuration Request Retry Status Software Visibility is enabled
on the parent PCIe Root Port, it is better to poll the PCI_VENDOR_ID
register to get the special CRS behavior specified in the PCI Express
Base Specification. Polling a different register can result in system
crashes due to core timeouts when the Root Port autonomously keeps
retrying the Configuration Read without reporting back to the CPU.

Wei Wang (1):
  PCI: Make PCIE_RESET_READY_POLL_MS configurable

Stanislav Spassov (2):
  PCI: Introduce per-device reset_ready_poll override
  PCI: Add CRS handling to pci_dev_wait()

 .../admin-guide/kernel-parameters.txt         |   5 +
 drivers/pci/pci.c                             | 157 +++++++++++++++---
 drivers/pci/probe.c                           |   2 +
 include/linux/pci.h                           |   1 +
 4 files changed, 138 insertions(+), 27 deletions(-)


base-commit: bb6d3fb354c5ee8d6bde2d576eb7220ea09862b9