> -----Original Message----- > From: Kuninori Morimoto [mailto:kuninori.morimoto.gx@xxxxxxxxxxx] > Sent: Thursday, December 26, 2019 4:17 PM > To: Bard liao <yung-chuan.liao@xxxxxxxxxxxxxxx> > Cc: broonie@xxxxxxxxxx; alsa-devel@xxxxxxxxxxxxxxxx; tiwai@xxxxxxx; > liam.r.girdwood@xxxxxxxxxxxxxxx; pierre-louis.bossart@xxxxxxxxxxxxxxx; Liao, > Bard <bard.liao@xxxxxxxxx> > Subject: Re: [PATCH RFC 1/3] ASoC: Add initial support for multiple CPU DAIs > > > Hi Bard > > Actually I have plan to post semi-multi CPU DAI support as part of ASoC cleanup. > The reason why "semi-multi" is that I can't test all features. > It cares Multi-CPU as much as possible. > > Thus, your and my patches are 100% conflict :) But, it is OK for me. > I'm happy to adjust to yours. > > Some comment from me > > > From: Shreyas NC <shreyas.nc@xxxxxxxxx> > > > > ASoC core supports multiple codec DAIs but supports only a CPU DAI. > > To support multiple cpu DAIs, add cpu_dai and num_cpu_dai in > > snd_soc_dai_link and snd_soc_pcm_runtime structures similar to support > > for codec_dai. This is intended as a preparatory patch to eventually > > support the unification of the Codec and CPU DAI. > > > > Inline with multiple codec DAI approach, add support to allocate, > > init, bind and probe multiple cpu_dai on init if driver specifies > > that. Also add support to loop over multiple cpu_dai during suspend > > and resume. > > > > This is intended as a preparatory patch to eventually unify the CPU > > and Codec DAI into DAI components. > > > > Signed-off-by: Shreyas NC <shreyas.nc@xxxxxxxxx> > > Signed-off-by: Bard Liao <yung-chuan.liao@xxxxxxxxxxxxxxx> > > --- > (snip) > > @@ -1149,6 +1154,9 @@ struct snd_soc_pcm_runtime { > > struct snd_soc_dai **codec_dais; > > unsigned int num_codecs; > > > > + struct snd_soc_dai **cpu_dais; > > + unsigned int num_cpu_dai; > > Codec is using "num_codecs"; > So, I think "num_cpus" is better for CPU. Agree. I will update it. > > > > @@ -1020,14 +1036,6 @@ static int soc_dai_link_sanity_check(struct > snd_soc_card *card, > > return -EPROBE_DEFER; > > } > > > > - /* FIXME */ > > - if (link->num_cpus > 1) { > > - dev_err(card->dev, > > - "ASoC: multi cpu is not yet supported %s\n", > > - link->name); > > - return -EINVAL; > > - } > > - > > /* > > * CPU device may be specified by either name or OF node, but > > * can be left unspecified, and will be matched based on DAI > > I think you want to sanity check for each CPU DAI by using > for_each_rtd_cpu_dai() here, not only removing FIXME ? Sure, thanks for reminding. > > > > > In my quick check, I think your patch-set doesn't care these functions ? > # Mine version is also doesn't care. Thus it indicates warning message there. > # Because I'm not sure how to handle these... > > - soc_init_pcm_runtime() > - snd_dmaengine_pcm_prepare_slave_config() > - dmaengine_pcm_set_runtime_hwparams() > - dmaengine_pcm_compat_request_channel() > - dpcm_state_read_file() > - dpcm_path_get() > - dpcm_runtime_merge_chan() > - soc_new_pcm() > - soc_dpcm_fe_runtime_update() > > For soc_new_pcm(), I think you need to care playback/capture flag for Multi- > CPU/Codec. > > For soc_dpcm_fe_runtime_update(), > you need to care about Multi-CPU. > But, it doesn't care Multi-Codec, either... > > I attached mine version. Thank you very much for the comments and patch. I will read your version and merge our versions. Thanks again for the quick reply. > > Thank you for your help !! > Best regards > --- > Kuninori Morimoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel