From 0864cabb2ba2bb7d61bbfdec811e8c03471ec581 Mon Sep 17 00:00:00 2001 From: Xing Zheng Date: Fri, 24 Apr 2020 10:45:08 +0800 Subject: [PATCH] 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 Signed-off-by: Xing Zheng --- sound/soc/codecs/rk3308_codec.c | 34 --------------------------------- 1 file changed, 34 deletions(-) diff --git a/sound/soc/codecs/rk3308_codec.c b/sound/soc/codecs/rk3308_codec.c index 51346beb65aa..d1213b954d14 100644 --- a/sound/soc/codecs/rk3308_codec.c +++ b/sound/soc/codecs/rk3308_codec.c @@ -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 |