On Tue 07 May 2024 at 04:32, Kuninori Morimoto kuninori.morimoto.gx@renesas.com wrote:
Hi Mark, Pierre-Louis Cc each ASoC driver maintainer
As we discussed in [1], we don't need to use dpcm_playback/capture flag, so we remove it. But we have been using it for 10 years, some driver might get damage. The most likely case is that the device/driver can use both playback/capture, but have only one flag, and not using xxx_only flag. [1/3] patch indicates warning in such case.
And because of its history, DPCM has been checking CPU side only. But it should check Codec side too same as non-DPCM. Some device/driver has been bypassed this check. It should be error. [2/3] patch indicates warning in such case.
Because dpcm_xxx flag is no longer used by [1/3] patch, snd_soc_dai_link_set_capabilities() is no longer needed. [3/3] patch remove it.
These adds grace time for DPCM cleanup. I'm not sure when dpcm_xxx will be removed, and Codec check bypass will be error, but maybe v6.11 or v6.12 ? Please check each driver by that time.
Hi Kuninori-san,
I have tested this series on an Amlogic device (vim3l) This brings warnings for cases which are perfectly fine.
For example, one of the DPCM backends is the TDM interface. This interface is capable of both playback and capture. It can be associated with any i2s/TDM codec.
The codec may do playback and capture too, but it may also do a single direction. Then usual example is the hdmi codec which does playback only.
In this case I get: axg-sound-card sound: CPU capture is available but Codec capture is not (be.dai-link-6) Please update Codec driver
I don't think this is right.
[1] https://lore.kernel.org/r/87edaym2cg.wl-kuninori.morimoto.gx@renesas.com
Kuninori Morimoto (3): ASoC: soc-pcm: Indicate warning if dpcm_playback/capture were used for availability limition ASoC: soc-pcm: Indicate warning if CPU / Codec availability mismatch ASoC: remove snd_soc_dai_link_set_capabilities()
include/sound/soc-dai.h | 1 - include/sound/soc.h | 1 + sound/soc/fsl/imx-card.c | 3 - sound/soc/generic/audio-graph-card.c | 2 - sound/soc/generic/audio-graph-card2.c | 2 - sound/soc/generic/simple-card.c | 2 - sound/soc/meson/axg-card.c | 1 - sound/soc/meson/gx-card.c | 1 - sound/soc/qcom/common.c | 1 - sound/soc/soc-dai.c | 38 ----------- sound/soc/soc-pcm.c | 96 ++++++++++++++++++--------- 11 files changed, 67 insertions(+), 81 deletions(-)