On 18/05/11 14:27, Ben Gardiner wrote:
davinci-i2s enables the use of ping-pong buffers by copying the sram sizes specified by platform data into the dma params used by davinci-pcm.
This patch series first implements that same behaviour in davinic-mcasp and then specified sram sizes and eventq's for da850evm.
To achieve the use of ping-pong buffers at runtime this patch depends also on the conversion of da850's SRAM allocator to the "Share RAM" region from the "ARM Local RAM" region -- originally proposed by Subhasish Ghosh[1] and recently reposted by myself [2].
This is because the "ARM Local RAM" region currently used by the da850 SRAM allocator is not addressable by the EDMA. The resulting behaviour, when ping-pong buffers are used by davinci-pcm, is that playback produces silence and capture acquires silence.
However, there is no change in behaviour for da850evm build with the in-tree defconfig since suspend allocates SRAM which prevents a successful allocation of 8K by davinci-pcm and thus the behaviour falls back to the usual scheme.
In the case of da850evm builds where CONFIG_SUSPEND is not set, playback will produce silence and capture will acquire silence until such time as the patches to change the da850 SRAM allocator to the "Shared RAM" region are merged.
[1] http://article.gmane.org/gmane.linux.kernel/1098928 [2] http://article.gmane.org/gmane.linux.ports.arm.kernel/117261
Ben Gardiner (2): ASoC: davinci-mcasp: enable ping-pong SRAM buffers davinci: da850evm: enable mcasp ping-pong buffers and eventq's
arch/arm/mach-davinci/board-da850-evm.c | 5 ++++- sound/soc/davinci/davinci-mcasp.c | 2 ++ 2 files changed, 6 insertions(+), 1 deletions(-)
Both
Acked-by: Liam Girdwood lrg@ti.com