summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wcte12xp
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-04-04 16:25:33 +0000
committerShaun Ruffell <sruffell@digium.com>2011-04-04 16:25:33 +0000
commitbd096e7becf14e3f6bf858cda48eb7b89fb8a65f (patch)
tree95822cc3d956a70121c36b38d0d4aae2bb291492 /drivers/dahdi/wcte12xp
parentb6efe6858b424fc77949a03deec1633825e2edca (diff)
wcte12xp: Use the in-hardirq versions of dahdi_receive/dahdi_transmit.
We are in hard-irq context already, so we do not need to disable all local interrupts. On one 3.06GHz Xeon test machine, drops the average time in the interrupt handler from 23.10 us to 21.87 us. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Michael Spiceland <mspiceland@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9886 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wcte12xp')
-rw-r--r--drivers/dahdi/wcte12xp/base.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c
index 235eea3..f4315f4 100644
--- a/drivers/dahdi/wcte12xp/base.c
+++ b/drivers/dahdi/wcte12xp/base.c
@@ -1856,9 +1856,8 @@ static inline void t1_transmitprep(struct t1 *wc, u8 *sframe)
u8 *eframe = sframe;
/* Calculate Transmission */
- if (likely(test_bit(INITIALIZED, &wc->bit_flags))) {
- dahdi_transmit(&wc->span);
- }
+ if (likely(test_bit(INITIALIZED, &wc->bit_flags)))
+ _dahdi_transmit(&wc->span);
#ifdef CONFIG_VOICEBUS_ECREFERENCE
for (chan = 0; chan < wc->span.channels; chan++) {
@@ -1950,19 +1949,19 @@ static inline void t1_receiveprep(struct t1 *wc, const u8* sframe)
for (x = 0; x < wc->span.channels; x++) {
__dahdi_fifo_get(wc->ec_reference[x], buffer,
ARRAY_SIZE(buffer));
- dahdi_ec_chunk(wc->chans[x], wc->chans[x]->readchunk,
+ _dahdi_ec_chunk(wc->chans[x], wc->chans[x]->readchunk,
buffer);
}
#else
for (x = 0; x < wc->span.channels; x++) {
- dahdi_ec_chunk(wc->chans[x], wc->chans[x]->readchunk, wc->ec_chunk2[x]);
+ _dahdi_ec_chunk(wc->chans[x], wc->chans[x]->readchunk, wc->ec_chunk2[x]);
memcpy(wc->ec_chunk2[x], wc->ec_chunk1[x],
DAHDI_CHUNKSIZE);
memcpy(wc->ec_chunk1[x], wc->chans[x]->writechunk,
DAHDI_CHUNKSIZE);
}
#endif
- dahdi_receive(&wc->span);
+ _dahdi_receive(&wc->span);
}
}