[alsa-devel] [PATCH RFC v2 4/4] ASoC: add warning if the function is not support multi cpu yet.
Liao, Bard
bard.liao at intel.com
Thu Jan 16 08:42:11 CET 2020
> -----Original Message-----
> From: Pierre-Louis Bossart [mailto:pierre-louis.bossart at linux.intel.com]
> Sent: Thursday, January 16, 2020 9:50 AM
> To: Bard liao <yung-chuan.liao at linux.intel.com>; broonie at kernel.org;
> tiwai at suse.de
> Cc: liam.r.girdwood at linux.intel.com; alsa-devel at alsa-project.org; Liao, Bard
> <bard.liao at intel.com>; kuninori.morimoto.gx at renesas.com
> Subject: Re: [alsa-devel] [PATCH RFC v2 4/4] ASoC: add warning if the function is
> not support multi cpu yet.
>
>
>
> On 1/14/20 11:51 AM, Bard liao wrote:
> > Multi cpu is not supported by all functions yet. Add a warning message
> > to warn it.
>
> Shouldn't we be consistent and return an error when we have an unexpected
> number of cpu dais? see below
>
> >
> > Suggested-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> > Signed-off-by: Bard liao <yung-chuan.liao at linux.intel.com>
> > ---
> > sound/soc/soc-compress.c | 7 ++++---
> > sound/soc/soc-generic-dmaengine-pcm.c | 12 ++++++++++++
> > sound/soc/soc-pcm.c | 12 ++++++++++++
> > 3 files changed, 28 insertions(+), 3 deletions(-)
> >
> > diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c index
> > 223cd045719e..bf9d6a21bcd9 100644
> > --- a/sound/soc/soc-compress.c
> > +++ b/sound/soc/soc-compress.c
> > @@ -810,10 +810,11 @@ int snd_soc_new_compress(struct
> snd_soc_pcm_runtime *rtd, int num)
> > int playback = 0, capture = 0;
> > int i;
> >
> > - if (rtd->num_codecs > 1) {
> > + if (rtd->num_cpus > 1 ||
> > + rtd->num_codecs) {
> > dev_err(rtd->card->dev,
> > - "Compress ASoC: Multicodec not supported\n");
> > - return -EINVAL;
> > + "Compress ASoC: Multi CPU/Codec not supported\n");
> > + return -ENOTSUPP;
>
> so this is an error...
Changing to -ENOTSUPP will prevent below to return error in
soc_init_pcm_runtime().
/* create compress_device if possible */
ret = snd_soc_dai_compress_new(cpu_dai, rtd, num);
if (ret != -ENOTSUPP) {
if (ret < 0)
dev_err(card->dev, "ASoC: can't create compress %s\n",
dai_link->stream_name);
return ret;
}
So it is to prevent an error actually. But I agree it is better to return
an error when we have an unexpected number of cpu dais. What do you
think? @Morimoto-san
More information about the Alsa-devel
mailing list