Hi, Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> writes: > PCIe GEN4 defines, on section 7.5.1.1.4, a new bit on Status Register > which tells us that: > > "Immediate Readiness – This optional bit, when Set, indicates the > Function is guaranteed to be ready to successfully complete valid > configuration accesses at any time following any reset that the host > is capable of issuing Configuration Requests to this Function. > > When this bit is Set, for accesses to this Function, software is > exempt from all requirements to delay configuration accesses following > any type of reset, including but not limited to the timing > requirements defined in Section 6.6. How this guarantee is > established is beyond the scope of this document. > > It is permitted that system software/firmware provide mechanisms that > supersede the indication provided by this bit, however such > software/firmware mechanisms are outside the scope of this > specification." > > This means that all delays after a Conventional or Function Reset can > be skipped. > > This patch reads such bit and caches its value in a flag inside struct > pci_dev to be checked later if we should delay or can skip delays > after a reset. While at that, also move the explicit msleep(100) call > from pcie_flr() and pci_af_flr() to pci_dev_wait(). > > Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> A gentle reminder here -- balbi