linux/sound/soc
Viorel Suman 3c7a4c24bd
ASoC: codec: wm8960: complete discharge on BIAS OFF->STANDBY
On BIAS STANDBY->OFF transition the current implementation sleeps
600ms on suspend in order to discharge the chip. The suspend is
propagated from "snd_soc_suspend" call for all audio cards in a
serial fashion, thus in case of boards like i.MX8DXL EVK which has
3 distinct WM8960 codecs the total cumulated sleep on suspend is 1.8
seconds.

On the other hand the BIAS OFF->STANDBY transition happens
asynchronously with regard to "snd_soc_resume" - the call is
propagated from "soc_resume_deferred" which is just scheduled
from "snd_soc_resume", each card having its own work scheduled to
execute "soc_resume_deferred" call.

The patch performs discharge completion on BIAS OFF->STANDBY transition
so that the cumulated effect on suspend described above is avoided
and discharge is completed in paralel in case of multiple WM8960
codecs on the board.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Link: https://lore.kernel.org/r/20220208121727.4461-1-viorel.suman@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-14 12:52:58 +00:00
..
adi
amd ASoC: amd: renoir: Add check for acp configuration flags 2022-01-28 15:59:35 +00:00
atmel ASoC: ateml: Use dev_err_probe() helper 2021-12-20 12:47:12 +00:00
au1x ASoC: au1x: Convert to modern terminology for DAI clocking 2021-09-16 14:11:37 +01:00
bcm ASoC: bcm: Use platform_get_irq() to get the interrupt 2021-12-21 18:05:43 +00:00
cirrus ARM: SoC drivers for 5.16 2021-11-03 17:00:52 -07:00
codecs ASoC: codec: wm8960: complete discharge on BIAS OFF->STANDBY 2022-02-14 12:52:58 +00:00
dwc ASoC: dwc-i2s: Update to modern clocking terminology 2021-09-27 13:01:12 +01:00
fsl ASoC: fsl_sai: Enable combine mode soft 2022-02-08 13:38:06 +00:00
generic ASoC: simple-card-utils: Add new system-clock-fixed flag 2022-01-24 19:45:43 +00:00
hisilicon
img ASoC: img: Use dev_err_probe() helper 2021-12-20 12:47:16 +00:00
intel ASoC: Intel: bytcr_wm5102: use GFP_KERNEL 2022-02-11 10:31:25 +00:00
jz4740
kirkwood ASoC: kirkwood: Fix reference to PCM buffer address 2021-07-30 17:20:51 +01:00
mediatek ASoC: mediatek: fix unmet dependency on GPIOLIB for SND_SOC_DMIC 2022-01-19 16:47:37 +00:00
meson ASoC: Merge fixes 2021-12-31 13:23:28 +00:00
mxs ASoC: mxs: Use dev_err_probe() helper 2021-12-20 12:47:18 +00:00
pxa ALSA: pxa2xx: Use managed PCM buffer allocation 2021-08-04 08:08:21 +02:00
qcom ASoC: qcom: SC7280: Add machine driver 2022-02-10 13:14:49 +00:00
rockchip ASoC: rk3399_gru_sound: Wire up DP jack detection 2022-01-28 15:59:27 +00:00
samsung ASoC: samsung: Explicitly include gpiolib header 2022-02-03 11:31:00 +00:00
sh ASoC: sh: rz-ssi: Remove duplicate macros 2022-01-25 13:55:18 +00:00
sof ASoC: SOF: compr: Mark snd_compress_ops static 2022-02-11 10:31:26 +00:00
spear
sprd ASoC: sprd: Use managed buffer allocation 2021-08-04 08:10:27 +02:00
sti
stm ASoC: stm: Use dev_err_probe() helper 2021-12-20 12:47:23 +00:00
sunxi ASoC: sun4i-i2s: Add support for the R329/D1 variant 2022-02-03 11:30:57 +00:00
tegra ASoC: tegra: Update AHUB driver for Tegra234 2022-01-28 13:05:26 +00:00
ti ASoC: ti: Use dev_err_probe() helper 2021-12-20 12:47:13 +00:00
uniphier ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA 2021-11-25 11:54:30 +00:00
ux500 ASoC: ux500: mop500: Constify static snd_soc_ops 2021-09-29 13:06:38 +01:00
xilinx ASoC: xilinx: xlnx_i2s: Handle sysclk setting 2022-01-24 19:45:38 +00:00
xtensa
Kconfig ASoC: topology: Select SND_DYNAMIC_MINORS 2021-07-27 13:13:04 +01:00
Makefile
soc-ac97.c ASoC: soc-ac97: cleanup cppcheck warning 2021-08-16 13:29:36 +01:00
soc-acpi.c ASoC: soc-acpi: Set mach->id field on comp_ids matches 2021-11-22 15:40:01 +00:00
soc-card.c
soc-component.c ASoC: soc-component: add snd_soc_pcm_component_delay() 2021-11-29 12:19:41 +00:00
soc-compress.c ASoC: compress/component: Use module_get_when_open/put_when_close for cstream 2021-09-20 13:30:18 +01:00
soc-core.c ASoC: core: Add snd_soc_of_parse_pin_switches() from simple-card-utils 2021-12-23 18:34:23 +00:00
soc-dai.c ASoC: soc-dai: update snd_soc_dai_delay() to snd_soc_pcm_dai_delay() 2021-11-29 12:19:40 +00:00
soc-dapm.c ASoC: DAPM: Cover regression by kctl change notification fix 2021-11-05 12:58:12 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc-generic-dmaengine-pcm: separate max_buffer_size assignment 2022-01-24 13:31:57 +00:00
soc-jack.c ASoC: soc-jack: cleanup cppcheck warning for CONFIG_GPIOLIB 2021-08-16 13:29:34 +01:00
soc-link.c
soc-ops.c ASoC: soc-ops: cleanup cppcheck warning at snd_soc_put_xr_sx() 2021-08-03 18:27:14 +01:00
soc-pcm.c ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE 2021-12-14 17:15:48 +00:00
soc-topology-test.c
soc-topology.c ASoC: topology: Optimize soc_tplg_dapm_graph_elems_load behavior 2022-01-24 13:31:23 +00:00
soc-utils.c ASoC: Stop dummy from overriding hwparams 2021-10-29 16:49:45 +01:00