mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
ASoC: rt5651: Enable Platform Clock during jack-type detect
When using RCCLK instead of MCLK / PLL1 the OVCD status often gets stuck at its last value, which breaks jack-type detection. This commit fixes this by force-enabling the platform clock when doing jack-type detection. Tested-by: Carlo Caione <carlo@endlessm.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
1b1ad83539
commit
4b4a373c02
@ -1563,6 +1563,8 @@ static void rt5651_enable_micbias1_for_ovcd(struct snd_soc_component *component)
|
||||
snd_soc_dapm_mutex_lock(dapm);
|
||||
snd_soc_dapm_force_enable_pin_unlocked(dapm, "LDO");
|
||||
snd_soc_dapm_force_enable_pin_unlocked(dapm, "micbias1");
|
||||
/* OVCD is unreliable when used with RCCLK as sysclk-source */
|
||||
snd_soc_dapm_force_enable_pin_unlocked(dapm, "Platform Clock");
|
||||
snd_soc_dapm_sync_unlocked(dapm);
|
||||
snd_soc_dapm_mutex_unlock(dapm);
|
||||
}
|
||||
@ -1572,6 +1574,7 @@ static void rt5651_disable_micbias1_for_ovcd(struct snd_soc_component *component
|
||||
struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
|
||||
|
||||
snd_soc_dapm_mutex_lock(dapm);
|
||||
snd_soc_dapm_disable_pin_unlocked(dapm, "Platform Clock");
|
||||
snd_soc_dapm_disable_pin_unlocked(dapm, "micbias1");
|
||||
snd_soc_dapm_disable_pin_unlocked(dapm, "LDO");
|
||||
snd_soc_dapm_sync_unlocked(dapm);
|
||||
|
Loading…
Reference in New Issue
Block a user