ASoC: rk3308_codec: fix anomalous playback during switch HPOUT and LINEOUT

Remove the incorrect POP SOUND steps during switch HPOUT
and LINEOUT.

Change-Id: Ibce70c1c779838fb46fbba2dde00c4eb7ab0d715
Reported-by: XiaoTan Luo <lxt@rock-chips.com>
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
This commit is contained in:
Xing Zheng
2020-04-24 10:45:08 +08:00
committed by Tao Huang
parent 813a815854
commit 0864cabb2b

View File

@@ -1856,15 +1856,6 @@ static int rk3308_codec_digital_fadeout(struct rk3308_codec_priv *rk3308)
static int rk3308_codec_dac_lineout_enable(struct rk3308_codec_priv *rk3308)
{
if (rk3308->codec_ver == ACODEC_VERSION_B) {
/* Step 04 */
regmap_update_bits(rk3308->regmap, RK3308_DAC_ANA_CON15,
RK3308_DAC_LINEOUT_POP_SOUND_L_MSK |
RK3308_DAC_LINEOUT_POP_SOUND_R_MSK,
RK3308_DAC_L_SEL_DC_FROM_INTERNAL |
RK3308_DAC_R_SEL_DC_FROM_INTERNAL);
}
/* Step 07 */
regmap_update_bits(rk3308->regmap, RK3308_DAC_ANA_CON04,
RK3308_DAC_L_LINEOUT_EN |
@@ -1874,17 +1865,6 @@ static int rk3308_codec_dac_lineout_enable(struct rk3308_codec_priv *rk3308)
udelay(20);
if (rk3308->codec_ver == ACODEC_VERSION_B) {
/* Step 10 */
regmap_update_bits(rk3308->regmap, RK3308_DAC_ANA_CON15,
RK3308_DAC_LINEOUT_POP_SOUND_L_MSK |
RK3308_DAC_LINEOUT_POP_SOUND_R_MSK,
RK3308_DAC_L_SEL_LINEOUT_FROM_INTERNAL |
RK3308_DAC_R_SEL_LINEOUT_FROM_INTERNAL);
udelay(20);
}
/* Step 19 */
regmap_update_bits(rk3308->regmap, RK3308_DAC_ANA_CON04,
RK3308_DAC_L_LINEOUT_UNMUTE |
@@ -1917,13 +1897,6 @@ static int rk3308_codec_dac_lineout_disable(struct rk3308_codec_priv *rk3308)
static int rk3308_codec_dac_hpout_enable(struct rk3308_codec_priv *rk3308)
{
/* Step 03 */
regmap_update_bits(rk3308->regmap, RK3308_DAC_ANA_CON01,
RK3308_DAC_HPOUT_POP_SOUND_L_MSK |
RK3308_DAC_HPOUT_POP_SOUND_R_MSK,
RK3308_DAC_HPOUT_POP_SOUND_L_WORK |
RK3308_DAC_HPOUT_POP_SOUND_R_WORK);
udelay(20);
/* Step 07 */
@@ -1958,13 +1931,6 @@ static int rk3308_codec_dac_hpout_enable(struct rk3308_codec_priv *rk3308)
static int rk3308_codec_dac_hpout_disable(struct rk3308_codec_priv *rk3308)
{
/* Step 03 */
regmap_update_bits(rk3308->regmap, RK3308_DAC_ANA_CON01,
RK3308_DAC_HPOUT_POP_SOUND_L_MSK |
RK3308_DAC_HPOUT_POP_SOUND_R_MSK,
RK3308_DAC_HPOUT_POP_SOUND_L_INIT |
RK3308_DAC_HPOUT_POP_SOUND_R_INIT);
/* Step 07 */
regmap_update_bits(rk3308->regmap, RK3308_DAC_ANA_CON03,
RK3308_DAC_L_HPOUT_EN |