Merge "ASoC: wcd: Fix ADSP based SVA mode detection failures"
This commit is contained in:
commit
f2ab5923b1
3 changed files with 5 additions and 10 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -607,8 +607,6 @@ static void wcd_cntl_do_shutdown(struct wcd_dsp_cntl *cntl)
|
||||||
/* Disable WDOG */
|
/* Disable WDOG */
|
||||||
snd_soc_update_bits(codec, WCD934X_CPE_SS_WDOG_CFG,
|
snd_soc_update_bits(codec, WCD934X_CPE_SS_WDOG_CFG,
|
||||||
0x3F, 0x01);
|
0x3F, 0x01);
|
||||||
snd_soc_update_bits(codec, WCD934X_CODEC_RPM_CLK_MCLK_CFG,
|
|
||||||
0x04, 0x00);
|
|
||||||
|
|
||||||
/* Put WDSP in reset state */
|
/* Put WDSP in reset state */
|
||||||
snd_soc_update_bits(codec, WCD934X_CPE_SS_CPE_CTL,
|
snd_soc_update_bits(codec, WCD934X_CPE_SS_CPE_CTL,
|
||||||
|
@ -633,11 +631,7 @@ static int wcd_cntl_do_boot(struct wcd_dsp_cntl *cntl)
|
||||||
if (cntl->debug_mode) {
|
if (cntl->debug_mode) {
|
||||||
snd_soc_update_bits(codec, WCD934X_CPE_SS_WDOG_CFG,
|
snd_soc_update_bits(codec, WCD934X_CPE_SS_WDOG_CFG,
|
||||||
0x3F, 0x01);
|
0x3F, 0x01);
|
||||||
snd_soc_update_bits(codec, WCD934X_CODEC_RPM_CLK_MCLK_CFG,
|
|
||||||
0x04, 0x00);
|
|
||||||
} else {
|
} else {
|
||||||
snd_soc_update_bits(codec, WCD934X_CODEC_RPM_CLK_MCLK_CFG,
|
|
||||||
0x04, 0x04);
|
|
||||||
snd_soc_update_bits(codec, WCD934X_CPE_SS_WDOG_CFG,
|
snd_soc_update_bits(codec, WCD934X_CPE_SS_WDOG_CFG,
|
||||||
0x3F, 0x21);
|
0x3F, 0x21);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2619,6 +2619,8 @@ static int __tavil_codec_enable_mad(struct snd_soc_codec *codec, bool enable)
|
||||||
/* Undo reset for MAD */
|
/* Undo reset for MAD */
|
||||||
snd_soc_update_bits(codec, WCD934X_CPE_SS_MAD_CTL,
|
snd_soc_update_bits(codec, WCD934X_CPE_SS_MAD_CTL,
|
||||||
0x02, 0x00);
|
0x02, 0x00);
|
||||||
|
snd_soc_update_bits(codec, WCD934X_CODEC_RPM_CLK_MCLK_CFG,
|
||||||
|
0x04, 0x04);
|
||||||
} else {
|
} else {
|
||||||
snd_soc_update_bits(codec, WCD934X_SOC_MAD_AUDIO_CTL_2,
|
snd_soc_update_bits(codec, WCD934X_SOC_MAD_AUDIO_CTL_2,
|
||||||
0x03, 0x00);
|
0x03, 0x00);
|
||||||
|
@ -2628,6 +2630,8 @@ static int __tavil_codec_enable_mad(struct snd_soc_codec *codec, bool enable)
|
||||||
/* Turn off MAD clk */
|
/* Turn off MAD clk */
|
||||||
snd_soc_update_bits(codec, WCD934X_CPE_SS_MAD_CTL,
|
snd_soc_update_bits(codec, WCD934X_CPE_SS_MAD_CTL,
|
||||||
0x01, 0x00);
|
0x01, 0x00);
|
||||||
|
snd_soc_update_bits(codec, WCD934X_CODEC_RPM_CLK_MCLK_CFG,
|
||||||
|
0x04, 0x00);
|
||||||
}
|
}
|
||||||
done:
|
done:
|
||||||
return rc;
|
return rc;
|
||||||
|
|
|
@ -262,9 +262,6 @@ static int wcd_resmgr_enable_clk_mclk(struct wcd9xxx_resmgr_v2 *resmgr)
|
||||||
wcd_resmgr_codec_reg_update_bits(resmgr,
|
wcd_resmgr_codec_reg_update_bits(resmgr,
|
||||||
WCD93XX_CDC_CLK_RST_CTRL_MCLK_CONTROL,
|
WCD93XX_CDC_CLK_RST_CTRL_MCLK_CONTROL,
|
||||||
0x01, 0x01);
|
0x01, 0x01);
|
||||||
wcd_resmgr_codec_reg_update_bits(resmgr,
|
|
||||||
WCD934X_CODEC_RPM_CLK_MCLK_CFG,
|
|
||||||
0x04, 0x04);
|
|
||||||
wcd_resmgr_codec_reg_update_bits(resmgr,
|
wcd_resmgr_codec_reg_update_bits(resmgr,
|
||||||
WCD93XX_CDC_CLK_RST_CTRL_MCLK_CONTROL,
|
WCD93XX_CDC_CLK_RST_CTRL_MCLK_CONTROL,
|
||||||
0x01, 0x01);
|
0x01, 0x01);
|
||||||
|
|
Loading…
Add table
Reference in a new issue