ASoC: sdm660_cdc: Fix pop after PDR on SDM660 internal codec

Pop is heard after PDR is triggered. This is
resolved by disable PA before boost is discharged.

CRs-Fixed: 2186640
Change-Id: Ie48668725f5162251cf09215f9448a6965fac3e2
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
This commit is contained in:
Vatsal Bucha 2018-04-30 12:49:34 +05:30
parent 1cbd1cdf84
commit c97bf10fd2

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*
* 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
@ -3794,12 +3794,11 @@ static int msm_anlg_cdc_device_down(struct snd_soc_codec *codec)
}
msm_anlg_cdc_boost_off(codec);
sdm660_cdc_priv->hph_mode = NORMAL_MODE;
/* 40ms to allow boost to discharge */
msleep(40);
/* Disable PA to avoid pop during codec bring up */
snd_soc_update_bits(codec, MSM89XX_PMIC_ANALOG_RX_HPH_CNP_EN,
0x30, 0x00);
/* 40ms to allow boost to discharge */
msleep(40);
snd_soc_update_bits(codec, MSM89XX_PMIC_ANALOG_SPKR_DRV_CTL,
0x80, 0x00);
snd_soc_write(codec,