From d7e2d6f6997d93710d2dee4fcac18ab2ca8ac0d9 Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Sun, 7 Oct 2012 16:26:50 +0800 Subject: [PATCH] rk2928:acodec: add delay to avoid pop sound. --- sound/soc/codecs/rk2928_codec.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sound/soc/codecs/rk2928_codec.c b/sound/soc/codecs/rk2928_codec.c index 14ab7375d005..736337305353 100755 --- a/sound/soc/codecs/rk2928_codec.c +++ b/sound/soc/codecs/rk2928_codec.c @@ -57,8 +57,8 @@ static const struct snd_soc_dapm_widget rk2928_dapm_widgets[] = { SND_SOC_DAPM_DAC("DACR", "HIFI Playback", CODEC_REG_POWER, 4, 1), SND_SOC_DAPM_PGA("DACL Amp", CODEC_REG_DAC_GAIN, 2, 0, NULL, 0), SND_SOC_DAPM_PGA("DACR Amp", CODEC_REG_DAC_GAIN, 0, 0, NULL, 0), - SND_SOC_DAPM_OUT_DRV("DACL Drv", CODEC_REG_DAC_MUTE, 1, 1, NULL, 0), - SND_SOC_DAPM_OUT_DRV("DACR Drv", CODEC_REG_DAC_MUTE, 0, 1, NULL, 0), +// SND_SOC_DAPM_OUT_DRV("DACL Drv", CODEC_REG_DAC_MUTE, 1, 1, NULL, 0), +// SND_SOC_DAPM_OUT_DRV("DACR Drv", CODEC_REG_DAC_MUTE, 0, 1, NULL, 0), SND_SOC_DAPM_OUTPUT("SPKL"), SND_SOC_DAPM_OUTPUT("SPKR"), #ifndef CONFIG_MACH_RK2928_A720 @@ -110,13 +110,13 @@ void codec_set_spk(bool on) if(on == 0) { DBG("%s speaker is disabled\n", __FUNCTION__); rk2928_data.hdmi_enable = 1; - if(rk2928_data.mute = 0) + if(rk2928_data.mute == 0) rk2928_write(NULL, CODEC_REG_DAC_MUTE, v_MUTE_DAC(1)); } else { DBG("%s speaker is enabled\n", __FUNCTION__); rk2928_data.hdmi_enable = 0; - if(rk2928_data.mute = 0) + if(rk2928_data.mute == 0) rk2928_write(NULL, CODEC_REG_DAC_MUTE, v_MUTE_DAC(0)); } } @@ -154,6 +154,7 @@ static int rk2928_audio_trigger(struct snd_pcm_substream *substream, int cmd, rk2928_write(codec, CODEC_REG_DAC_MUTE, v_MUTE_DAC(0)); rk2928_data.mute = 0; if(rk2928_data.spkctl != INVALID_GPIO) { + msleep(80); gpio_direction_output(rk2928_data.spkctl, GPIO_HIGH); } } -- 2.34.1