linux/sound/soc
Ben Zhang ee0be4a99d
ASoC: rt5677: Disable irq at suspend
The irq is disabled at suspend to avoid running the threaded irq
handler after the codec has been powered off. At resume, codec irq is
re-enabled and the interrupt status register is checked to see if
headphone has been pluggnd/unplugged while the device is suspended.

There is still a chance that the headphone gets enabled or disabled
after the codec is suspended. disable_irq syncs the threaded irq
handler, but soc-jack's threaded irq handler schedules a delayed
work to poll gpios (for debounce). This is still OK. The codec won't
be powered back on again because all audio paths have been suspended,
and there are no force enabled supply widgets (MICBIAS1 is disabled).
The gpio status read after codec power off could be wrong, so the
gpio values are checked again after resume.

Signed-off-by: Ben Zhang <benzh@chromium.org>
Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
Link: https://lore.kernel.org/r/20191106011335.223061-8-cujomalainey@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-11-11 13:02:04 +00:00
..
adi
amd ASoC: amd: acp-pcm-dma: remove snd_pcm_ops 2019-10-08 13:42:38 +01:00
atmel ASoC: atmel: atmel-pcm-pdc: remove snd_pcm_ops 2019-10-08 13:42:57 +01:00
au1x ASoC: au1x: dma: remove snd_pcm_ops 2019-10-08 13:43:14 +01:00
bcm ASoC: bcm: cygnus-pcm: remove snd_pcm_ops 2019-10-08 13:49:12 +01:00
cirrus ASoC: ep93xx: use devm_platform_ioremap_resource() to simplify code 2019-09-04 13:48:22 +01:00
codecs ASoC: rt5677: Disable irq at suspend 2019-11-11 13:02:04 +00:00
dwc ASoC: dwc: dwc-pcm: remove snd_pcm_ops 2019-10-08 13:48:35 +01:00
fsl ASoC: fsl_audmix: Add spin lock to protect tdms 2019-11-11 13:01:37 +00:00
generic ASoC: audio-graph: fixup graph_dai_link_of_dpcm() comment 2019-10-15 10:13:29 +01:00
hisilicon
img
intel ASoC: bdw-rt5677: Add a DAI link for rt5677 SPI PCM device 2019-11-11 13:01:59 +00:00
jz4740 ASoC: jz4740: Remove unused match variable 2019-10-09 10:58:01 +01:00
kirkwood Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
mediatek ASoC: mediatek: Check SND_SOC_CROS_EC_CODEC dependency 2019-10-23 17:45:34 +01:00
meson ASoC: meson: remove snd_pcm_ops 2019-10-08 13:47:40 +01:00
mxs
pxa ASoC: pxa: poodle: Spelling s/enpoints/endpoints/, s/connetion/connection/ 2019-10-25 11:07:15 +01:00
qcom ASoC: qcom: q6asm-dai: remove snd_pcm_ops 2019-10-08 13:47:00 +01:00
rockchip Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
samsung ASoC: samsung: idma: remove snd_pcm_ops 2019-10-08 13:46:14 +01:00
sh Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
sirf
sof ASoC: SOF: Intel: hda: set L1SEN on S0ix suspend 2019-11-08 12:10:08 +00:00
spear
sprd ASoC: sprd: sprd-pcm-dma: remove snd_pcm_ops 2019-10-08 13:44:40 +01:00
sti
stm Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
sunxi ASoC: sunxi: sun4i-codec: remove unneeded semicolon 2019-10-28 13:12:39 +00:00
tegra ASoC: tegra: disable rx_fifo after disable stream 2019-10-25 11:07:33 +01:00
ti Merge branch 'for-5.4' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.5 2019-11-06 16:29:34 +00:00
txx9 ASoC: txx9: txx9aclc: remove snd_pcm_ops 2019-10-08 13:44:23 +01:00
uniphier ASoC: uniphier: aio-dma: remove snd_pcm_ops 2019-10-08 13:44:05 +01:00
ux500 ASoC: ux500: Remove redundant variable "status" 2019-11-04 13:22:25 +00:00
xilinx ASoC: xilinx: xlnx_formatter_pcm: remove snd_pcm_ops 2019-10-08 13:43:44 +01:00
xtensa ASoC: xtensa: xtfpga-i2s: remove snd_pcm_ops 2019-10-08 13:43:25 +01:00
zte
Kconfig
Makefile
soc-ac97.c
soc-acpi.c
soc-component.c ASoC: soc-core: add for_each_rtd_components() and replace 2019-10-23 17:44:24 +01:00
soc-compress.c ASoC: soc-core: add for_each_rtd_components() and replace 2019-10-23 17:44:24 +01:00
soc-core.c ASoC: soc-core: fixup dead-lock at snd_soc_unregister_component() 2019-11-06 15:32:40 +00:00
soc-dai.c
soc-dapm.c ASoC: soc-core: add snd_soc_dapm_init() 2019-09-02 13:21:20 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc-generic-dmaengine-pcm: remove snd_pcm_ops 2019-10-08 13:50:25 +01:00
soc-io.c
soc-jack.c
soc-ops.c ASoC: soc-ops: use snd_soc_card_get_kcontrol() at snd_soc_limit_volume() 2019-10-03 14:37:20 +01:00
soc-pcm.c ASoC: core: Fix compile warning with CONFIG_DEBUG_FS=n 2019-11-08 12:02:18 +00:00
soc-topology.c ASoC: soc-core: don't call snd_soc_dapm_new_dai_widgets() at snd_soc_register_dai() 2019-11-05 23:50:49 +00:00
soc-utils.c ASoC: soc-utils: remove snd_pcm_ops 2019-10-08 13:50:43 +01:00