Re: [PATCH 0/7] ASoC: Merge CPU/Codec DAIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Morimoto-san,

On 3/10/20 8:06 PM, Kuninori Morimoto wrote:

Hi Mark

Current ALSA SoC has CPU/Codec categorized DAIs.
But it will be no longer good much for modern device.

Currently, rtd has both CPU/Codec DAIs array.

	rtd->cpu_dais   = [][][][][][][][][]
	rtd->codec_dais = [][][][][][][][][]

This patch merges these, like below.
It still keeps rtd->cpu_dais, rtd->codec_dais

Sorry, but I perceive a contradiction here, or I am missing the bigger picture.

Is the end-goal to remove the cpu_dais and codec_dais, and fold them as non-descript 'dais'? This is what I understand by "it will be no longer good much for modern device"

Or is this 'merge' a simple data handling change to avoid using two "for" loops instead of one, and we are going to keep the distinction between dais?

more specifically I am concerned about the tons of code we have, e.g. a random machine driver:

	struct snd_soc_dai *codec_dai = rtd->codec_dai;
	struct snd_soc_jack *jack;
	int ret;

	/* Configure sysclk for codec */
	ret = snd_soc_dai_set_sysclk(codec_dai, DA7219_CLKSRC_MCLK,

If the rtd structure only has an array of dais, how would the codecs be configured then?
	

	rtd->dais = [][][][][][][][][][][][][][][][][][]
	            ^cpu_dais         ^codec_dais
	            |--- num_cpus ---|--- num_codecs --|

After this merging, we can merge for_each_rtd_cpu/codec_dais().

-	for_each_rtd_cpu_dais() {
-		...
-	}
-	for_each_rtd_codec_dais() {
-		...
-	}
+	for_each_rtd_dais() {
+		...
+	}


Kuninori Morimoto (7):
   ASoC: soc-core: Merge CPU/Codec DAIs
   ASoC: soc-core: Merge for_each_rtd_cpu/codec_dais()
   ASoC: soc-dapm: Merge for_each_rtd_cpu/codec_dais()
   ASoC: soc-pcm: Merge for_each_rtd_cpu/codec_dais()
   ASoC: soc-core: Merge CPU/Codec for soc_dai_pcm_new()
   ASoC: soc-pcm: Merge CPU/Codec MSB at soc_pcm_apply_msb()
   ASoC: soc-pcm: Merge CPU/Codec at soc_pcm_pointer()

  include/sound/soc.h  |   7 +-
  sound/soc/soc-core.c |  66 +++-----
  sound/soc/soc-dapm.c |   9 +-
  sound/soc/soc-pcm.c  | 367 +++++++++++--------------------------------
  4 files changed, 123 insertions(+), 326 deletions(-)




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux