linux/sound/soc/intel/boards
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
..
bdw-rt5677.c ASoC: Intel: bdw-rt5677: platform name fixup support 2019-01-28 18:07:55 +00:00
broadwell.c ASoC: Intel: broadwell: platform name fixup support 2019-01-28 18:07:46 +00:00
bxt_da7219_max98357a.c ASoC: Intel: glk: Add DAI links for Multi-Playback 2019-02-19 15:42:24 +00:00
bxt_rt298.c ASoC: Intel: bxt_rt298: platform name fixup support 2019-01-28 18:09:28 +00:00
byt-max98090.c ASoC: Intel: byt-max98090: Replace GFP_ATOMIC with GFP_KERNEL 2018-04-20 17:28:53 +01:00
byt-rt5640.c ASoC: rt5640: replace codec to component 2018-02-12 09:45:47 +00:00
bytcht_da7213.c ASoC: Intel: bytcht_da7213: platform name fixup support 2019-01-28 18:08:23 +00:00
bytcht_es8316.c ASoC: Intel: bytcht_es8316: platform name fixup support 2019-01-28 18:08:32 +00:00
bytcht_nocodec.c ASoC: Intel: boards: remove hard-coded compressed dailinks 2017-10-18 12:30:29 +01:00
bytcr_rt5640.c ASoC: Intel: bytcr_rt5640: platform name fixup support 2019-01-28 18:08:04 +00:00
bytcr_rt5651.c gpiolib: acpi: Introduce ACPI_GPIO_QUIRK_ONLY_GPIOIO 2019-02-08 17:29:51 +00:00
cht_bsw_max98090_ti.c ASoC: Intel: cht_bsw_max98090_ti: Enable codec clock once and keep it enabled 2019-04-03 11:37:10 +07:00
cht_bsw_nau8824.c ASoC: Intel: cht_bsw_nau8824: platform name fixup support 2019-01-28 18:08:51 +00:00
cht_bsw_rt5645.c ASoC: Intel: cht_bsw_rt5645: platform name fixup support 2019-01-28 18:09:01 +00:00
cht_bsw_rt5672.c ASoC: Intel: cht_bsw_rt5672: remove useless test 2019-01-29 15:48:11 +00:00
glk_rt5682_max98357a.c ASoC: Intel: glk_rt5682_max98357a: platform name fixup support 2019-01-28 18:09:37 +00:00
haswell.c ASoC: Intel: haswell: platform name fixup support 2019-01-28 18:07:36 +00:00
kbl_da7219_max98357a.c ASoC: intel: Fix snd_pcm_format_t handling 2018-07-26 17:09:06 +01:00
kbl_da7219_max98927.c ASoC: Intel: Boards: Add Maxim98373 support 2019-02-26 11:45:36 +00:00
kbl_rt5660.c ASoC: Intel: kbl_rt5660: Add a new machine driver for kbl with rt5660 2018-12-13 14:37:35 +00:00
kbl_rt5663_max98927.c ASoC: Intel: use platform_data for machine drivers 2018-11-20 16:58:52 +00:00
kbl_rt5663_rt5514_max98927.c ASoC: Intel: use platform_data for machine drivers 2018-11-20 16:58:52 +00:00
Kconfig ASoC: Intel: Boards: Add Maxim98373 support 2019-02-26 11:45:36 +00:00
Makefile ASoC: Intel: kbl_rt5660: Add a new machine driver for kbl with rt5660 2018-12-13 14:37:35 +00:00
skl_hda_dsp_common.c ASoC: hdac_hda: add asoc extension for legacy HDA codec drivers 2018-08-28 20:18:13 +01:00
skl_hda_dsp_common.h ASoC: hdac_hda: add asoc extension for legacy HDA codec drivers 2018-08-28 20:18:13 +01:00
skl_hda_dsp_generic.c ASoC: Intel: use platform_data for machine drivers 2018-11-20 16:58:52 +00:00
skl_nau88l25_max98357a.c ASoC: Intel: use platform_data for machine drivers 2018-11-20 16:58:52 +00:00
skl_nau88l25_ssm4567.c ASoC: Intel: use platform_data for machine drivers 2018-11-20 16:58:52 +00:00
skl_rt286.c ASoC: intel: Fix snd_pcm_format_t handling 2018-07-26 17:09:06 +01:00