summaryrefslogtreecommitdiff
path: root/drivers/dahdi/voicebus/voicebus.h
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2010-09-23 21:38:52 +0000
committerShaun Ruffell <sruffell@digium.com>2010-09-23 21:38:52 +0000
commitb1d6ae6dd425d2e81a6043df3f0f300e7f485604 (patch)
treeb2568f1f76e0dd263a3fd6029de7afbf7d7cd753 /drivers/dahdi/voicebus/voicebus.h
parentcb9b0ee67f9caba93a884b155d81daa83e72df51 (diff)
wcte12xp, wctdm24xxp: Convert vbb cache from kmem_cache to dma_pool.
The voicebus interface constantly uses the same buffers for moving data to/from the card. A fixed pool has less overhead in this case than constantly mapping/unmapping the kmem_cache_alloced buffers. Saves about ~2.608 us for each run of vb_isr on a 2.40 GHz Xeon test machine. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9402 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/voicebus/voicebus.h')
-rw-r--r--drivers/dahdi/voicebus/voicebus.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/dahdi/voicebus/voicebus.h b/drivers/dahdi/voicebus/voicebus.h
index 3f09390..73bd724 100644
--- a/drivers/dahdi/voicebus/voicebus.h
+++ b/drivers/dahdi/voicebus/voicebus.h
@@ -82,6 +82,7 @@ struct voicebus;
struct vbb {
u8 data[VOICEBUS_SFRAME_SIZE];
struct list_head entry;
+ dma_addr_t dma_addr;
};
struct voicebus_operations {
@@ -157,6 +158,7 @@ struct voicebus {
unsigned int max_latency;
struct list_head tx_complete;
struct list_head free_rx;
+ struct dma_pool *pool;
#ifdef VOICEBUS_NET_DEBUG
struct sk_buff_head captured_packets;
@@ -170,12 +172,6 @@ struct voicebus {
#endif
};
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
-extern kmem_cache_t *voicebus_vbb_cache;
-#else
-extern struct kmem_cache *voicebus_vbb_cache;
-#endif
-
int __voicebus_init(struct voicebus *vb, const char *board_name,
enum voicebus_mode mode);
void voicebus_release(struct voicebus *vb);