summaryrefslogtreecommitdiffstats
path: root/sys/arm/nvidia
diff options
context:
space:
mode:
authormmel <mmel@FreeBSD.org>2016-11-05 04:32:46 +0000
committermmel <mmel@FreeBSD.org>2016-11-05 04:32:46 +0000
commit448c6f9c78f1869e20237a895d1b69ec74e0a797 (patch)
tree0c8c3b7ed800d658882713114997c87d8e6d89db /sys/arm/nvidia
parentafeb7b35574a4dd2c8cc3849c07be5c12820e1d5 (diff)
downloadFreeBSD-src-448c6f9c78f1869e20237a895d1b69ec74e0a797.zip
FreeBSD-src-448c6f9c78f1869e20237a895d1b69ec74e0a797.tar.gz
MFC r306666:
TEGRA: Fix PCIe link timeout.
Diffstat (limited to 'sys/arm/nvidia')
-rw-r--r--sys/arm/nvidia/tegra_pcie.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/arm/nvidia/tegra_pcie.c b/sys/arm/nvidia/tegra_pcie.c
index 4e8013a..c36cae5 100644
--- a/sys/arm/nvidia/tegra_pcie.c
+++ b/sys/arm/nvidia/tegra_pcie.c
@@ -293,7 +293,8 @@ tegra_pci_get_ranges(phandle_t node, struct tegra_pci_range **ranges)
#define RP_LINK_CONTROL_STATUS_DL_LINK_ACTIVE 0x20000000
#define RP_LINK_CONTROL_STATUS_LINKSTAT_MASK 0x3fff0000
-#define TEGRA_PCIE_LINKUP_TIMEOUT 200
+/* Wait 50 ms (per port) for link. */
+#define TEGRA_PCIE_LINKUP_TIMEOUT 50000
#define DEBUG
#ifdef DEBUG
@@ -1257,6 +1258,7 @@ tegra_pcib_wait_for_link(struct tegra_pcib_softc *sc,
RP_VEND_XP, 4);
if (reg & RP_VEND_XP_DL_UP)
break;
+ DELAY(1);
}
if (i <= 0)
@@ -1268,6 +1270,7 @@ tegra_pcib_wait_for_link(struct tegra_pcib_softc *sc,
if (reg & RP_LINK_CONTROL_STATUS_DL_LINK_ACTIVE)
break;
+ DELAY(1);
}
if (i <= 0)
return (ETIMEDOUT);
OpenPOWER on IntegriCloud