Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Oct 2016 09:14:48 +0000 (UTC)
From:      Michal Meloun <mmel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r306666 - head/sys/arm/nvidia
Message-ID:  <201610040914.u949EmAv082579@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mmel
Date: Tue Oct  4 09:14:48 2016
New Revision: 306666
URL: https://svnweb.freebsd.org/changeset/base/306666

Log:
  TEGRA: Fix PCIe link timeout.
  
  MFC after: 2 weeks

Modified:
  head/sys/arm/nvidia/tegra_pcie.c

Modified: head/sys/arm/nvidia/tegra_pcie.c
==============================================================================
--- head/sys/arm/nvidia/tegra_pcie.c	Tue Oct  4 08:09:25 2016	(r306665)
+++ head/sys/arm/nvidia/tegra_pcie.c	Tue Oct  4 09:14:48 2016	(r306666)
@@ -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_pc
 		    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_pc
 		if (reg & RP_LINK_CONTROL_STATUS_DL_LINK_ACTIVE)
 				break;
 
+		DELAY(1);
 	}
 	if (i <= 0)
 		return (ETIMEDOUT);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201610040914.u949EmAv082579>