linux/sound/soc
Jenny TC bc0a7dbc5a
ASoC: dmic: introduce mode switch delay
On startup, applications such as PulseAudio or CRAS enable playback or
capture on all PCM devices to verify that configurations are correct,
and close them immediately. For DMICs, this can result in the clock
being turned off very quickly, which may not compatible with internal
state machine transition requirements.

This patch add a mode-switch delay which will prevent the clock from
being turned off without complying with manufacturer timing
specifications. While the DMIC clock may be controlled at a lower level,
be it with hardware or firmware, applying the delay during the
STOP_TRIGGER phase ensures that there is no race condition, e.g. with
the hardware/firmware turning off the clock earlier

Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Signed-off-by: Jairaj Arava <jairaj.arava@intel.com>
Signed-off-by: Harsha Priya <harshapriya.n@intel.com>
Signed-off-by: Jenny TC <jenny.tc@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-11-28 15:19:31 +00:00
..
adi
amd ASoC: amd: Fix a NULL vs IS_ERR() check in probe 2018-11-26 12:22:56 +00:00
atmel ASoC: atmel: add SND_SOC_I2C_AND_SPI dependency 2018-09-27 23:22:40 +01:00
au1x treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
bcm ASoC: bcm: use devm_snd_soc_register_component() 2018-09-10 15:13:12 +01:00
cirrus ASoC: cirrus: i2s: IRQ-based stream watchdog 2018-05-11 11:27:33 +09:00
codecs ASoC: dmic: introduce mode switch delay 2018-11-28 15:19:31 +00:00
davinci ASoC: davinci-mcasp: Implement configurable dismod handling 2018-11-28 12:41:31 +00:00
dwc
fsl ASoC: fsl_ssi: Change to use DEFINE_SHOW_ATTRIBUTE macro 2018-11-07 14:59:37 +00:00
generic ASoC: audio-graph-card: tidyup define position 2018-11-23 14:01:56 +00:00
hisilicon ASoC: hisilicon: fix fall-through annotations 2018-09-17 10:30:23 -07:00
img treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
intel ASoC: Intel: Skylake: Add FW reply for MCLK/SCLK IPC 2018-11-28 12:36:44 +00:00
jz4740
kirkwood ASoC: Remove depends on HAS_DMA in case of platform dependency 2018-04-18 11:17:09 +01:00
mediatek ASoC: Convert a few more users to using %pOFn instead of device_node.name 2018-11-16 19:07:35 -08:00
meson ASoC: add for_each_card_prelinks() macro 2018-09-20 10:18:34 -07:00
mxs
nuc900 ASoC: nuc900: use devm_snd_soc_register_component() 2018-09-10 15:14:14 +01:00
omap ASoC: omap-mcbsp: No need to initialize max_xx_thres when it is not used 2018-11-13 09:50:32 -08:00
pxa ASoC: pxa: change ac97 dependencies 2018-11-06 17:23:24 +00:00
qcom ASoC: qcom: sdm845: Create and setup jack in init callback 2018-11-28 15:19:30 +00:00
rockchip ASoC: remove unneeded static set .owner field in platform_driver 2018-09-12 10:52:25 +01:00
samsung ASoC: add for_each_card_prelinks() macro 2018-09-20 10:18:34 -07:00
sh ASoC: rsnd: makes rsnd_ssi_is_dma_mode() static 2018-11-21 13:27:35 +00:00
sirf ASoC: sirf: Fix potential NULL pointer dereference 2018-07-30 12:02:30 +01:00
spear
sti ASoC: sti: Use snd_pcm_stop_xrun() helper 2018-07-04 15:41:35 +01:00
stm ASoC: Convert a few more users to using %pOFn instead of device_node.name 2018-11-16 19:07:35 -08:00
sunxi ASoC: sunxi: sun50i-codec-analog: Add support for cpvdd regulator supply 2018-11-23 14:01:34 +00:00
tegra ASoC: tegra_sgtl5000: fix device_node refcounting 2018-10-17 19:51:22 +01:00
txx9 ASoC: txx9: use devm_snd_soc_register_component() 2018-09-10 15:14:47 +01:00
uniphier ASoC: uniphier: change functions to static 2018-07-30 12:02:32 +01:00
ux500
xtensa
zte ASoC: zte: Fix incorrect PCM format bit usages 2018-07-26 15:48:19 +01:00
Kconfig ASoC: meson: add axg fifo base driver 2018-07-18 13:08:36 +01:00
Makefile ASoC: meson: add axg fifo base driver 2018-07-18 13:08:36 +01:00
soc-ac97.c ASoC: ac97: convert to SPDX identifiers 2018-07-02 10:56:09 +01:00
soc-acpi.c ASoC: soc-acpi: convert to SPDX identifiers 2018-07-02 10:55:27 +01:00
soc-compress.c ASoC: add for_each_dpcm_be() macro 2018-09-20 10:31:20 -07:00
soc-core.c ASoC: soc-core: add snd_soc_of_parse_node_prefix() 2018-11-23 14:01:47 +00:00
soc-dapm.c ASoC: dapm: Add support for hw_free on CODEC to CODEC links 2018-10-19 13:08:27 +01:00
soc-devres.c ASoC: soc-devres.c: convert to SPDX identifiers 2018-07-02 10:55:22 +01:00
soc-generic-dmaengine-pcm.c DMAengine updates for v4.19-rc1 2018-08-18 15:55:59 -07:00
soc-io.c ASoC: soc-io.c: convert to SPDX identifiers 2018-07-02 10:53:55 +01:00
soc-jack.c ASoC: soc-jack.c: convert to SPDX identifiers 2018-07-02 10:55:12 +01:00
soc-ops.c ASoC: Fix UBSAN warning at snd_soc_get/put_volsw_sx() 2018-09-11 11:58:52 +01:00
soc-pcm.c ASoC: add for_each_dpcm_be() macro 2018-09-20 10:31:20 -07:00
soc-topology.c ASoC: topology: Use the standard fall-through annotations 2018-10-05 12:38:22 +01:00
soc-utils.c ASoC: soc-utils: Rename dummy_dma_ops to snd_dummy_dma_ops 2018-09-27 23:15:46 +01:00