From b66902b661715601b73131179a26ebb2c2d80805 Mon Sep 17 00:00:00 2001 From: mmel Date: Tue, 4 Oct 2016 09:14:48 +0000 Subject: [PATCH] TEGRA: Fix PCIe link timeout. MFC after: 2 weeks --- sys/arm/nvidia/tegra_pcie.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/arm/nvidia/tegra_pcie.c b/sys/arm/nvidia/tegra_pcie.c index fd8eefdc73d2..56dff833f375 100644 --- a/sys/arm/nvidia/tegra_pcie.c +++ b/sys/arm/nvidia/tegra_pcie.c @@ -201,7 +201,8 @@ __FBSDID("$FreeBSD$"); #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 TEGRA_PCIB_MSI_ENABLE @@ -1160,6 +1161,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) @@ -1171,6 +1173,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);