From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: "Amadeusz Sławiński" <amadeuszx.slawinski@linux.intel.com>,
"Alper Nebi Yasak" <alpernebiyasak@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Banajit Goswami" <bgoswami@quicinc.com>,
"Bard Liao" <yung-chuan.liao@linux.intel.com>,
"Brent Lu" <brent.lu@intel.com>,
"Cezary Rojewski" <cezary.rojewski@intel.com>,
"Cristian Ciocaltea" <cristian.ciocaltea@collabora.com>,
"Daniel Baluta" <daniel.baluta@nxp.com>,
"Hans de Goede" <hdegoede@redhat.com>,
"Jaroslav Kysela" <perex@perex.cz>,
"Jerome Brunet" <jbrunet@baylibre.com>,
"Kai Vehmanen" <kai.vehmanen@linux.intel.com>,
"Kevin Hilman" <khilman@baylibre.com>,
"Liam Girdwood" <lgirdwood@gmail.com>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Mark Brown" <broonie@kernel.org>,
"Maso Huang" <maso.huang@mediatek.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Peter Ujfalusi" <peter.ujfalusi@linux.intel.com>,
"Ranjani Sridharan" <ranjani.sridharan@linux.intel.com>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Shawn Guo" <shawnguo@kernel.org>,
"Shengjiu Wang" <shengjiu.wang@gmail.com>,
"Srinivas Kandagatla" <srinivas.kandagatla@linaro.org>,
"Sylwester Nawrocki" <s.nawrocki@samsung.com>,
"Takashi Iwai" <tiwai@suse.com>,
"Trevor Wu" <trevor.wu@mediatek.com>,
"Vinod Koul" <vkoul@kernel.org>, "Xiubo Li" <Xiubo.Lee@gmail.com>,
alsa-devel@alsa-project.org, imx@lists.linux.dev,
linux-sound@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com
Subject: Re: [PATCH v2 01/16] ASoC: soc-pcm.c: cleanup soc_get_playback_capture()
Date: Tue, 2 Apr 2024 09:06:16 -0500 [thread overview]
Message-ID: <27d79c07-4ff9-48f4-9785-2643a8c5f4c5@linux.intel.com> (raw)
In-Reply-To: <87ttkk9se3.wl-kuninori.morimoto.gx@renesas.com>
On 4/2/24 01:43, Kuninori Morimoto wrote:
>
> Hi Pierre-Louis, again
>
>>> The problem I have is with the following code (not shown with diff)
>>>
>>> if (dai_link->playback_only)
>>> has_capture = 0;
>>>
>>> if (dai_link->capture_only)
>>> has_playback = 0;
>>>
>>> So with this grand unification, all the loops above may make a decision
>>> that could be overridden by these two branches.
>>>
>>> This was not the case before for DPCM, all the 'has_capture' and
>>> 'has_playback' variables were used as a verification of the dai_link
>>> settings with an error thrown e.g. if the dpcm_playback was set without
>>> any DAIs supporting playback.
>
> Hmm... above 2 branches are used for DPCM too before.
Not really, playback_only and capture_only were never set so those two
branches were always false.
>
>>> Now the dailink settings are used unconditionally. There is one warning
>>> added if there are no settings for a dailink, but we've lost the
>>> detection of a mismatch between dailink and the set of cpu/codec dais
>>> that are part of this dailink.
>
> Does this mean, for example you want to have warning/error by dpcm_playback
> flag if you are thinking it can use playback , but FE or BE playback was
> not valid ?
Again we had a verification that if the dpcm_playback was set at the
dailink level, it was actually supported by the dais.
We seem to have lost this verification. We only have an error when there
are no settings at all.
>
> If so, yes indeed this patch removes such flags.
> But I wonder why you want to get it in case of DPCM only ?
It's helpful to detect invalid configurations. And I see to reason why
the removal of flags should change the functionality.
> I can understand if all case want to have it.
>
> Then, I think we can check _only for this purpose too ?
>
> (A) if dai_link has playback_only -> it should have has_playback
> (B) if dai_link has capture_only -> it should have has_capture
> (C) if dai_link don't have both xxx_only -> it should have both has_xxx
>
> I think we already have (A)(B) check. We want to add (C) check ?
>
> If my understanding was correct, the things dpcm_xxx flag can do is also
> can do by xxx_only flag. But dpcm_xxx flag is used only DPCM, but xxx_only
> flag is used on all cases.
I am only concerned about mismatches between dailinks and dai
capabilities. The logic above is fine, but it's in the scope of the
dailink only.
next prev parent reply other threads:[~2024-04-03 12:50 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-01 0:27 [PATCH v2 00/16] ASoC: Replace dpcm_playback/capture to playback/capture_only Kuninori Morimoto
2024-04-01 0:30 ` [PATCH v2 01/16] ASoC: soc-pcm.c: cleanup soc_get_playback_capture() Kuninori Morimoto
2024-04-01 16:10 ` Pierre-Louis Bossart
2024-04-02 0:21 ` Kuninori Morimoto
2024-04-02 6:43 ` Kuninori Morimoto
2024-04-02 14:06 ` Pierre-Louis Bossart [this message]
2024-04-02 14:02 ` Pierre-Louis Bossart
2024-04-04 1:53 ` Kuninori Morimoto
2024-04-04 13:27 ` Pierre-Louis Bossart
2024-04-05 0:46 ` Kuninori Morimoto
2024-04-08 3:55 ` Kuninori Morimoto
2024-04-08 15:34 ` Pierre-Louis Bossart
2024-04-08 23:42 ` Kuninori Morimoto
2024-04-01 0:30 ` [PATCH v2 02/16] ASoC: amd: Replace dpcm_playback/capture to playback/capture_only Kuninori Morimoto
2024-04-01 0:31 ` [PATCH v2 03/16] ASoC: fsl: " Kuninori Morimoto
2024-04-01 0:31 ` [PATCH v2 04/16] ASoC: sof: " Kuninori Morimoto
2024-04-01 16:12 ` Pierre-Louis Bossart
2024-04-01 23:19 ` Kuninori Morimoto
2024-04-01 0:31 ` [PATCH v2 05/16] ASoC: meson: " Kuninori Morimoto
2024-04-04 8:46 ` Jerome Brunet
2024-04-01 0:31 ` [PATCH v2 06/16] ASoC: Intel: " Kuninori Morimoto
2024-04-02 14:04 ` Amadeusz Sławiński
2024-04-03 0:12 ` Kuninori Morimoto
2024-04-01 0:31 ` [PATCH v2 07/16] ASoC: samsung: " Kuninori Morimoto
2024-04-01 0:31 ` [PATCH v2 08/16] ASoC: mediatek: " Kuninori Morimoto
2024-04-01 0:31 ` [PATCH v2 09/16] ASoC: soc-core: " Kuninori Morimoto
2024-04-01 16:22 ` Pierre-Louis Bossart
2024-04-01 23:27 ` Kuninori Morimoto
2024-04-02 14:09 ` Pierre-Louis Bossart
2024-04-04 2:04 ` Kuninori Morimoto
2024-04-01 0:31 ` [PATCH v2 10/16] ASoC: soc-topology: " Kuninori Morimoto
2024-04-01 0:31 ` [PATCH v2 11/16] ASoC: soc-compress: " Kuninori Morimoto
2024-04-01 0:31 ` [PATCH v2 12/16] ASoC: Intel: avs: boards: " Kuninori Morimoto
2024-04-01 0:32 ` [PATCH v2 13/16] ASoC: remove snd_soc_dai_link_set_capabilities() Kuninori Morimoto
2024-04-01 16:26 ` Pierre-Louis Bossart
2024-04-02 0:29 ` Kuninori Morimoto
2024-04-02 14:13 ` Pierre-Louis Bossart
2024-04-04 2:22 ` Kuninori Morimoto
2024-04-01 0:32 ` [PATCH v2 14/16] ASoC: soc-pcm: remove dpcm_playback/capture Kuninori Morimoto
2024-04-01 0:32 ` [PATCH v2 15/16] ASoC: soc-pcm: indicate warning if DPCM BE Codec has no settings Kuninori Morimoto
2024-04-01 16:28 ` Pierre-Louis Bossart
2024-04-01 0:32 ` [PATCH v2 16/16] ASoC: doc: remove .dpcm_playback/capture flags Kuninori Morimoto
2024-04-04 8:27 ` [PATCH v2 00/16] ASoC: Replace dpcm_playback/capture to playback/capture_only Jerome Brunet
2024-04-04 23:13 ` Kuninori Morimoto
2024-04-05 8:59 ` Jerome Brunet
2024-04-08 2:13 ` Kuninori Morimoto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=27d79c07-4ff9-48f4-9785-2643a8c5f4c5@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=Xiubo.Lee@gmail.com \
--cc=alpernebiyasak@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=amadeuszx.slawinski@linux.intel.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bgoswami@quicinc.com \
--cc=brent.lu@intel.com \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=cristian.ciocaltea@collabora.com \
--cc=daniel.baluta@nxp.com \
--cc=hdegoede@redhat.com \
--cc=imx@lists.linux.dev \
--cc=jbrunet@baylibre.com \
--cc=kai.vehmanen@linux.intel.com \
--cc=khilman@baylibre.com \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=maso.huang@mediatek.com \
--cc=matthias.bgg@gmail.com \
--cc=neil.armstrong@linaro.org \
--cc=perex@perex.cz \
--cc=peter.ujfalusi@linux.intel.com \
--cc=ranjani.sridharan@linux.intel.com \
--cc=s.hauer@pengutronix.de \
--cc=s.nawrocki@samsung.com \
--cc=shawnguo@kernel.org \
--cc=shengjiu.wang@gmail.com \
--cc=srinivas.kandagatla@linaro.org \
--cc=tiwai@suse.com \
--cc=trevor.wu@mediatek.com \
--cc=vkoul@kernel.org \
--cc=yung-chuan.liao@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox