[svn-commits] sruffell: linux/trunk r9886 - /linux/trunk/drivers/dahdi/wcte12xp/base.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Apr 4 11:25:38 CDT 2011


Author: sruffell
Date: Mon Apr  4 11:25:33 2011
New Revision: 9886

URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=9886
Log:
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 at digium.com>
Acked-by: Michael Spiceland <mspiceland at digium.com>
Acked-by: Kinsey Moore <kmoore at digium.com>

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

Modified: linux/trunk/drivers/dahdi/wcte12xp/base.c
URL: http://svnview.digium.com/svn/dahdi/linux/trunk/drivers/dahdi/wcte12xp/base.c?view=diff&rev=9886&r1=9885&r2=9886
==============================================================================
--- linux/trunk/drivers/dahdi/wcte12xp/base.c (original)
+++ linux/trunk/drivers/dahdi/wcte12xp/base.c Mon Apr  4 11:25:33 2011
@@ -1856,9 +1856,8 @@
 	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 @@
 		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);
 	}
 }
 




More information about the svn-commits mailing list