ASoC: rt5645: improve headphone pop when system resumes from S3

When playing audio through headphone, headphone makes pop noise if system
resumes from S3 to S0. We modify the sequence of writing register for
avoiding pop sound.

Signed-off-by: John Lin <john.lin@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
John Lin 2016-02-25 13:18:26 +08:00 коммит произвёл Mark Brown
Родитель 92e963f50f
Коммит 0150e8c053
1 изменённых файлов: 9 добавлений и 4 удалений

Просмотреть файл

@ -3029,13 +3029,18 @@ static int rt5645_set_bias_level(struct snd_soc_codec *codec,
RT5645_PWR_BG | RT5645_PWR_VREF2,
RT5645_PWR_VREF1 | RT5645_PWR_MB |
RT5645_PWR_BG | RT5645_PWR_VREF2);
mdelay(10);
snd_soc_update_bits(codec, RT5645_PWR_ANLG1,
RT5645_PWR_FV1 | RT5645_PWR_FV2,
RT5645_PWR_FV1 | RT5645_PWR_FV2);
if (rt5645->en_button_func &&
snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF)
queue_delayed_work(system_power_efficient_wq,
&rt5645->jack_detect_work, msecs_to_jiffies(0));
if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF) {
snd_soc_write(codec, RT5645_DEPOP_M2, 0x1140);
msleep(40);
if (rt5645->en_button_func)
queue_delayed_work(system_power_efficient_wq,
&rt5645->jack_detect_work,
msecs_to_jiffies(0));
}
break;
case SND_SOC_BIAS_OFF: