From d789e5713257c7ee4bda921a78479865f61f6766 Mon Sep 17 00:00:00 2001 From: Vatsal Bucha Date: Fri, 27 Dec 2019 13:02:43 +0530 Subject: [PATCH] ASoC: wcd938x: Disable ear path at power down Ear Path is not disabled properly disabled at power down. Disable clk and other registers depending on whether ear takes aux or hph path at pwd. Change-Id: I987904ddd9bf21b9ed96e754e6eb2514b4d277ce Signed-off-by: Vatsal Bucha --- asoc/codecs/wcd938x/wcd938x.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/asoc/codecs/wcd938x/wcd938x.c b/asoc/codecs/wcd938x/wcd938x.c index bde873cf8797..6dc5ec461ea9 100644 --- a/asoc/codecs/wcd938x/wcd938x.c +++ b/asoc/codecs/wcd938x/wcd938x.c @@ -695,6 +695,15 @@ static int wcd938x_codec_ear_dac_event(struct snd_soc_dapm_widget *w, if (wcd938x->ear_rx_path & EAR_RX_PATH_AUX) { snd_soc_component_update_bits(component, WCD938X_DIGITAL_CDC_AUX_GAIN_CTL, 0x01, 0x00); + snd_soc_component_update_bits(component, + WCD938X_DIGITAL_CDC_DIG_CLK_CTL, 0x04, 0x00); + } else { + snd_soc_component_update_bits(component, + WCD938X_DIGITAL_CDC_HPH_GAIN_CTL, 0x04, 0x00); + snd_soc_component_update_bits(component, + WCD938X_DIGITAL_CDC_DIG_CLK_CTL, 0x01, 0x00); + snd_soc_component_update_bits(component, + WCD938X_DIGITAL_CDC_COMP_CTL_0, 0x02, 0x00); } snd_soc_component_update_bits(component, WCD938X_ANA_EAR_COMPANDER_CTL, 0x80, 0x00); @@ -2763,7 +2772,6 @@ static const struct snd_kcontrol_new wcd938x_snd_controls[] = { wcd938x_get_compander, wcd938x_set_compander), SOC_SINGLE_EXT("HPHR_COMP Switch", SND_SOC_NOPM, 1, 1, 0, wcd938x_get_compander, wcd938x_set_compander), - SOC_SINGLE_EXT("LDOH Enable", SND_SOC_NOPM, 0, 1, 0, wcd938x_ldoh_get, wcd938x_ldoh_put),