[alsa-devel] [PATCH 00/14] SPDIF support

Russell King - ARM Linux linux at arm.linux.org.uk
Sat Aug 31 21:14:14 CEST 2013


On Sat, Aug 31, 2013 at 05:28:26PM +0200, Lars-Peter Clausen wrote:
> On 08/31/2013 02:34 PM, Russell King - ARM Linux wrote:
> [...]
> > The same conditions apply as per my previous posting - the DAI link
> > needs to be setup and the associated DAPM routes to tell the CPU DAI
> > which outputs are in use, like this:
> > 
> > DAI link:
> >                 .name = "S/PDIF1",
> >                 .stream_name = "IEC958 Playback",
> >                 .platform_name = "mvebu-audio.1",
> >                 .cpu_dai_name = "mvebu-audio.1",
> >                 .codec_dai_name = "dit-hifi",
> >                 .codec_name = "spdif-dit",
> > 
> > static const struct snd_soc_dapm_route routes[] = {
> >         { "Playback", NULL, "spdifdo" },
> > };
> 
> This is still not exactly the right way to implement this though. Add a
> second DAI to your CPU driver, like this:

What you're suggesting is the DPCM solution.

That would be fine _if_ it works, which it doesn't.  Not only does it
cause the kernel to spit out various warnings (caused by the creation
of multiple procfs files with the same name) but it also causes a kernel
oops when VLC tries to use it (due to NULL ops in the ALSA PCM.)

As I said in my cover to this patch series: this is the minimum set of
changes which provide a working solution.

I would like to have the DPCM solution, but at present that's far from
possible.


More information about the Alsa-devel mailing list