From 50f51ee4599a2b3ce63c306d057347d1d6934f1c Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Mon, 4 Apr 2011 16:24:33 +0000 Subject: [PATCH] voicebus: Update the network debug device to use dma_pools. r9402 switched to dma_pool for the SFRAMES. This updates the network debug device to use the dma_pools for SFRAME allocation. Signed-off-by: Shaun Ruffell Acked-by: Michael Spiceland Acked-by: Kinsey Moore git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9877 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/voicebus/voicebus.h | 10 +++++----- drivers/dahdi/voicebus/voicebus_net.c | 11 +++++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/drivers/dahdi/voicebus/voicebus.h b/drivers/dahdi/voicebus/voicebus.h index 73bd724..aaf7c60 100644 --- a/drivers/dahdi/voicebus/voicebus.h +++ b/drivers/dahdi/voicebus/voicebus.h @@ -32,11 +32,6 @@ #include -#ifdef VOICEBUS_NET_DEBUG -#include -#include -#endif - #define VOICEBUS_DEFAULT_LATENCY 3U #define VOICEBUS_DEFAULT_MAXLATENCY 25U #define VOICEBUS_MAXLATENCY_BUMP 6U @@ -76,6 +71,11 @@ struct dahdi_fifo *dahdi_fifo_alloc(size_t maxsize, gfp_t alloc_flags); #endif +#ifdef VOICEBUS_NET_DEBUG +#include +#include +#include +#endif struct voicebus; diff --git a/drivers/dahdi/voicebus/voicebus_net.c b/drivers/dahdi/voicebus/voicebus_net.c index 4a82333..7d4af7f 100644 --- a/drivers/dahdi/voicebus/voicebus_net.c +++ b/drivers/dahdi/voicebus/voicebus_net.c @@ -3,7 +3,7 @@ * * Written by Shaun Ruffell * - * Copyright (C) 2010 Digium, Inc. + * Copyright (C) 2010-2011 Digium, Inc. * * All rights reserved. @@ -57,8 +57,9 @@ static void * skb_to_vbb(struct voicebus *vb, struct sk_buff *skb) { int res; - void *vbb; + struct vbb *vbb; const int COMMON_HEADER = 30; + dma_addr_t dma_addr; if (skb->len != (VOICEBUS_SFRAME_SIZE + COMMON_HEADER)) { dev_warn(&vb->pdev->dev, "Packet of length %d is not the " @@ -67,13 +68,15 @@ skb_to_vbb(struct voicebus *vb, struct sk_buff *skb) return NULL; } - vbb = voicebus_alloc(vb); + vbb = dma_pool_alloc(vb->pool, GFP_KERNEL, &dma_addr); if (!vbb) return NULL; + + vbb->dma_addr = dma_addr; res = skb_copy_bits(skb, COMMON_HEADER, vbb, VOICEBUS_SFRAME_SIZE); if (res) { dev_warn(&vb->pdev->dev, "Failed call to skb_copy_bits.\n"); - voicebus_free(vb, vbb); + dma_pool_free(vb->pool, vbb, vbb->dma_addr); return NULL; } return vbb;