ASoC: wcd9xxx: Fix codec regulator override

Fix regulator override functionality to
remove mute check for overriding to class
AB from class H. Add check to vneg_ctl
function to execute only for Tasha.

CRs-fixed: 1099810
Change-Id: I082027fc6347ae98b6fd3fe0d5aadac805fb0b84
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
This commit is contained in:
Karthikeyan Mani 2016-12-09 16:39:42 -08:00
parent 3c45c2a8a2
commit 50ff05affc
2 changed files with 7 additions and 6 deletions

View file

@ -1880,12 +1880,8 @@ static void tavil_codec_override(struct snd_soc_codec *codec, int mode,
if (mode == CLS_AB || mode == CLS_AB_HIFI) {
switch (event) {
case SND_SOC_DAPM_POST_PMU:
if (!(snd_soc_read(codec,
WCD934X_CDC_RX2_RX_PATH_CTL) & 0x10) &&
(!(snd_soc_read(codec,
WCD934X_CDC_RX1_RX_PATH_CTL) & 0x10)))
snd_soc_update_bits(codec,
WCD9XXX_A_ANA_RX_SUPPLIES, 0x02, 0x02);
snd_soc_update_bits(codec,
WCD9XXX_A_ANA_RX_SUPPLIES, 0x02, 0x02);
break;
case SND_SOC_DAPM_POST_PMD:
snd_soc_update_bits(codec,

View file

@ -579,6 +579,11 @@ static void wcd_clsh_set_hph_mode(struct snd_soc_codec *codec,
static void wcd_clsh_set_flyback_vneg_ctl(struct snd_soc_codec *codec,
bool enable)
{
struct wcd9xxx *wcd9xxx = dev_get_drvdata(codec->dev->parent);
if (!TASHA_IS_2_0(wcd9xxx))
return;
if (enable) {
snd_soc_update_bits(codec, WCD9XXX_FLYBACK_VNEG_CTRL_1, 0xE0,
0x00);