[alsa-devel] [RFD] Add hw_params support for hostless stream BE DAIs

Jeeja KP jeeja.kp at intel.com
Thu Mar 10 21:57:03 CET 2016


On Wed, Mar 02, 2016 at 11:02:15AM +0900, Mark Brown wrote:
> On Tue, Feb 16, 2016 at 09:47:47PM +0530, Jeeja KP wrote:
> > We have no mechanism to configure hw_params for DAIs which are hostless.
> > Like a loop or DAIs connected to internal sinks/sources.
> 
> Please propose patches, don't send enormous design documents.  They're
> big, take a long time to read and don't really get us anywhere unless
> they're extremely clear.

Ok. I have the patches ready, will post it.

> 
> > Approach:
> > 	1. Allow params to be defined for other BE dai link also. this
> > 	currently applicable only for codec_codec link.
> 
> Like I keep saying if you're thinking about this in terms of DPCM you're
> solving the wrong problem - we already support supplying parameters for
> device<->device links, we already have systems that need to configure
> things for device<->device links so we can already see that if we're
> doing something that only works for things that are on SoC and can use
> DPCM then we're not solving the problem.

No this is not exactly about DPCM. It is about the device<->device links that
assume you can have only codecs as hostless and thus change the direction
for the link. Since we are rendering from SoC we don't need direction change.

> 
> DPCM works pretty well for small, simple DSPs that are mostly in line
> in the middle of a standard DAI but it does have limitations which
> you're now running into.  Your systems don't fit well with what DPCM
> supports naturally.
> 
> > struct snd_soc_dai_link {
> >         const struct snd_soc_pcm_stream *params;
> >         unsigned int num_params;
> > 
> > +       /* flag to create codec codec based on the flag*/
> > +       unsigned int codec_link:1;
> > +
> 
> This is clearly confused, if we can't figure out what the two devices we
> are connecting are based on just looking at the devices then that's
> really not a good sign that our interfaces are sensible and easy to work
> with.

Right now dai_link assumes device<->device links based on params so we
cannot specify params for anything where we dont want direction change and would
like to treat as normal direction dai_link. So we propose this to move to
codec_link flag and use params only for creating controls based on params
provided.


-- 


More information about the Alsa-devel mailing list