[alsa-devel] About ASoC DAIs cleanup

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Mon Dec 18 03:16:07 CET 2017


Hi Mark

> > > > > Cleaning things up so we don't need to use rtd->cpu_dai and rtd->codec_dai
> > > > > would definitely be nice, it's also useful for CODEC<->CODEC links.  Off
> > > > > the top of my head wrapping the accesses with macros/functions then
> > > > > implementing a way of getting the DAI behind them would be tractable?
> > 
> > > Yes but one of the problems I see that we have specific ordering on the
> > > DAI ops between various components, is that a specific requirement?
> > 
> > It's designed to minimize pops, it's not a hard requirement but changing
> > it might break things for existing systems.
> 
> Yes that was my hunch too, so lets keep the order unchanged.

Current DAI has CPU/Codec categorize, and sometimes we want to use
Codec <-> Codec connection.
Thus, we want to remove current cpu_xx/codec_xx naming.
But, because of above reason, we need to know which DAI is which portion,
thus, we need flags anyway, I think.

My quick idea is using "peripheral" flag.
I think we can set it on soc_bind_dai_link() ?
And we can use it like below

	for_each_dais(dai, xxx) {
		if(!dai->peripheral)
			/* non Peripheral == CPU portion */

		if(dai->peripheral)
			/* Peripheral == Codec portion */
	}

But what do you think about this idea/naming etc ?
I want to investigate more about Codec <-> Codec connection,
which driver is using it ? Especially CPU portion

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list