[svn-commits] rmeyerriecks: linux/trunk r7933 - /linux/trunk/drivers/dahdi/wct4xxp/base.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Jan 18 15:00:33 CST 2010


Author: rmeyerriecks
Date: Mon Jan 18 15:00:22 2010
New Revision: 7933

URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=7933
Log:
wct4xxp: Make Missed interrupt message off by default, and incrementing
irqmisses if we have to do a latency bump

Modified:
    linux/trunk/drivers/dahdi/wct4xxp/base.c

Modified: linux/trunk/drivers/dahdi/wct4xxp/base.c
URL: http://svnview.digium.com/svn/dahdi/linux/trunk/drivers/dahdi/wct4xxp/base.c?view=diff&rev=7933&r1=7932&r2=7933
==============================================================================
--- linux/trunk/drivers/dahdi/wct4xxp/base.c (original)
+++ linux/trunk/drivers/dahdi/wct4xxp/base.c Mon Jan 18 15:00:22 2010
@@ -1684,8 +1684,8 @@
 
 	for (x = 0; x < wc->numspans; x++) {
 		ts = wc->tspans[x];
-		ts->writechunk = (void *)(wc->writechunk + x * 32 * 2);
-		ts->readchunk = (void *)(wc->readchunk + x * 32 * 2);
+		ts->writechunk = (void *)(wc->writechunk + (x * 32 * 2) + (which * (1024 >> 2)));
+		ts->readchunk = (void *)(wc->readchunk + (x * 32 * 2) + (which * (1024 >> 2)));
 		for (y=0;y<wc->tspans[x]->span.channels;y++) {
 			struct dahdi_chan *mychans = ts->chans[y];
 			if (gen2) {
@@ -3301,7 +3301,9 @@
 		if ((rxident != expected) && !test_bit(T4_IGNORE_LATENCY, &wc->checkflag)) {
 			int needed_latency;
 
-			printk("!!! Missed interrupt.  Expected ident of %d and got ident of %d\n", expected, rxident);
+			if (debug & DEBUG_MAIN)
+				printk("!!! Missed interrupt.  Expected ident of %d and got ident of %d\n", expected, rxident);
+
 			if (test_bit(T4_IGNORE_LATENCY, &wc->checkflag)) {
 				printk("Should have ignored latency\n");
 			}
@@ -3311,7 +3313,7 @@
 				needed_latency = (128 - wc->rxident) + rxident;
 			}
 
-			needed_latency += 2;
+			needed_latency += 1;
 
 			if (needed_latency >= 128) {
 				printk("Truncating latency request to 127 instead of %d\n", needed_latency);
@@ -3319,7 +3321,11 @@
 			}
 
 			if (needed_latency > wc->numbufs) {
+				int x;
+
 				printk("Need to increase latency.  Estimated latency should be %d\n", needed_latency);
+				for (x = 0; x < wc->numspans; x++)
+					wc->tspans[x]->span.irqmisses++;
 				wc->needed_latency = needed_latency;
 				__t4_pci_out(wc, WC_DMACTRL, 0x00000000);
 				set_bit(T4_CHANGE_LATENCY, &wc->checkflag);




More information about the svn-commits mailing list