mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
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:
@@ -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 |
|
||||
|
||||
Reference in New Issue
Block a user