[Skiboot] [PATCH 3/7] core/pci: Print CRS retry times

Gavin Shan gwshan at linux.vnet.ibm.com
Thu Aug 11 14:55:14 AEST 2016


It's useful to know the CRS retry times before the PCI device is
detected successfully. In PCI hot add case, it usually indicates
time consumed for the adapter's firmware to be partially ready
(responsive PCI config space).

Signed-off-by: Gavin Shan <gwshan at linux.vnet.ibm.com>
---
 core/pci.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/core/pci.c b/core/pci.c
index cbaea35..5da7e4f 100644
--- a/core/pci.c
+++ b/core/pci.c
@@ -140,7 +140,7 @@ static struct pci_device *pci_scan_one(struct phb *phb, struct pci_device *paren
 	uint16_t capreg;
 	bool had_crs = false;
 
-	for (retries = 40; retries; retries--) {
+	for (retries = 0; retries < 40; retries++) {
 		rc = pci_cfg_read32(phb, bdfn, 0, &vdid);
 		if (rc)
 			return NULL;
@@ -156,7 +156,7 @@ static struct pci_device *pci_scan_one(struct phb *phb, struct pci_device *paren
 		return NULL;
 	}
 	if (had_crs)
-		PCIDBG(phb, bdfn, "Probe success after CRS\n");
+		PCIDBG(phb, bdfn, "Probe success after %d CRS\n", retries);
 
 	/* Perform a dummy write to the device in order for it to
 	 * capture it's own bus number, so any subsequent error
-- 
2.1.0



More information about the Skiboot mailing list