aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/ymfpci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-03-18 13:22:33 -0400
committerTakashi Iwai <tiwai@suse.de>2012-03-18 13:22:33 -0400
commit44c76a960a62fcc46cbcaa0a22a34e666a729329 (patch)
treed3887c858f6adffb6714da3cdc0059f93588344c /sound/pci/ymfpci
parentdbf117cbb9c89991727d42e3161e68b868a1b6ae (diff)
parentc6b76d1f02e2ab1109d8549877a3a24c6a2b4587 (diff)
Merge branch 'topic/misc' into for-linus
Diffstat (limited to 'sound/pci/ymfpci')
-rw-r--r--sound/pci/ymfpci/ymfpci_main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c
index 12a9a2b03387..a8159b81e9c4 100644
--- a/sound/pci/ymfpci/ymfpci_main.c
+++ b/sound/pci/ymfpci/ymfpci_main.c
@@ -2317,6 +2317,10 @@ int snd_ymfpci_suspend(struct pci_dev *pci, pm_message_t state)
2317 for (i = 0; i < YDSXGR_NUM_SAVED_REGS; i++) 2317 for (i = 0; i < YDSXGR_NUM_SAVED_REGS; i++)
2318 chip->saved_regs[i] = snd_ymfpci_readl(chip, saved_regs_index[i]); 2318 chip->saved_regs[i] = snd_ymfpci_readl(chip, saved_regs_index[i]);
2319 chip->saved_ydsxgr_mode = snd_ymfpci_readl(chip, YDSXGR_MODE); 2319 chip->saved_ydsxgr_mode = snd_ymfpci_readl(chip, YDSXGR_MODE);
2320 pci_read_config_word(chip->pci, PCIR_DSXG_LEGACY,
2321 &chip->saved_dsxg_legacy);
2322 pci_read_config_word(chip->pci, PCIR_DSXG_ELEGACY,
2323 &chip->saved_dsxg_elegacy);
2320 snd_ymfpci_writel(chip, YDSXGR_NATIVEDACOUTVOL, 0); 2324 snd_ymfpci_writel(chip, YDSXGR_NATIVEDACOUTVOL, 0);
2321 snd_ymfpci_writel(chip, YDSXGR_BUF441OUTVOL, 0); 2325 snd_ymfpci_writel(chip, YDSXGR_BUF441OUTVOL, 0);
2322 snd_ymfpci_disable_dsp(chip); 2326 snd_ymfpci_disable_dsp(chip);
@@ -2351,6 +2355,11 @@ int snd_ymfpci_resume(struct pci_dev *pci)
2351 2355
2352 snd_ac97_resume(chip->ac97); 2356 snd_ac97_resume(chip->ac97);
2353 2357
2358 pci_write_config_word(chip->pci, PCIR_DSXG_LEGACY,
2359 chip->saved_dsxg_legacy);
2360 pci_write_config_word(chip->pci, PCIR_DSXG_ELEGACY,
2361 chip->saved_dsxg_elegacy);
2362
2354 /* start hw again */ 2363 /* start hw again */
2355 if (chip->start_count > 0) { 2364 if (chip->start_count > 0) {
2356 spin_lock_irq(&chip->reg_lock); 2365 spin_lock_irq(&chip->reg_lock);