[alsa-devel] Ambiguous DAPM widget names and DPCM

Daniel Mack zonque at gmail.com
Thu Jul 25 14:24:54 CEST 2013

On 23.07.2013 20:30, Mark Brown wrote:
> On Tue, Jul 23, 2013 at 05:34:59PM +0200, Daniel Mack wrote:

>> With printk() in snd_soc_dapm_new_control(), I see the following widgets
>> being created during boot (one pair for each Codec, and two pairs for
>> the platform dai):
> OK, so the issue here is probably that you're overloading the single
> McASP object rather than anything else

Hmm, I'm not following. Isn't that the way things are supposed to work
with DPCM?

> Lookups are done first in the local DAPM context so so long as the thing
> that's setting up the links is doing so in the same context everything
> should be OK.  This is needed so you can have two of the same device in
> a system.

Hmm, but DPCM does not have such a local context, and just tries to look
up the widgets by name globally.

> The prefix mechanism is intended to address this; however it's only
> currently supported for CODECs.  If we move the prefixes to components
> then they should be usable for CPU DAIs.

But that's a static string as well. How can we distiguish between two
Codecs of the same type, or two McASP instances?

All of that might not have been a big issue so far maybe, but with DPMC,
we need to make the names unique, and add a way to uniquely identify
each widget along with its device identifier.

Liam, could you explain what you think makes sense here?


More information about the Alsa-devel mailing list