aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ac97/ac97_patch.c
diff options
context:
space:
mode:
authorJaya Kumar <jayakumar.alsa@gmail.com>2006-06-19 09:06:14 -0400
committerJaroslav Kysela <perex@suse.cz>2006-06-22 15:34:30 -0400
commit1561f09a2f91bc258a72225f919807c9e51c8290 (patch)
treef045d98be38fd0a113b7f48c970ae66b26d26839 /sound/pci/ac97/ac97_patch.c
parent1459c7849ea24fd71e4d2e678caa1cc3fef754e2 (diff)
[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>
Diffstat (limited to 'sound/pci/ac97/ac97_patch.c')
-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)
1371 1371
1372 snd_ac97_restore_iec958(ac97); 1372 snd_ac97_restore_iec958(ac97);
1373} 1373}
1374
1375static void ad1888_resume(struct snd_ac97 *ac97)
1376{
1377 ad18xx_resume(ac97);
1378 snd_ac97_write_cache(ac97, AC97_CODEC_CLASS_REV, 0x8080);
1379}
1380
1374#endif 1381#endif
1375 1382
1376int patch_ad1819(struct snd_ac97 * ac97) 1383int patch_ad1819(struct snd_ac97 * ac97)
@@ -1844,7 +1851,7 @@ static struct snd_ac97_build_ops patch_ad1888_build_ops = {
1844 .build_post_spdif = patch_ad198x_post_spdif, 1851 .build_post_spdif = patch_ad198x_post_spdif,
1845 .build_specific = patch_ad1888_specific, 1852 .build_specific = patch_ad1888_specific,
1846#ifdef CONFIG_PM 1853#ifdef CONFIG_PM
1847 .resume = ad18xx_resume, 1854 .resume = ad1888_resume,
1848#endif 1855#endif
1849 .update_jacks = ad1888_update_jacks, 1856 .update_jacks = ad1888_update_jacks,
1850}; 1857};