aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ac97
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-06-27 05:55:20 -0400
committerJaroslav Kysela <perex@perex.cz>2008-07-10 03:31:34 -0400
commit6cabf6b0694951288520512e0b68c78523acc9fd (patch)
tree440077c185ad3e7923ce20cc5d615b6d85543b01 /sound/pci/ac97
parent942fd1ebf6072fdaa07ae6d77a4f58b39c1bfdf9 (diff)
ALSA: Fix AC97 power down
Some laptops don't like PR3 powerdown. Do PR3 powerdown only for the real power-saving. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/pci/ac97')
-rw-r--r--sound/pci/ac97/ac97_codec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
index 2d2f16e11082..07364c00768a 100644
--- a/sound/pci/ac97/ac97_codec.c
+++ b/sound/pci/ac97/ac97_codec.c
@@ -2295,9 +2295,11 @@ static void snd_ac97_powerdown(struct snd_ac97 *ac97)
2295 power |= AC97_PD_PR0 | AC97_PD_PR1; /* ADC & DAC powerdown */ 2295 power |= AC97_PD_PR0 | AC97_PD_PR1; /* ADC & DAC powerdown */
2296 snd_ac97_write(ac97, AC97_POWERDOWN, power); 2296 snd_ac97_write(ac97, AC97_POWERDOWN, power);
2297 udelay(100); 2297 udelay(100);
2298 power |= AC97_PD_PR2 | AC97_PD_PR3; /* Analog Mixer powerdown */ 2298 power |= AC97_PD_PR2; /* Analog Mixer powerdown (Vref on) */
2299 snd_ac97_write(ac97, AC97_POWERDOWN, power); 2299 snd_ac97_write(ac97, AC97_POWERDOWN, power);
2300 if (ac97_is_power_save_mode(ac97)) { 2300 if (ac97_is_power_save_mode(ac97)) {
2301 power |= AC97_PD_PR3; /* Analog Mixer powerdown */
2302 snd_ac97_write(ac97, AC97_POWERDOWN, power);
2301 udelay(100); 2303 udelay(100);
2302 /* AC-link powerdown, internal Clk disable */ 2304 /* AC-link powerdown, internal Clk disable */
2303 /* FIXME: this may cause click noises on some boards */ 2305 /* FIXME: this may cause click noises on some boards */