diff options
author | Sumit Bhattacharya <sumitb@nvidia.com> | 2012-08-27 16:07:39 +0800 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-09-04 17:10:33 -0700 |
commit | 49553e9c6dd0ef9dac304adc69c676b0b000d31f (patch) | |
tree | 988009ee9e4a159261fd655b562ebb9524d4deef /sound/soc/tegra/tegra_pcm.c | |
parent | bad016421fc94642de2ad70a78d2917549d81541 (diff) |
ASoC: Tegra: Add ALSA ctl to set DMA address
Add support for setting of DMA address through alsa control for AVP
rendering. This is required to directly do DMA from IRAM to I2S.
Bug 1024403
Change-Id: I6b79ae6e9a562160a19d238b817e1a8b407ac208
Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-on: http://git-master/r/127436
(cherry picked from commit f270f46bef98a56f44432e608041adb617c22559)
Signed-off-by: Chandrakanth Gorantla <cgorantla@nvidia.com>
Change-Id: I195aae9043f967273283579f44d5367fe73d542f
Reviewed-on: http://git-master/r/129159
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Scott Peterson <speterson@nvidia.com>
Diffstat (limited to 'sound/soc/tegra/tegra_pcm.c')
-rw-r--r-- | sound/soc/tegra/tegra_pcm.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/tegra/tegra_pcm.c b/sound/soc/tegra/tegra_pcm.c index f471fafff2ac..a7c9c0a110f9 100644 --- a/sound/soc/tegra/tegra_pcm.c +++ b/sound/soc/tegra/tegra_pcm.c @@ -70,7 +70,11 @@ static void tegra_pcm_queue_dma(struct tegra_runtime_data *prtd) if (++prtd->dma_req_idx >= prtd->dma_req_count) prtd->dma_req_idx -= prtd->dma_req_count; - addr = buf->addr + prtd->dma_pos; + if (prtd->avp_dma_addr) + addr = prtd->avp_dma_addr + prtd->dma_pos; + else + addr = buf->addr + prtd->dma_pos; + prtd->dma_pos += dma_req->size; if (prtd->dma_pos >= prtd->dma_pos_end) prtd->dma_pos = 0; |