diff options
author | Troy Kisky <troy.kisky@boundarydevices.com> | 2009-11-18 19:49:53 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-11-19 05:48:08 -0500 |
commit | 1e224f322bf22280957a5f76164d848526ed9b08 (patch) | |
tree | bdf7af09be46172aa6048bb25fda35980e8b2159 /sound/soc/davinci/davinci-pcm.h | |
parent | 1587ea31572e25a0a2c9c491b7f8c937b6c0454e (diff) |
ASoC: DaVinci: pcm, fix underrun by using sram
Fix underruns by using dma to copy 1st to sram
in a ping/pong buffer style and then copying from
the sram to the ASP. This also has the advantage
of tolerating very long interrupt latency on dma
completion.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/davinci/davinci-pcm.h')
-rw-r--r-- | sound/soc/davinci/davinci-pcm.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/davinci/davinci-pcm.h b/sound/soc/davinci/davinci-pcm.h index c8b0d2baf05a..0764944cf10f 100644 --- a/sound/soc/davinci/davinci-pcm.h +++ b/sound/soc/davinci/davinci-pcm.h | |||
@@ -20,6 +20,7 @@ struct davinci_pcm_dma_params { | |||
20 | int channel; /* sync dma channel ID */ | 20 | int channel; /* sync dma channel ID */ |
21 | unsigned short acnt; | 21 | unsigned short acnt; |
22 | dma_addr_t dma_addr; /* device physical address for DMA */ | 22 | dma_addr_t dma_addr; /* device physical address for DMA */ |
23 | unsigned sram_size; | ||
23 | enum dma_event_q eventq_no; /* event queue number */ | 24 | enum dma_event_q eventq_no; /* event queue number */ |
24 | unsigned char data_type; /* xfer data type */ | 25 | unsigned char data_type; /* xfer data type */ |
25 | unsigned char convert_mono_stereo; | 26 | unsigned char convert_mono_stereo; |