aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuang Shijie <b32955@freescale.com>2010-11-01 10:17:15 +0800
committerHuang Shijie <b32955@freescale.com>2010-11-05 10:03:34 +0800
commitc2014b756f5646e3caa9f6c96031faf370d0dfd1 (patch)
treef7790f93838f1ab3d338a27c986e353b6af41f1f
parent49a21d7f47204d19848b72db93483177160f5522 (diff)
ENGR00133178-2 DMA : remove mutex for each channel
The spin_lock is enough for each DMA channel, so remove the mutex lock. Signed-off-by: Huang Shijie <b32955@freescale.com>
-rw-r--r--arch/arm/mach-mx5/dmaengine.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/arch/arm/mach-mx5/dmaengine.c b/arch/arm/mach-mx5/dmaengine.c
index b8aad6c0b73..ff3bb355306 100644
--- a/arch/arm/mach-mx5/dmaengine.c
+++ b/arch/arm/mach-mx5/dmaengine.c
@@ -128,13 +128,11 @@ int mxs_dma_enable(int channel)
return -EINVAL;
pdma = pchan->dma;
- mutex_lock(&mxs_dma_mutex);
spin_lock_irqsave(&pchan->lock, flags);
if (pchan->pending_num && pdma->enable)
ret = pdma->enable(pchan, channel - pdma->chan_base);
pchan->flags |= MXS_DMA_FLAGS_BUSY;
spin_unlock_irqrestore(&pchan->lock, flags);
- mutex_unlock(&mxs_dma_mutex);
return ret;
}
EXPORT_SYMBOL(mxs_dma_enable);
@@ -152,7 +150,6 @@ void mxs_dma_disable(int channel)
if (!(pchan->flags & MXS_DMA_FLAGS_BUSY))
return;
pdma = pchan->dma;
- mutex_lock(&mxs_dma_mutex);
spin_lock_irqsave(&pchan->lock, flags);
if (pdma->disable)
pdma->disable(pchan, channel - pdma->chan_base);
@@ -161,7 +158,6 @@ void mxs_dma_disable(int channel)
pchan->pending_num = 0;
list_splice_init(&pchan->active, &pchan->done);
spin_unlock_irqrestore(&pchan->lock, flags);
- mutex_unlock(&mxs_dma_mutex);
}
EXPORT_SYMBOL(mxs_dma_disable);