aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2017-06-07 17:11:45 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-06-07 17:11:45 +1000
commit9253de5bcab2800c1ac1f5372ba5354543fa2e67 (patch)
treed6a821504d31c49eab14ee14caca42bc6fe36cb8
parent8552222ce46501ed7684ef26dd9fcca470aa5e6c (diff)
downloadskiboot-9253de5bcab2800c1ac1f5372ba5354543fa2e67.zip
skiboot-9253de5bcab2800c1ac1f5372ba5354543fa2e67.tar.gz
skiboot-9253de5bcab2800c1ac1f5372ba5354543fa2e67.tar.bz2
PCI: only wait 20ms for PHB logic to settle if we detected any PHBs
Otherwise, in simulators such as Mambo, we needlessly wait 20ms, which takes much longer than 20ms to do, because simulator. Fixes: 41b14f9452c25f3dd74a8304763a3cc58bff019f Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--core/pci.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/pci.c b/core/pci.c
index 2d3c4f8..ec24167 100644
--- a/core/pci.c
+++ b/core/pci.c
@@ -1644,7 +1644,12 @@ void pci_init_slots(void)
/* Some PHBs may need that long to debounce the presence detect
* after HW initialization.
*/
- time_wait_ms(20);
+ for (i = 0; i < ARRAY_SIZE(phbs); i++) {
+ if (phbs[i]) {
+ time_wait_ms(20);
+ break;
+ }
+ }
prlog(PR_NOTICE, "PCI: Resetting PHBs...\n");
pci_do_jobs(pci_reset_phb);