summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/include/mach
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-03-21 17:54:21 +0530
committerSimone Willett <swillett@nvidia.com>2012-04-03 17:51:51 -0700
commit668d6d94a7085518fc84c3809b2ba6048eea431f (patch)
tree2220a74e50556343b928b4cb0673ab57b296f2dc /arch/arm/mach-tegra/include/mach
parent7ddd7f619e68d0c1fc8665e6a9b72db292ac752a (diff)
ARM: tegra: dma: Update actual bytes_transferred in dma cancel
When canceling dma, updating actual bytes transferred by dma, making all requests status to aborted and deleting from channel request queue. Change-Id: I860780814340d54465de5b2ae11a6895319f428c Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/90815 Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'arch/arm/mach-tegra/include/mach')
-rw-r--r--arch/arm/mach-tegra/include/mach/dma.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/include/mach/dma.h b/arch/arm/mach-tegra/include/mach/dma.h
index 83840377b8b4..c6617e95c1af 100644
--- a/arch/arm/mach-tegra/include/mach/dma.h
+++ b/arch/arm/mach-tegra/include/mach/dma.h
@@ -189,6 +189,15 @@ bool tegra_dma_is_empty(struct tegra_dma_channel *ch);
struct tegra_dma_channel *tegra_dma_allocate_channel(int mode,
const char namefmt[], ...);
void tegra_dma_free_channel(struct tegra_dma_channel *ch);
+
+/*
+ * tegra_dma_cancel: Stop the dma and remove all request from pending request
+ * queue for transfer.
+ * The pending list for data transfer will become empty after this callback.
+ * The status of each request will be marked as ABORTED.
+ * bytes_transferred in each requests shows the actual bytes transferred by dma.
+ * Callbacks will not be called when cancel the requests.
+*/
int tegra_dma_cancel(struct tegra_dma_channel *ch);
int __init tegra_dma_init(void);