[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?
Thanks,
Daniel
More information about the Alsa-devel
mailing list