linux/sound
Hans de Goede 4bcdec39c4
ASoC: Intel: cht_bsw_max98090_ti: Enable codec clock once and keep it enabled
Users have been seeing sound stability issues with max98090 codecs since:
commit 648e921888 ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL")

At first that commit broke sound for Chromebook Swanky and Clapper models,
the problem was that the machine-driver has been controlling the wrong
clock on those models since support for them was added. This was hidden by
clk-pmc-atom.c keeping the actual clk on unconditionally.

With the machine-driver controlling the proper clock, sound works again
but we are seeing bug reports describing it as: low volume,
"sounds like played at 10x speed" and instable.

When these issues are hit the following message is seen in dmesg:
"max98090 i2c-193C9890:00: PLL unlocked".

Attempts have been made to fix this by inserting a delay between enabling
the clk and enabling and checking the pll, but this has not helped.

It seems that at least on boards which use pmc_plt_clk_0 as clock,
if we ever disable the clk, the pll looses its lock and after that we get
various issues.

This commit fixes this by enabling the clock once at probe time on
these boards. In essence this restores the old behavior of clk-pmc-atom.c
always keeping the clk on on these boards.

Fixes: 648e921888 ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL")
Reported-by: Mogens Jensen <mogens-jensen@protonmail.com>
Reported-by: Dean Wallace <duffydack73@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-04-03 11:37:10 +07:00
..
ac97 ALSA: ac97: Fix of-node refcount unbalance 2019-02-19 22:20:14 +01:00
aoa ALSA: aoa: Fix of-node refcount unbalance 2019-02-19 22:20:45 +01:00
arm ALSA: arm: Avoid passing NULL to memory allocators 2019-02-04 16:51:46 +01:00
atmel ALSA: atmel: Drop superfluous PCM preallocation error checks 2019-02-06 10:28:39 +01:00
core ALSA: pcm: Comment why read blocks when PCM is not running 2019-02-13 08:01:05 +01:00
drivers ALSA: drivers: Clean up with new procfs helpers 2019-02-06 18:11:55 +01:00
firewire ALSA: firewire-motu: fix construction of PCM frame for capture direction 2019-02-26 07:11:40 +01:00
hda sound fixes for 5.1-rc1 2019-03-15 14:05:00 -07:00
i2c ALSA: i2c: Clean up with new procfs helpers 2019-02-06 18:11:56 +01:00
isa ALSA: es1688: Remove set but not used variable 'hw' 2019-02-14 08:55:00 +01:00
mips ALSA: mips: pass struct device to DMA API functions 2019-02-01 17:15:44 +01:00
oss treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
parisc ALSA: parisc: Drop superfluous PCM preallocation error checks 2019-02-06 10:29:03 +01:00
pci ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB 2019-03-14 10:31:02 +01:00
pcmcia ALSA: pcmcia: Clean up with new procfs helpers 2019-02-06 18:11:57 +01:00
ppc ALSA: ppc: Fix of-node refcount unbalance 2019-02-19 22:20:46 +01:00
sh ALSA: sh: Drop superfluous PCM preallocation error checks 2019-02-06 10:29:24 +01:00
soc ASoC: Intel: cht_bsw_max98090_ti: Enable codec clock once and keep it enabled 2019-04-03 11:37:10 +07:00
sparc ASoC: Updates for v5.1 2019-02-08 14:20:32 +01:00
spi ALSA: spi: Drop superfluous PCM preallocation error checks 2019-02-06 10:29:36 +01:00
synth ALSA: emux: Remove superfluous snd_info_register() calls 2019-02-06 18:11:53 +01:00
usb ALSA: usx2y: Fix potential NULL pointer dereference 2019-03-13 11:27:06 +01:00
x86 ALSA: x86: Avoid passing NULL to memory allocators 2019-02-04 16:51:34 +01:00
xen ALSA: xen-front: Use Xen common shared buffer implementation 2018-12-18 12:19:37 -05: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: Use octal not symbolic permissions 2018-05-28 11:27:20 +02:00