mbox series

[v3,00/23] ASoC: Replace dpcm_playback/capture to playback/capture_assertion

Message ID 87h6fz8g3u.wl-kuninori.morimoto.gx@renesas.com (mailing list archive)
Headers show
Series ASoC: Replace dpcm_playback/capture to playback/capture_assertion | expand

Message

Kuninori Morimoto April 18, 2024, 4:11 a.m. UTC
Hi Mark

This is v3 patch-set

When we use DPCM, we need to set dpcm_playback/capture flag.
If these flag are set, soc_get_playback_capture() will check its
availability, but non DPCM doesn't need such special flags.

OTOH, it cares playback/capture_only flag. It is needed.

This patch adds new assertion flag, and convert current dpcm_playback
dpcm_capture flag and playback/capture_only flag to it.

v2 -> v3
	- re-order patches
	- add new playback/capture_assertion flag
	  and covert both dpcm_xxx and xxx_only flag into it

v1 -> v2
	- based on latest ASoC branch
	- keep comment on Intel
	- tidyup patch title
	- tidyup DPCM BE warning output condition
	- Add new patch for Document

Link: https://lore.kernel.org/r/87o7b353of.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87zfuesz8y.wl-kuninori.morimoto.gx@renesas.com

Kuninori Morimoto (23):
  ASoC: soc-pcm: cleanup soc_get_playback_capture()
  ASoC: soc-pcm: indicate warning if DPCM BE Codec has no settings
  ASoC: soc-dai: remove snd_soc_dai_link_set_capabilities()
  ASoC: amd: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: fsl: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: sof: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: meson: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: Intel: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: mediatek: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: soc-core: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: soc-topology: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: soc-compress: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: Intel: avs: boards: Replace dpcm_playback/capture to playback/capture_assertion
  ASoC: ti: Replace playback/capture_only to playback/capture_assertion
  ASoC: amd: Replace playback/capture_only to playback/capture_assertion
  ASoC: fsl: Replace playback/capture_only to playback/capture_assertion
  ASoC: mxs: Replace playback/capture_only to playback/capture_assertion
  ASoC: atmel: Replace playback/capture_only to playback/capture_assertion
  ASoC: Intel: Replace playback/capture_only to playback/capture_assertion
  ASoC: samsung: Replace playback/capture_only to playback/capture_assertion
  ASoC: generic: Replace playback/capture_only to playback/capture_assertion
  ASoC: soc-pcm: remove dpcm_playback/capture and playback/capture_only
  ASoC: doc: Replace dpcm_playback/capture to playback/capture_assertion

 Documentation/sound/soc/dpcm.rst              |  10 +-
 include/sound/simple_card_utils.h             |   2 +-
 include/sound/soc-dai.h                       |   1 -
 include/sound/soc.h                           |  15 +-
 sound/soc/amd/acp-da7219-max98357a.c          |  20 +--
 sound/soc/amd/acp-es8336.c                    |   4 +-
 sound/soc/amd/acp/acp-mach-common.c           |  34 ++---
 sound/soc/amd/acp3x-rt5682-max9836.c          |   8 +-
 sound/soc/amd/ps/ps-mach.c                    |   2 +-
 sound/soc/amd/renoir/acp3x-rn.c               |   2 +-
 sound/soc/amd/vangogh/acp5x-mach.c            |  14 +-
 sound/soc/amd/yc/acp6x-mach.c                 |   2 +-
 sound/soc/atmel/sam9g20_wm8731.c              |   2 +-
 sound/soc/fsl/fsl-asoc-card.c                 |  20 +--
 sound/soc/fsl/imx-audmix.c                    |   8 +-
 sound/soc/fsl/imx-card.c                      |   7 +-
 sound/soc/fsl/imx-hdmi.c                      |  12 +-
 sound/soc/fsl/imx-rpmsg.c                     |  10 +-
 sound/soc/fsl/imx-spdif.c                     |  10 +-
 sound/soc/generic/audio-graph-card.c          |   2 -
 sound/soc/generic/audio-graph-card2.c         |  10 +-
 sound/soc/generic/simple-card-utils.c         |   6 +-
 sound/soc/generic/simple-card.c               |   2 -
 sound/soc/intel/avs/boards/da7219.c           |   4 +-
 sound/soc/intel/avs/boards/dmic.c             |   4 +-
 sound/soc/intel/avs/boards/es8336.c           |   4 +-
 sound/soc/intel/avs/boards/hdaudio.c          |   8 +-
 sound/soc/intel/avs/boards/i2s_test.c         |   4 +-
 sound/soc/intel/avs/boards/max98357a.c        |   2 +-
 sound/soc/intel/avs/boards/max98373.c         |   4 +-
 sound/soc/intel/avs/boards/max98927.c         |   4 +-
 sound/soc/intel/avs/boards/nau8825.c          |   4 +-
 sound/soc/intel/avs/boards/rt274.c            |   4 +-
 sound/soc/intel/avs/boards/rt286.c            |   4 +-
 sound/soc/intel/avs/boards/rt298.c            |   4 +-
 sound/soc/intel/avs/boards/rt5514.c           |   2 +-
 sound/soc/intel/avs/boards/rt5663.c           |   4 +-
 sound/soc/intel/avs/boards/rt5682.c           |   4 +-
 sound/soc/intel/avs/boards/ssm4567.c          |   4 +-
 sound/soc/intel/boards/bdw-rt5650.c           |   8 +-
 sound/soc/intel/boards/bdw-rt5677.c           |  10 +-
 sound/soc/intel/boards/bdw_rt286.c            |  14 +-
 sound/soc/intel/boards/bxt_da7219_max98357a.c |  34 ++---
 sound/soc/intel/boards/bxt_rt298.c            |  28 ++--
 sound/soc/intel/boards/bytcht_cx2072x.c       |  10 +-
 sound/soc/intel/boards/bytcht_da7213.c        |  10 +-
 sound/soc/intel/boards/bytcht_es8316.c        |  10 +-
 sound/soc/intel/boards/bytcht_nocodec.c       |  10 +-
 sound/soc/intel/boards/bytcr_rt5640.c         |  10 +-
 sound/soc/intel/boards/bytcr_rt5651.c         |  10 +-
 sound/soc/intel/boards/bytcr_wm5102.c         |  10 +-
 sound/soc/intel/boards/cht_bsw_max98090_ti.c  |  10 +-
 sound/soc/intel/boards/cht_bsw_nau8824.c      |  10 +-
 sound/soc/intel/boards/cht_bsw_rt5645.c       |  10 +-
 sound/soc/intel/boards/cht_bsw_rt5672.c       |  10 +-
 sound/soc/intel/boards/ehl_rt5660.c           |  16 +--
 sound/soc/intel/boards/glk_rt5682_max98357a.c |  32 ++---
 sound/soc/intel/boards/hsw_rt5640.c           |  14 +-
 sound/soc/intel/boards/kbl_da7219_max98357a.c |  28 ++--
 sound/soc/intel/boards/kbl_da7219_max98927.c  |  60 ++++----
 sound/soc/intel/boards/kbl_rt5660.c           |  20 +--
 sound/soc/intel/boards/kbl_rt5663_max98927.c  |  48 +++----
 .../intel/boards/kbl_rt5663_rt5514_max98927.c |  26 ++--
 sound/soc/intel/boards/skl_hda_dsp_common.c   |  18 +--
 .../soc/intel/boards/skl_nau88l25_max98357a.c |  28 ++--
 sound/soc/intel/boards/skl_nau88l25_ssm4567.c |  30 ++--
 sound/soc/intel/boards/skl_rt286.c            |  28 ++--
 sound/soc/intel/boards/sof_board_helpers.c    |  18 +--
 sound/soc/intel/boards/sof_es8336.c           |  10 +-
 sound/soc/intel/boards/sof_pcm512x.c          |   8 +-
 sound/soc/intel/boards/sof_sdw.c              |   4 +-
 sound/soc/intel/boards/sof_wm8804.c           |   4 +-
 sound/soc/mediatek/mt2701/mt2701-cs42448.c    |  30 ++--
 sound/soc/mediatek/mt2701/mt2701-wm8960.c     |   8 +-
 sound/soc/mediatek/mt6797/mt6797-mt6351.c     |  34 ++---
 sound/soc/mediatek/mt7986/mt7986-wm8960.c     |   8 +-
 sound/soc/mediatek/mt8173/mt8173-max98090.c   |   8 +-
 .../mediatek/mt8173/mt8173-rt5650-rt5514.c    |   8 +-
 .../mediatek/mt8173/mt8173-rt5650-rt5676.c    |  12 +-
 sound/soc/mediatek/mt8173/mt8173-rt5650.c     |  12 +-
 .../mediatek/mt8183/mt8183-da7219-max98357.c  |  40 +++---
 .../mt8183/mt8183-mt6358-ts3a227-max98357.c   |  40 +++---
 sound/soc/mediatek/mt8186/mt8186-mt6366.c     | 108 +++++++--------
 sound/soc/mediatek/mt8188/mt8188-mt6359.c     |  60 ++++----
 .../mt8192/mt8192-mt6359-rt1015-rt5682.c      |  86 ++++++------
 sound/soc/mediatek/mt8195/mt8195-mt6359.c     |  62 ++++-----
 sound/soc/meson/axg-card.c                    |   9 +-
 sound/soc/meson/gx-card.c                     |   1 -
 sound/soc/meson/meson-card-utils.c            |   4 +-
 sound/soc/mxs/mxs-sgtl5000.c                  |   4 +-
 sound/soc/qcom/common.c                       |   1 -
 sound/soc/samsung/odroid.c                    |  12 +-
 sound/soc/soc-compress.c                      |   8 +-
 sound/soc/soc-core.c                          |  15 +-
 sound/soc/soc-dai.c                           |  38 -----
 sound/soc/soc-pcm.c                           | 130 ++++++++++--------
 sound/soc/soc-topology-test.c                 |   4 +-
 sound/soc/soc-topology.c                      |   4 +-
 sound/soc/sof/nocodec.c                       |   4 +-
 sound/soc/ti/j721e-evm.c                      |   8 +-
 100 files changed, 789 insertions(+), 832 deletions(-)

Comments

Pierre-Louis Bossart April 22, 2024, 9:10 p.m. UTC | #1
Hi Morimoto-san,

> When we use DPCM, we need to set dpcm_playback/capture flag.
> If these flag are set, soc_get_playback_capture() will check its
> availability, but non DPCM doesn't need such special flags.
> 
> OTOH, it cares playback/capture_only flag. It is needed.
> 
> This patch adds new assertion flag, and convert current dpcm_playback
> dpcm_capture flag and playback/capture_only flag to it.

The Intel CI flags a regression on a CometLake "Helios" Chromebook with
this patchset

https://github.com/thesofproject/linux/pull/4937

Apr 19 14:01:22 jf-cml-hel-rt5682-07 kernel:  SSP1-Codec: SSP1-Codec
capture assertion check error
Apr 19 14:01:22 jf-cml-hel-rt5682-07 kernel: sof_rt5682 cml_rt5682_def:
ASoC: can't create pcm SSP1-Codec :-22

https://github.com/thesofproject/linux/pull/4937

I don't have any specific knowledge on this device, hope Brent Lu can
shed some light on what is so special about this SSP1.

Regards,
-Pierre