[alsa-devel] Connecting two Codecs to the same CPU DAI

Mark Brown broonie at kernel.org
Wed Jul 17 11:31:32 CEST 2013

On Wed, Jul 17, 2013 at 11:16:22AM +0200, Daniel Mack wrote:
> On 16.07.2013 19:47, Mark Brown wrote:

> > Half the point of soc-pcm is to decouple the streams seen by the
> > application layer from the DAIs that the driver sees so I'd expect us to
> > be able to map a single application layer/memory stream onto multiple
> > CODEC DAIs.  One front end connected to two back ends.

> You're talking about DPCM, right? Unfortunately, there is no active user
> of this in mainline, and no documentation either. I'll try and find out
> how this is supposed to work first ...

Yes, this is a constant complaint.  Hopefully the OMAP4 code will be
upstreamed at some point but as you will be aware there's issues there.

> Maybe Liam has some explanation ready?

The only thing I'm aware of is the out of tree OMAP4 and Qualcomm code
neither of which I'd hold my breath over.

> > May as well bite the bullet and do the refactoring, it should be
> > automatable.  There's also the fun of handling what happens when you
> > want to stream from one CODEC to another but I think that's second
> > stage...

> Looking deeper into this, I'm not sure whether each of those codec
> instances inside one snd_soc_dai_link should have it own runtime, of if
> they should rather share one. The latter isn't straight-forward, as
> current users simply access the codec from their callbacks as
> rtd->codec_dai. However, open-coding routines to access the correct
> codec from these callbacks is not nice at all either. Hmm.

Yes, it's not an easy refactoring.  But it's probably one that'll be
needed for Slimbus at some point.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20130717/053db78d/attachment.sig>

More information about the Alsa-devel mailing list