[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