[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