[alsa-devel] [PATCH v2 00/10] ASoC: support adding PCM dynamically from topology

Lin, Mengdong mengdong.lin at intel.com
Tue Aug 18 07:17:36 CEST 2015


> -----Original Message-----
> From: Mark Brown [mailto:broonie at kernel.org]
> Sent: Tuesday, August 18, 2015 4:05 AM
> To: Liam Girdwood
> Cc: Lars-Peter Clausen; tiwai at suse.de; alsa-devel at alsa-project.org; Lin,
> Mengdong
> Subject: Re: [alsa-devel] [PATCH v2 00/10] ASoC: support adding PCM
> dynamically from topology
> 
> On Mon, Aug 17, 2015 at 11:39:59AM +0100, Liam Girdwood wrote:
> 
> > The intention is that the topology data for BE and codec style links
> > is not to define the link (as this should come from DT or ACPI) but to
> > define the links config/capabilities for a given FW. e.g. we have two
> > different FWs that run BE0 (SSP0) with different number of channels
> > (one is stereo, the other is 4 channel TDM). Currently the link
> > definitions will be hard coded until the ACPI data is ready.
> 
> > The FE uses the above too for config/capabilities but it can also be
> > defined and created by the topology data (since it's a FW entity).
> 
> So this is actually for adding further constraints to the existing physical links,
> not just for defining new virtual links.  That is definitely a reasonable
> application but it seems like what we should be doing here is adding
> constraints to a fully defined link rather than just having a dummy link.  The
> link is real and there, it's just that we want to further restrict how it can be
> used.  Something that says "this is a dummy link" definitely feels wrong.

I feel it's not enough to just "adding constraints to a fully defined link" for FE DAIs.
We need to determine the number of FE DAIs (thus FE DAI links as well) for a specific version of FW based on its topology info.

We use a "dummy FE DAI link" in the Broadwell machine driver just to 
-  pass the soc_bind_dai_link() on registering the soc card and use the deferred probe mechanism;
-  pull in the platform component which carries topology the info

If you prefer not using any dummy DAI link but creating the links from scratch when we detect them in firmware, can we add new field into "struct snd_soc_card" to specify the components for topology? 
After all, topology may not only come from the platform component. 

Thanks
Mengdong



More information about the Alsa-devel mailing list