[alsa-devel] Confusion about Playback/Capture, CODEC/CODEC links, and snd_soc_dapm_link_dai_widgets()

Mark Brown broonie at opensource.wolfsonmicro.com
Tue Jun 5 23:34:48 CEST 2012


On Tue, Jun 05, 2012 at 03:17:15PM -0600, Stephen Warren wrote:

> So, should the logic be something like this early-ish in
> snd_soc_instantiate_card():

> for every dai link:
>     if cpu side is a codec and it isn't probed
>         probe it
>     if codec side isn't probed
>         probe it
> something similar for aux devs
> something similar for platforms?

> And modify soc_probe_dai_link() to only probe DAIs, never anything else.

Yeah, something like this.

> Is the following loop still required:

> > 	/* early DAI link probe */
> > 	for (order = SND_SOC_COMP_ORDER_FIRST; order <= SND_SOC_COMP_ORDER_LAST;
> > 			order++) {

> I'm not sure what the probe ordering stuff is achieving, and whether
> it's really intended for just CPU DAIs, just all DAIs, just CODECS,
> everything...

The only user of that is OMAP, I can't remember if they've actually got
their users for that upstream or not.  IIRC it's there to resolve clock
order dependencies but I'm not sure there isn't a neater solution with
something like cache only register I/O especially now we've got better
infrastructure.  Or if we can add something based on having a usable
clock API, we can rely on but that doesn't seem too realistic in the
medium term.


More information about the Alsa-devel mailing list