diff mbox

[2/2] dma: tegra: do not set transfer desc flag to DMA_CTRL_ACK in cyclic mode

Message ID 1340365364-16276-2-git-send-email-ldewangan@nvidia.com
State Not Applicable, archived
Headers show

Commit Message

Laxman Dewangan June 22, 2012, 11:42 a.m. UTC
The sound dmaengine pcm driver uses the dma in cyclic mode and
it does not ack the transfer descriptor  after transfer stops.
This may lead to hold that desc in chip's dma driver and does
not allow to reuse/free that descriptors. Hence not enabling
flag DMA_CTRL_ACK when dma runs in cyclic mode.

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

Comments

Stephen Warren June 22, 2012, 5:10 p.m. UTC | #1
On 06/22/2012 05:42 AM, Laxman Dewangan wrote:
> The sound dmaengine pcm driver uses the dma in cyclic mode and
> it does not ack the transfer descriptor  after transfer stops.
> This may lead to hold that desc in chip's dma driver and does
> not allow to reuse/free that descriptors. Hence not enabling
> flag DMA_CTRL_ACK when dma runs in cyclic mode.

> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
> @@ -1093,7 +1093,7 @@ struct dma_async_tx_descriptor *tegra_dma_prep_dma_cyclic(
> -	dma_desc->txd.flags = DMA_CTRL_ACK;
> +	dma_desc->txd.flags = 0;

I honestly have no idea about this one. If the dmaengine maintainers
think it's semantically correct, I have no objections.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
index b4bd50c..2e4c187 100644
--- a/drivers/dma/tegra20-apb-dma.c
+++ b/drivers/dma/tegra20-apb-dma.c
@@ -1093,7 +1093,7 @@  struct dma_async_tx_descriptor *tegra_dma_prep_dma_cyclic(
 		mem += len;
 	}
 	sg_req->last_sg = true;
-	dma_desc->txd.flags = DMA_CTRL_ACK;
+	dma_desc->txd.flags = 0;
 
 	/*
 	 * Make sure that mode should not be conflicting with currently