linux/sound/soc
Tony Lindgren 0dedbde506
ASoC: cpcap: Implement set_tdm_slot for voice call support
ASoC: cpcap: Implement set_tdm_slot for voice call support

For using cpcap for voice calls, we need to route audio directly from
the modem to cpcap for TDM (Time Division Multiplexing). The voice call
is direct data between the modem and cpcap with no CPU involvment. In
this mode, the cpcap related audio mixer controls work for the speaker
selection and volume though.

To do this, we need to implement standard snd_soc_dai_set_tdm_slot()
for cpcap. Then the modem codec driver can use snd_soc_dai_set_sysclk(),
snd_soc_dai_set_fmt(), and snd_soc_dai_set_tdm_slot() to configure a
voice call.

Let's add cpcap_voice_set_tdm_slot() for this, and cpcap_voice_call()
helper to configure the additional registers needed for voice call.

Let's also clear CPCAP_REG_VAUDIOC on init in case we have the bit for
CPCAP_BIT_VAUDIO_MODE0 set on init.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Link: https://lore.kernel.org/r/20210112174704.GA13496@duo.ucw.cz
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-01-19 14:09:24 +00:00
..
adi ASoc: adi: Kconfig: Remove depends on for ADI reference designs 2020-11-17 17:08:42 +00:00
amd ASoC: rt1015: remove bclk_ratio 2021-01-05 14:34:18 +00:00
atmel ASoC: atmel-pdc: Use managed DMA buffer allocation 2021-01-13 11:36:15 +00:00
au1x
bcm ASoC: bcm: cygnus: Use managed DMA buffer allocation 2021-01-13 11:36:16 +00:00
cirrus
codecs ASoC: cpcap: Implement set_tdm_slot for voice call support 2021-01-19 14:09:24 +00:00
dwc
fsl ASoC: fsl_aud2htx: select SND_SOC_IMX_PCM_DMA 2021-01-04 14:25:00 +00:00
generic ASoC: Fix 7/8 spaces indentation in Kconfig 2020-11-17 17:08:45 +00:00
hisilicon
img
intel Merge series "ASoC: Intel: bytcr_rt5640: Add support for devices with only a headphone jack (no speakers/mic)" from Hans de Goede <hdegoede@redhat.com>: 2021-01-12 16:40:28 +00:00
jz4740 Merge remote-tracking branch 'asoc/for-5.11' into asoc-next 2020-12-11 17:48:04 +00:00
kirkwood ASoC: kirkwood: Use managed DMA buffer allocation 2021-01-13 11:36:16 +00:00
mediatek ASoC: rt1015: remove bclk_ratio 2021-01-05 14:34:18 +00:00
meson ASoC: meson: Use managed DMA buffer allocation 2020-12-28 12:24:46 +00:00
mxs
pxa ASoC: mmp-sspa: set phase two word length register 2020-11-20 13:49:08 +00:00
qcom Merge series "ASoC: qcom: Minor code cleanups for lpass-cpu" from Stephen Boyd <swboyd@chromium.org>: 2021-01-15 17:13:12 +00:00
rockchip ASoC: rockchip: mark OF related data as maybe unused 2020-11-26 13:07:07 +00:00
samsung ASoC: samsung: smdk_wm8994: remove redundant of_match_ptr() 2020-11-26 13:07:33 +00:00
sh ASoC: rsnd: don't call clk_disable_unprepare() if can't use 2020-12-17 14:24:42 +00:00
sirf
sof ASoC: SOF: Intel: initial support to AlderLake-P 2021-01-18 14:02:51 +00:00
spear
sprd ASoC: sprd: Switch to use list_entry_is_head() helper 2020-12-28 12:24:45 +00:00
sti
stm Staging / IIO driver patches for 5.11-rc1 2020-12-15 14:18:40 -08:00
sunxi ASoC: sunxi: do not select COMMON_CLK to fix builds 2020-11-19 13:00:01 +00:00
tegra ASoC: tegra: Don't warn on probe deferral 2020-11-11 12:35:10 +00:00
ti ASoC: Updates for v5.11 2020-12-14 15:57:14 +01:00
uniphier ASoC: uniphier: mark OF related data as maybe unused 2020-11-26 13:07:09 +00:00
ux500
xilinx
xtensa
zte
Kconfig ASoC: txx9: Remove driver 2021-01-06 13:08:00 +00:00
Makefile ASoC: txx9: Remove driver 2021-01-06 13:08:00 +00:00
soc-ac97.c
soc-acpi.c
soc-card.c
soc-component.c ASoC: soc-pcm: care trigger rollback 2020-12-09 12:13:38 +00:00
soc-compress.c ASoC: soc-compress: add soc_compr_clean() and call it from soc_compr_open/free() 2020-11-26 13:09:37 +00:00
soc-core.c Auxiliary Bus support tag for 5.11-rc1 2020-12-04 20:39:45 +00:00
soc-dai.c ASoC: soc-pcm: care trigger rollback 2020-12-09 12:13:38 +00:00
soc-dapm.c ASoC: dapm: remove widget from dirty list on free 2020-12-15 13:29:01 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Document support for TX only or RX only streams 2020-10-09 15:11:20 +01:00
soc-jack.c
soc-link.c ASoC: soc-pcm: care trigger rollback 2020-12-09 12:13:38 +00:00
soc-ops.c
soc-pcm.c ASoC: soc-pcm: cleanup soc_pcm_apply_symmetry() 2021-01-13 11:33:12 +00:00
soc-topology.c ASoC: topology: Fix wrong size check 2020-12-11 13:23:01 +00:00
soc-utils.c