diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2012-03-01 14:34:38 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-03-02 18:08:13 -0800 |
commit | 62b5a87e7596f4c77fabfa7b232fbcaef0290507 (patch) | |
tree | 205a7009f9a95cf83466e143ec9ffba1e5a60165 /arch/arm/mach-tegra/include | |
parent | 9705ceab5813d5e8e544a7195d8991cdcd96817a (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')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/dma.h | 6 |
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 */ |