diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2012-03-21 17:54:21 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-04-03 17:51:51 -0700 |
commit | 668d6d94a7085518fc84c3809b2ba6048eea431f (patch) | |
tree | 2220a74e50556343b928b4cb0673ab57b296f2dc /arch/arm/mach-tegra/include/mach | |
parent | 7ddd7f619e68d0c1fc8665e6a9b72db292ac752a (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.h | 9 |
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); |