[svn-commits] sruffell: branch 1.4 r4122 - /branches/1.4/kernel/wct4xxp/base.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Apr 1 11:39:06 CDT 2008


Author: sruffell
Date: Tue Apr  1 11:39:05 2008
New Revision: 4122

URL: http://svn.digium.com/view/zaptel?view=rev&rev=4122
Log:
Work around for host bridges that generate fast back to back transactions
which the current version of the quad span cards do not advertise support for.

Modified:
    branches/1.4/kernel/wct4xxp/base.c

Modified: branches/1.4/kernel/wct4xxp/base.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/kernel/wct4xxp/base.c?view=diff&rev=4122&r1=4121&r2=4122
==============================================================================
--- branches/1.4/kernel/wct4xxp/base.c (original)
+++ branches/1.4/kernel/wct4xxp/base.c Tue Apr  1 11:39:05 2008
@@ -411,6 +411,13 @@
 static inline unsigned int __t4_pci_in(struct t4 *wc, const unsigned int addr)
 {
 	unsigned int res = readl(&wc->membase[addr]);
+	if (pedanticpci) {
+		/* Even though we do not support fast back-to-back
+		 * transactions, some host bridges appear to generate them.
+		 * This delay prevents this. 
+		 */
+		udelay(3);
+	}
 	return res;
 }
 
@@ -419,6 +426,11 @@
 	unsigned int tmp;
 	writel(value, &wc->membase[addr]);
 	if (pedanticpci) {
+		/* Even though we do not support fast back-to-back
+		 * transactions, some host bridges appear to generate them.
+		 * This delay prevents this. 
+		 */
+		udelay(3);
 		tmp = __t4_pci_in(wc, WC_VERSION);
 		if ((tmp & 0xffff0000) != 0xc01a0000)
 			printk("TE4XXP: Version Synchronization Error!\n");




More information about the svn-commits mailing list