summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2004-07-22 03:35:08 +0000
committermarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2004-07-22 03:35:08 +0000
commit7cb6bef455595566b3cd2b4bf09f30ef91bbfdad (patch)
tree42e3fb13ceaa922322a8ac7a337e5b4d49f6621b
parentb367defa9f786aca729b8d9588323aba82848916 (diff)
Create "noburst" option to disable burst mode during bus mastering
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@436 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rwxr-xr-xwct4xxp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/wct4xxp.c b/wct4xxp.c
index 57caca3..2cf9c9a 100755
--- a/wct4xxp.c
+++ b/wct4xxp.c
@@ -60,6 +60,7 @@ static int highestorder;
static int t1e1override = -1;
static int loopback = 0;
static int alarmdebounce = 0;
+static int noburst = 0;
#ifdef FANCY_ALARM
static int altab[] = {
@@ -878,6 +879,8 @@ static int t4_startup(struct zt_span *span)
/* enable interrupts */
/* Start DMA, enabling DMA interrupts on read only */
wc->dmactrl = 0xc0000003 | (1 << 29);
+ if (noburst)
+ wc->dmactrl |= (1 << 26);
__t4_pci_out(wc, WC_DMACTRL, wc->dmactrl);
}
@@ -1404,6 +1407,8 @@ static int t4_reset_dma(struct t4 *wc)
t4_pci_out(wc, WC_COUNT, ((ZT_MAX_CHUNKSIZE * 2 * 32 - 1) << 18) | ((ZT_MAX_CHUNKSIZE * 2 * 32 - 1) << 2));
t4_pci_out(wc, WC_INTR, 0);
wc->dmactrl = 0xc0000003 | (1 << 29);
+ if (noburst)
+ wc->dmactrl |= (1 << 26);
t4_pci_out(wc, WC_DMACTRL, wc->dmactrl);
return 0;
}
@@ -1732,6 +1737,7 @@ MODULE_LICENSE("GPL");
#endif
MODULE_PARM(debug, "i");
MODULE_PARM(loopback, "i");
+MODULE_PARM(noburst, "i");
MODULE_PARM(timingcable, "i");
MODULE_PARM(t1e1override, "i");
MODULE_PARM(alarmdebounce, "i");