Commit 8056d9bb authored by Mark Brown's avatar Mark Brown

ASoC: Improve WM9713 voice DAC shutdown procedure

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 93e051d2
...@@ -940,13 +940,14 @@ static void wm9713_voiceshutdown(struct snd_pcm_substream *substream, ...@@ -940,13 +940,14 @@ static void wm9713_voiceshutdown(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai) struct snd_soc_dai *dai)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_codec *codec = dai->codec;
u16 status; u16 status, rate;
/* Gracefully shut down the voice interface. */ /* Gracefully shut down the voice interface. */
status = ac97_read(codec, AC97_EXTENDED_STATUS) | 0x1000; status = ac97_read(codec, AC97_EXTENDED_STATUS) | 0x1000;
ac97_write(codec, AC97_HANDSET_RATE, 0x0280); rate = ac97_read(codec, AC97_HANDSET_RATE) & 0xF0FF;
ac97_write(codec, AC97_HANDSET_RATE, rate | 0x0200);
schedule_timeout_interruptible(msecs_to_jiffies(1)); schedule_timeout_interruptible(msecs_to_jiffies(1));
ac97_write(codec, AC97_HANDSET_RATE, 0x0F80); ac97_write(codec, AC97_HANDSET_RATE, rate | 0x0F00);
ac97_write(codec, AC97_EXTENDED_MID, status); ac97_write(codec, AC97_EXTENDED_MID, status);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment