[alsa-devel] [PATCH 0/5] ASoC: davinci: Use edma-pcm and remove davinci-pcm

Mike Looijmans mike.looijmans at topic.nl
Wed Mar 4 07:19:17 CET 2015


On 03-03-15 15:45, Peter Ujfalusi wrote:
> Hi,
>
> This series will deprecate and removes the davinci-pcm platform driver and
> converts the daVinci DAI drivers to use the edma-pcm.
>
> The main feature of davinci-pcm has been the so called ping-pong mode, which
> can help in situations when the McASP/McBSP/ASP/VCIF experiences underrun or
> overrun in playback or capture. This was due to the fact the davinci-pcm w/o
> ping-pong needed to reprogram the paRAM slot after each period, this could
> cause delay in DMA operation, which leads to starvation.
> The edm-pcm does not need reprogramming and it seams to be working as good as
> the davinci-pcm with ping-pong.
>
> I have tested this series on OMAP-L138 EVM with McASP and McBSP. VCIF has been
> only compile tested since I do not have access to the HW. The edma-pcm is
> already used by AM335x and AM437x and it has been tested on those platforms
> extensively.

On the OMAP-L138, the "ping pong" only had a negative effect, it even 
increased the chances of overrun by reducing the interrupt latency tolerance 
and by doubling the amount of traffic on the bus. The L138 has a FIFO in the 
McASP which compensates for DDR access latencies and allows for larger 
transfer blocks. Many other OMAP chips do not have this FIFO and that is why 
the ping-pong was actually introduced. It compensates for DDR access times, 
not for interrupt latencies.

If you intend to test the DMA transfers, the L138 is definitely NOT the 
platform to test this on, as it will actually perform better without ping-pong 
through on-chip RAM.


>
> After this series we no longer have legacy eDMA users which clears the path for
> the eDMA driver stack cleanup.
>
> Regards,
> Peter
> ---
> Peter Ujfalusi (5):
>    ASoC: davinci: Select SND_EDMA_SOC when SND_DAVINCI_SOC is enabled
>    ASoC: davinci-i2s: Convert to use edma-pcm
>    ASoC: davinci-vcif: Convert to use edma-pcm
>    ASoC: davinci-mcasp: Deprecate the use of davinci-pcm in favor of
>      edma-pcm
>    ASoC: davinci: Remove unused davinci-pcm platform driver
>
>   sound/soc/davinci/Kconfig         |  18 +-
>   sound/soc/davinci/Makefile        |   2 -
>   sound/soc/davinci/davinci-i2s.c   |  67 ++-
>   sound/soc/davinci/davinci-mcasp.c |  87 +---
>   sound/soc/davinci/davinci-pcm.c   | 861 --------------------------------------
>   sound/soc/davinci/davinci-pcm.h   |  41 --
>   sound/soc/davinci/davinci-vcif.c  |  55 ++-
>   7 files changed, 79 insertions(+), 1052 deletions(-)
>   delete mode 100644 sound/soc/davinci/davinci-pcm.c
>   delete mode 100644 sound/soc/davinci/davinci-pcm.h
>



Met vriendelijke groet / kind regards,

Mike Looijmans
System Expert


TOPIC Embedded Systems
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: (+31) (0) 499 33 69 79
Telefax:  (+31) (0) 499 33 69 70
E-mail: mike.looijmans at topic.nl
Website: www.topic.nl

Please consider the environment before printing this e-mail

Topic zoekt gedreven (embedded) software specialisten!
http://topic.nl/vacatures/topic-zoekt-software-engineers/



More information about the Alsa-devel mailing list