[alsa-devel] [PATCH 6/8] ASoC: dapm: Implement and instantiate DAI widgets

Vinod Koul vinod.koul at linux.intel.com
Fri Feb 17 09:40:09 CET 2012

On Thu, 2012-02-16 at 21:56 -0800, Mark Brown wrote:
> In order to allow us to do smarter things with DAI links create DAPM
> widgets which directly represent the DAIs in the DAPM graph. These are
> automatically created from the DAIs as we probe the card with references
> held in both directions between the widget and the DAI.
> The widgets are not made available for direct instantiation by drivers,
> they are created automatically from the DAIs.  Drivers should be updated
> to create stream routes using DAPM maps rather than by annotating AIF
> and DAC widgets with streams.
> In order to ease transition to this model from existing drivers we
> automatically create DAPM routes between the DAI widgets and the existing
> stream widgets which are started and stopped by the DAI widgets, though
> the old stream handling mechanism is still in place.  This also has the
> nice effect of removing non-DAPM devices as any device with a DAI
> acquires a widget automatically which will allow future simplifications
> to the core DAPM logic.
> The intention is that in future the AIF and DAI widgets will gain the
> ability to interact such that we are able to manage activity on
> individual channels independantly rather than powering up and down the
> entire AIF as we do currently.
> Currently we only generate these for CODECs, mostly as I have no systems
> with non-CODEC DAPM to integrate with. It should be a simple matter of
> programming to add the additional hookup for these.
If I understood right, then instead of creating AIF/ADCs for codec paths
now we need to create the DAI widget for each path and associate that
with the DAI, right.
I think I understood former (creating the dai widgets), but how does it
get linked to the DAIs?

Also in dai widget would it make sense to add channel map and associate
that with DAI?


More information about the Alsa-devel mailing list