diff options
author | Shaun Ruffell <sruffell@digium.com> | 2010-09-23 21:38:52 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2010-09-23 21:38:52 +0000 |
commit | b1d6ae6dd425d2e81a6043df3f0f300e7f485604 (patch) | |
tree | b2568f1f76e0dd263a3fd6029de7afbf7d7cd753 /drivers/dahdi/voicebus/voicebus.h | |
parent | cb9b0ee67f9caba93a884b155d81daa83e72df51 (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.h | 8 |
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); |