summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/include/mach
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-03-01 14:34:38 +0530
committerSimone Willett <swillett@nvidia.com>2012-03-02 18:08:13 -0800
commit62b5a87e7596f4c77fabfa7b232fbcaef0290507 (patch)
tree205a7009f9a95cf83466e143ec9ffba1e5a60165 /arch/arm/mach-tegra/include/mach
parent9705ceab5813d5e8e544a7195d8991cdcd96817a (diff)
ARM: tegra: dma: Call callback from main isr
In order to avoid the passing of the spin lock irq flags to different isr handler, calling the callbacks from main isr itself. Callback function should be call without spin lock. Change-Id: I9e9980cef5d1de4dd4e31b8ef5fdff223b77bb22 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/86873 Reviewed-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/include/mach')
-rw-r--r--arch/arm/mach-tegra/include/mach/dma.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/include/mach/dma.h b/arch/arm/mach-tegra/include/mach/dma.h
index 920381f836c2..580d50fd1565 100644
--- a/arch/arm/mach-tegra/include/mach/dma.h
+++ b/arch/arm/mach-tegra/include/mach/dma.h
@@ -86,6 +86,8 @@ enum tegra_dma_req_buff_status {
TEGRA_DMA_REQ_BUF_STATUS_FULL,
};
+typedef void (*dma_callback)(struct tegra_dma_req *req);
+
struct tegra_dma_req {
struct list_head node;
unsigned int modid;
@@ -99,7 +101,7 @@ struct tegra_dma_req {
* no DMA requests queued up, then it will STOP the DMA. It there are
* more requests in the DMA, then it will queue the next request.
*/
- void (*complete)(struct tegra_dma_req *req);
+ dma_callback complete;
/* This is a called from the DMA ISR context when the DMA is still in
* progress and is actively filling same buffer.
@@ -118,7 +120,7 @@ struct tegra_dma_req {
* callback to program the next buffer.
*
*/
- void (*threshold)(struct tegra_dma_req *req);
+ dma_callback threshold;
/* 1 to copy to memory.
* 0 to copy from the memory to device FIFO */