Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1477744 > unrolled thread

[PATCH v3 1/2] dmaengine: tegra210-adma: Add pre-check for cyclic callback

Started byNicolin Chen <nicoleotsuka@gmail.com>
First post2016-09-06 20:50 +0200
Last post2016-09-06 20:50 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v3 1/2] dmaengine: tegra210-adma: Add pre-check for cyclic callback Nicolin Chen <nicoleotsuka@gmail.com> - 2016-09-06 20:50 +0200

#1477744 — [PATCH v3 1/2] dmaengine: tegra210-adma: Add pre-check for cyclic callback

FromNicolin Chen <nicoleotsuka@gmail.com>
Date2016-09-06 20:50 +0200
Subject[PATCH v3 1/2] dmaengine: tegra210-adma: Add pre-check for cyclic callback
Message-ID<setBw-5FR-11@gated-at.bofh.it>
ADMA driver will support more than cyclic type of transaction.
So this patch limit the cyclic callback for the cyclic type
only in order to support other types.

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
---
 drivers/dma/tegra210-adma.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c
index 09b46f7..5b5d298 100644
--- a/drivers/dma/tegra210-adma.c
+++ b/drivers/dma/tegra210-adma.c
@@ -111,6 +111,7 @@ struct tegra_adma_desc {
 	size_t				buf_len;
 	size_t				period_len;
 	size_t				num_periods;
+	bool				cyclic;
 };
 
 /*
@@ -408,7 +409,8 @@ static irqreturn_t tegra_adma_isr(int irq, void *dev_id)
 		return IRQ_NONE;
 	}
 
-	vchan_cyclic_callback(&tdc->desc->vd);
+	if (tdc->desc->cyclic)
+		vchan_cyclic_callback(&tdc->desc->vd);
 
 	spin_unlock_irqrestore(&tdc->vc.lock, flags);
 
@@ -557,6 +559,7 @@ static struct dma_async_tx_descriptor *tegra_adma_prep_dma_cyclic(
 	if (!desc)
 		return NULL;
 
+	desc->cyclic = true;
 	desc->buf_len = buf_len;
 	desc->period_len = period_len;
 	desc->num_periods = buf_len / period_len;
-- 
2.1.4

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web