aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/imx-dma.c
diff options
context:
space:
mode:
authorRussell King - ARM Linux <linux@arm.linux.org.uk>2012-03-06 17:34:46 -0500
committerVinod Koul <vinod.koul@linux.intel.com>2012-03-13 02:06:52 -0400
commit884485e1f12dcd39390f042e772cdbefc9ebb750 (patch)
treea35fccb601c48ae1ea839aa6d62e4f102f7b66c3 /drivers/dma/imx-dma.c
parentd2ebfb335b0426deb1a4fb14e4e926d81ecd8235 (diff)
dmaengine: consolidate assignment of DMA cookies
Everyone deals with assigning DMA cookies in the same way (it's part of the API so they should be), so lets consolidate the common code into a helper function to avoid this duplication. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Tested-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Jassi Brar <jassisinghbrar@gmail.com> [imx-sdma.c & mxs-dma.c] Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'drivers/dma/imx-dma.c')
-rw-r--r--drivers/dma/imx-dma.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
index cead5e4bd38c..687fc687aaf6 100644
--- a/drivers/dma/imx-dma.c
+++ b/drivers/dma/imx-dma.c
@@ -165,19 +165,6 @@ static enum dma_status imxdma_tx_status(struct dma_chan *chan,
165 return ret; 165 return ret;
166} 166}
167 167
168static dma_cookie_t imxdma_assign_cookie(struct imxdma_channel *imxdma)
169{
170 dma_cookie_t cookie = imxdma->chan.cookie;
171
172 if (++cookie < 0)
173 cookie = 1;
174
175 imxdma->chan.cookie = cookie;
176 imxdma->desc.cookie = cookie;
177
178 return cookie;
179}
180
181static dma_cookie_t imxdma_tx_submit(struct dma_async_tx_descriptor *tx) 168static dma_cookie_t imxdma_tx_submit(struct dma_async_tx_descriptor *tx)
182{ 169{
183 struct imxdma_channel *imxdmac = to_imxdma_chan(tx->chan); 170 struct imxdma_channel *imxdmac = to_imxdma_chan(tx->chan);
@@ -185,7 +172,7 @@ static dma_cookie_t imxdma_tx_submit(struct dma_async_tx_descriptor *tx)
185 172
186 spin_lock_irq(&imxdmac->lock); 173 spin_lock_irq(&imxdmac->lock);
187 174
188 cookie = imxdma_assign_cookie(imxdmac); 175 cookie = dma_cookie_assign(tx);
189 176
190 spin_unlock_irq(&imxdmac->lock); 177 spin_unlock_irq(&imxdmac->lock);
191 178