summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2005-08-09 01:24:26 +0000
committerkpfleming <kpfleming@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2005-08-09 01:24:26 +0000
commitb7d628e4e33e98cf73cf3c4877afe321825a65e7 (patch)
tree35f8a558b5ec64d5b322243ce0657bce12c89fb0
parentecd016f737088d6ae010ba9cf7ea05ed373c8a7f (diff)
small fix for robbed-bit-signaling mode
small code efficiency improvement git-svn-id: http://svn.digium.com/svn/zaptel/trunk@726 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rwxr-xr-xwct4xxp.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/wct4xxp.c b/wct4xxp.c
index 2b2830d..217b4ed 100755
--- a/wct4xxp.c
+++ b/wct4xxp.c
@@ -1369,25 +1369,20 @@ static int t4_startup(struct zt_span *span)
} else { /* is a T1 card */
__t4_configure_t1(wc, span->offset, span->lineconfig, span->txlevel);
}
+
/* Note clear channel status */
+ wc->tspans[span->offset]->notclear = 0;
__set_clear(wc, span->offset);
if (!alreadyrunning) {
span->flags |= ZT_FLAG_RUNNING;
wc->spansstarted++;
- /* enable interrupts */
+ /* enable interrupts */
/* Start DMA, enabling DMA interrupts on read only */
- if (ts->spanflags & FLAG_2NDGEN)
-#ifdef VPM_SUPPORT
- wc->dmactrl = 0xc0000000 | (1 << 29) | wc->vpm;
-#else
- wc->dmactrl = 0xc0000000 | (1 << 29);
-#endif
- else
+ wc->dmactrl = 1 << 29;
+ wc->dmactrl |= (ts->spanflags & FLAG_2NDGEN) ? 0xc0000000 : 0xc0000003;
#ifdef VPM_SUPPORT
- wc->dmactrl = 0xc0000003 | (1 << 29) | wc->vpm;
-#else
- wc->dmactrl = 0xc0000003 | (1 << 29);
+ wc->dmactrl |= wc->vpm;
#endif
if (noburst)
wc->dmactrl |= (1 << 26);
@@ -1407,8 +1402,8 @@ static int t4_startup(struct zt_span *span)
}
#ifdef VPM_SUPPORT
if (!alreadyrunning && !wc->vpm) {
- wait_a_little();
- t4_vpm_init(wc);
+ wait_a_little();
+ t4_vpm_init(wc);
}
#endif
printk("Completed startup!\n");