android_kernel_motorola_sm6225/sound
Stephan Gerhold 7acabcf1a5 ASoC: msm8916-wcd-digital: Reset RX interpolation path after use
commit 85578bbd642f65065039b1765ebe1a867d5435b0 upstream.

For some reason, attempting to route audio through QDSP6 on MSM8916
causes the RX interpolation path to get "stuck" after playing audio
a few times. In this situation, the analog codec part is still working,
but the RX path in the digital codec stops working, so you only hear
the analog parts powering up. After a reboot everything works again.

So far I was not able to reproduce the problem when using lpass-cpu.

The downstream kernel driver avoids this by resetting the RX
interpolation path after use. In mainline we do something similar
for the TX decimator (LPASS_CDC_CLK_TX_RESET_B1_CTL), but the
interpolator reset (LPASS_CDC_CLK_RX_RESET_CTL) got lost when the
msm8916-wcd driver was split into analog and digital.

Fix this problem by adding the reset to
msm8916_wcd_digital_enable_interpolator().

Fixes: 150db8c5af ("ASoC: codecs: Add msm8916-wcd digital codec")
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20200105102753.83108-1-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-23 08:21:27 +01:00
..
ac97 ALSA: ac97: Fix double free of ac97_codec_device 2019-07-31 07:27:11 +02:00
aoa ALSA: snd-aoa: add of_node_put() in error path 2018-06-29 20:35:14 +02:00
arm ASoC: pxa2xx-pcm-lib: fix indenting 2018-06-29 12:05:05 +01:00
atmel
core ALSA: timer: Limit max amount of slave instances 2019-12-31 16:35:40 +01:00
drivers ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration 2019-04-20 09:15:56 +02:00
firewire ALSA: firewire-motu: Correct a typo in the clock proc string 2020-01-09 10:19:02 +01:00
hda ALSA: hda: Fix mismatch for register mask and value in ext controller. 2019-11-24 08:19:47 +01:00
i2c ALSA: i2c/cs8427: Fix int to char conversion 2019-12-01 09:16:36 +01:00
isa ALSA: cs4236: fix error return comparison of an unsigned integer 2020-01-09 10:19:02 +01:00
mips ALSA: pcm: Nuke snd_pcm_lib_mmap_vmalloc() 2018-07-18 08:24:29 +02:00
oss treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
parisc
pci ALSA: hda/realtek - Add quirk for the bass speaker on Lenovo Yoga X1 7th gen 2020-01-14 20:06:59 +01:00
pcmcia Merge branch 'for-linus' into topic/virmidi 2018-07-29 22:39:29 +02:00
ppc powerpc/ps3: Set driver coherent_dma_mask 2018-07-20 12:50:37 +10:00
sh
soc ASoC: msm8916-wcd-digital: Reset RX interpolation path after use 2020-01-23 08:21:27 +01:00
sparc ALSA: sparc: Fix invalid snd_free_pages() at error path 2018-12-05 19:32:08 +01:00
spi
synth ALSA: emux: Fix potential Spectre v1 vulnerabilities 2019-01-09 17:38:36 +01:00
usb ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5 2020-01-14 20:06:58 +01:00
x86 ALSA: x86: Fix runtime PM for hdmi-lpe-audio 2019-03-27 14:14:41 +09:00
xen ALSA: xen: Use standard pcm_format_to_bits() for ALSA format bits 2018-07-27 09:05:34 +02:00
ac97_bus.c
Kconfig ALSA: xen-front: Introduce Xen para-virtualized sound frontend driver 2018-05-16 12:58:36 +02:00
last.c
Makefile ALSA: xen-front: Introduce Xen para-virtualized sound frontend driver 2018-05-16 12:58:36 +02:00
sound_core.c sound: fix a memory leak bug 2019-08-16 10:12:39 +02:00