From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
Mark Brown <broonie@kernel.org>
Cc: alsa-devel@alsa-project.org, linux-sound@vger.kernel.org
Subject: Re: [PATCH v3 01/23] ASoC: soc-pcm: cleanup soc_get_playback_capture()
Date: Thu, 25 Apr 2024 16:59:05 -0500 [thread overview]
Message-ID: <bdf31350-1f99-4588-8d6d-f4b9c8bad96f@linux.intel.com> (raw)
In-Reply-To: <f65efc7b-d268-4b39-8665-5c4fe8e3ca1a@linux.intel.com>
>> But because we have been used dpcm_xxx for 10 years since (B),
>> I understand to feel anxious to suddenly remove dpcm_xxx.
>
> Indeed we err on the side of paranoia with such changes!
>
>> I think it should be removed anyway, but want to have grace time ?
>> If so, the idea is that we can use it as "option flag" instead of
>> "mandatory flag" for a while, like below
>>
>> if (rtd->dai_link->dynamic || rtd->dai_link->no_pcm) {
>> playback = (cpu_dai->driver->playback.channels_min > 0) ||
>> rtd->dai_link->dpcm_playback;
>> capture = (cpu_dai->driver->capture.channels_min > 0) ||
>> rtd->dai_link->dpcm_capture;
>>
>> * maybe we want to indicate message like "place re-check the flag and
>> remove it" via dev_info() if dpcm_xxx flag was used ?
>>
>> I think +2 kernel version or so is enough for grace time ?
>> After that, we can remove dpcm_xxx flag.
>
> I am good with that plan, but I'll need to investigate first why we had
> a failure with one of the Chromebooks on this v3 patchset. That may give
> us some insights on "special" uses of those flags.
I found the reason why this patchset failed on Intel CI: a dailink
direction is deemed supported only if ALL cpu- and codec-dais support it.
That is a stricter criterion than in existing code. This was a good
intention based on symmetry, but in practice there are exceptions to the
rule...
On some Chromebooks, we tag a dailink as supporting capture for echo
reference, but that echo reference is generated by the Intel firmware.
The amplifiers only support playback.
see https://github.com/thesofproject/linux/pull/4937 for details, I
added a clear log:
[ 807.304740] kernel: SSP1-Codec: CPU dai SSP1 Pin supports capture
but codec DAI rt1011-aif does not
So I think for now we probably want to avoid this stricter criterion and
only check the supported direction with the cpu-dais. Or we add an
escape mechanism to let the core know that the capture support was
intentional.
Also we relax the checks to go back to (E)
4f8721542f7b75954bfad98c51aa59d683d35b50
("ASoC: core: use less strict tests for dailink capabilities")
"
This patch modifies the snd_soc_dai_link_set_capabilities() helper so
that the dpcm_playback (resp. dpcm_capture) dailink capabilities are set
if at least one [cpu-]dai supports playback (resp. capture).
"
We tried checking all cpu-dais before and found issues, so "at least one
cpu dai" seems the strictest test to apply without breaking legacy.
next prev parent reply other threads:[~2024-04-25 21:59 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-18 4:11 [PATCH v3 00/23] ASoC: Replace dpcm_playback/capture to playback/capture_assertion Kuninori Morimoto
2024-04-18 4:12 ` [PATCH v3 01/23] ASoC: soc-pcm: cleanup soc_get_playback_capture() Kuninori Morimoto
2024-04-18 16:20 ` Pierre-Louis Bossart
2024-04-19 1:09 ` Kuninori Morimoto
2024-04-19 13:17 ` Pierre-Louis Bossart
2024-04-22 4:46 ` Kuninori Morimoto
2024-04-22 20:12 ` Pierre-Louis Bossart
2024-04-23 4:56 ` Kuninori Morimoto
2024-04-25 5:32 ` Kuninori Morimoto
2024-04-25 15:20 ` Pierre-Louis Bossart
2024-04-25 21:59 ` Pierre-Louis Bossart [this message]
2024-04-26 0:24 ` Kuninori Morimoto
2024-04-26 4:00 ` Kuninori Morimoto
2024-04-18 4:12 ` [PATCH v3 02/23] ASoC: soc-pcm: indicate warning if DPCM BE Codec has no settings Kuninori Morimoto
2024-04-18 4:12 ` [PATCH v3 03/23] ASoC: soc-dai: remove snd_soc_dai_link_set_capabilities() Kuninori Morimoto
2024-04-18 4:12 ` [PATCH v3 04/23] ASoC: amd: Replace dpcm_playback/capture to playback/capture_assertion Kuninori Morimoto
2024-04-18 4:13 ` [PATCH v3 05/23] ASoC: fsl: " Kuninori Morimoto
2024-04-18 4:13 ` [PATCH v3 06/23] ASoC: sof: " Kuninori Morimoto
2024-04-18 4:13 ` [PATCH v3 07/23] ASoC: meson: " Kuninori Morimoto
2024-04-18 4:13 ` [PATCH v3 08/23] ASoC: Intel: " Kuninori Morimoto
2024-04-18 4:13 ` [PATCH v3 09/23] ASoC: mediatek: " Kuninori Morimoto
2024-04-18 4:13 ` [PATCH v3 10/23] ASoC: soc-core: " Kuninori Morimoto
2024-04-18 4:14 ` [PATCH v3 11/23] ASoC: soc-topology: " Kuninori Morimoto
2024-04-18 4:14 ` [PATCH v3 12/23] ASoC: soc-compress: " Kuninori Morimoto
2024-04-18 4:14 ` [PATCH v3 13/23] ASoC: Intel: avs: boards: " Kuninori Morimoto
2024-04-18 4:14 ` [PATCH v3 14/23] ASoC: ti: Replace playback/capture_only " Kuninori Morimoto
2024-04-18 4:14 ` [PATCH v3 15/23] ASoC: amd: " Kuninori Morimoto
2024-04-18 4:14 ` [PATCH v3 16/23] ASoC: fsl: " Kuninori Morimoto
2024-04-18 4:14 ` [PATCH v3 17/23] ASoC: mxs: " Kuninori Morimoto
2024-04-18 4:15 ` [PATCH v3 18/23] ASoC: atmel: " Kuninori Morimoto
2024-04-18 4:15 ` [PATCH v3 19/23] ASoC: Intel: " Kuninori Morimoto
2024-04-18 11:19 ` Amadeusz Sławiński
2024-04-18 16:26 ` Pierre-Louis Bossart
2024-04-19 7:31 ` Amadeusz Sławiński
2024-04-18 4:15 ` [PATCH v3 20/23] ASoC: samsung: " Kuninori Morimoto
2024-04-18 4:15 ` [PATCH v3 21/23] ASoC: generic: " Kuninori Morimoto
2024-04-18 4:15 ` [PATCH v3 22/23] ASoC: soc-pcm: remove dpcm_playback/capture and playback/capture_only Kuninori Morimoto
2024-04-18 4:15 ` [PATCH v3 23/23] ASoC: doc: Replace dpcm_playback/capture to playback/capture_assertion Kuninori Morimoto
2024-04-22 21:10 ` [PATCH v3 00/23] ASoC: " Pierre-Louis Bossart
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=bdf31350-1f99-4588-8d6d-f4b9c8bad96f@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=linux-sound@vger.kernel.org \
/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