[alsa-devel] [PATCH] First attempt at a driver for the internal codec on the Allwinner A20.

Daniel Mack daniel at zonque.org
Wed Jul 2 15:20:37 CEST 2014


On 07/02/2014 03:05 PM, jonsmirl at gmail.com wrote:
> Missing DMA buffer was caused by missing platform_name.
> 
> static struct snd_soc_dai_link cdc_dai = {
> .name = "cdc",
> .stream_name = "CDC PCM",
> .codec_dai_name = "sunxi-codec-dai",
> .cpu_dai_name = "1c22c00.codec",
> .codec_name = "1c22c00.codec",
> .platform_name = "1c22c00.codec",
> 
> Something is still messed up...
> 
> root at linaro-developer:~# aplay x.wav
> Playing WAVE 'x.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
> aplay: pcm_write:1939: write error: Input/output error
> root at linaro-developer:~#

This error is usually caused by a stuck DMA channel. IOW, the DMA
pointer is not moving forward, and after some seconds, ALSA decides that
something can't be right and shuts down the stream again.

Maybe start with adding printks to your DMA controller's IRQ routine or
something.


Daniel



More information about the Alsa-devel mailing list