summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaya Kumar <jayakumar.alsa@gmail.com>2006-06-19 15:06:14 +0200
committerJaroslav Kysela <perex@suse.cz>2006-06-22 21:34:30 +0200
commit1561f09a2f91bc258a72225f919807c9e51c8290 (patch)
treef045d98be38fd0a113b7f48c970ae66b26d26839
parent1459c7849ea24fd71e4d2e678caa1cc3fef754e2 (diff)
downloadlinux-1561f09a2f91bc258a72225f919807c9e51c8290.tar.bz2
[ALSA] AD1888 suspend/resume fix
This patch adds a write to an undocumented register, 0x60 Extended Codec Register Page in the AD1888 codec. It is neccessary in order to make suspend/resume work with the AD1888. Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/ac97/ac97_patch.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c
index cc93ee619086..7f197c780816 100644
--- a/sound/pci/ac97/ac97_patch.c
+++ b/sound/pci/ac97/ac97_patch.c
@@ -1371,6 +1371,13 @@ static void ad18xx_resume(struct snd_ac97 *ac97)
snd_ac97_restore_iec958(ac97);
}
+
+static void ad1888_resume(struct snd_ac97 *ac97)
+{
+ ad18xx_resume(ac97);
+ snd_ac97_write_cache(ac97, AC97_CODEC_CLASS_REV, 0x8080);
+}
+
#endif
int patch_ad1819(struct snd_ac97 * ac97)
@@ -1844,7 +1851,7 @@ static struct snd_ac97_build_ops patch_ad1888_build_ops = {
.build_post_spdif = patch_ad198x_post_spdif,
.build_specific = patch_ad1888_specific,
#ifdef CONFIG_PM
- .resume = ad18xx_resume,
+ .resume = ad1888_resume,
#endif
.update_jacks = ad1888_update_jacks,
};