linux-tegra.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dma: tegra: implement flags parameters for cyclic transfer
@ 2012-12-19 13:40 Laxman Dewangan
       [not found] ` <1355924434-7930-1-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Laxman Dewangan @ 2012-12-19 13:40 UTC (permalink / raw)
  To: djbw, vinod.koul; +Cc: linux-kernel, swarren, linux-tegra, Laxman Dewangan

The flag parameter is added in the cyclic transfer request.
Use the flag option of:
- DMA_PREP_INTERRUPT for enabling interrupt.
- DMA_CTRL_ACK for deciding whether ack is requred or not for
  descriptor.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/dma/tegra20-apb-dma.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
index efdfffa..bf58bb8 100644
--- a/drivers/dma/tegra20-apb-dma.c
+++ b/drivers/dma/tegra20-apb-dma.c
@@ -266,6 +266,7 @@ static struct tegra_dma_desc *tegra_dma_desc_get(
 		if (async_tx_test_ack(&dma_desc->txd)) {
 			list_del(&dma_desc->node);
 			spin_unlock_irqrestore(&tdc->lock, flags);
+			dma_desc->txd.flags = 0;
 			return dma_desc;
 		}
 	}
@@ -1050,7 +1051,9 @@ struct dma_async_tx_descriptor *tegra_dma_prep_dma_cyclic(
 					TEGRA_APBDMA_AHBSEQ_WRAP_SHIFT;
 	ahb_seq |= TEGRA_APBDMA_AHBSEQ_BUS_WIDTH_32;
 
-	csr |= TEGRA_APBDMA_CSR_FLOW | TEGRA_APBDMA_CSR_IE_EOC;
+	csr |= TEGRA_APBDMA_CSR_FLOW;
+	if (flags & DMA_PREP_INTERRUPT)
+		csr |= TEGRA_APBDMA_CSR_IE_EOC;
 	csr |= tdc->dma_sconfig.slave_id << TEGRA_APBDMA_CSR_REQ_SEL_SHIFT;
 
 	apb_seq |= TEGRA_APBDMA_APBSEQ_WRAP_WORD_1;
@@ -1095,7 +1098,8 @@ struct dma_async_tx_descriptor *tegra_dma_prep_dma_cyclic(
 		mem += len;
 	}
 	sg_req->last_sg = true;
-	dma_desc->txd.flags = 0;
+	if (flags & DMA_CTRL_ACK)
+		dma_desc->txd.flags = DMA_CTRL_ACK;
 
 	/*
 	 * Make sure that mode should not be conflicting with currently
-- 
1.7.1.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-01-07 13:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-19 13:40 [PATCH] dma: tegra: implement flags parameters for cyclic transfer Laxman Dewangan
     [not found] ` <1355924434-7930-1-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-19 17:02   ` Stephen Warren
     [not found]     ` <50D1F33D.1050709-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-12-20  6:11       ` Laxman Dewangan
     [not found]         ` <50D2ABF7.8090308-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-20 16:46           ` Stephen Warren
     [not found]             ` <50D340E1.7040600-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-12-21  4:23               ` Laxman Dewangan
     [not found]                 ` <50D3E44F.4060007-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-21 20:53                   ` Stephen Warren
     [not found]                     ` <50D4CC62.6080304-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-07 13:52                       ` Laxman Dewangan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).