aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/dw/core.c
diff options
context:
space:
mode:
authorQiao Zhou <zhouqiao@marvell.com>2015-03-03 09:16:08 +0800
committerVinod Koul <vinod.koul@intel.com>2015-03-04 18:03:15 +0530
commit1eed601a5b02a1f0bbabd155aeea7879fc3708eb (patch)
tree3fdb72af5a6723192d9a9e1832b0e49996519693 /drivers/dma/dw/core.c
parentdmaengine: shdma: Move DMA stop to (runtime) suspend callbacks (diff)
downloadlinux-dev-1eed601a5b02a1f0bbabd155aeea7879fc3708eb.tar.xz
linux-dev-1eed601a5b02a1f0bbabd155aeea7879fc3708eb.zip
dma: mmp-tdma: refine dma disable and dma-pos update
Below are the refinements. 1. Set DMA abort bit when disabling dma channel. This will clear the remaining data in dma FIFO, to fix channel-swap issue. 2. Read DMA HW pointer when updating DMA status. Previously dma position is calculated by adding one period size in dma interrupt. This is inaccurate/insufficient for some high-quality audio APP. Since interrupt bottom half handler has variable schedule delay, it causes big error when calculating sample delay. Read the actual HW pointer and feedback can improve the accuracy. 3. Do some minor code clean. Signed-off-by: Qiao Zhou <zhouqiao@marvell.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions