summaryrefslogtreecommitdiffstats
path: root/sound/pci/ymfpci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-06-25 17:17:00 +0200
committerJaroslav Kysela <perex@perex.cz>2008-06-27 08:51:10 +0200
commit4a3b6983232cd296ea260e06461d031f10065d63 (patch)
tree1cf2132112ff614e2298a75a8cc644198f13e4f8 /sound/pci/ymfpci
parentc7e0757a461db87157bbf92c4f5afda87cbe05f6 (diff)
downloadlinux-4a3b6983232cd296ea260e06461d031f10065d63.tar.gz
linux-4a3b6983232cd296ea260e06461d031f10065d63.tar.bz2
linux-4a3b6983232cd296ea260e06461d031f10065d63.zip
ALSA: ymfpci - fix initial volume for 44.1kHz output
YDSXGR_BUF441OUTVOL register isn't initialized properly. This may lead to a silent output at full volume of unchanged "Wave Playback Volume". http://bugzilla.kernel.org/show_bug.cgi?id=10963 Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/pci/ymfpci')
-rw-r--r--sound/pci/ymfpci/ymfpci_main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c
index 29b3056c5109..7129df5f315b 100644
--- a/sound/pci/ymfpci/ymfpci_main.c
+++ b/sound/pci/ymfpci/ymfpci_main.c
@@ -2205,6 +2205,7 @@ static int __devinit snd_ymfpci_memalloc(struct snd_ymfpci *chip)
for (reg = 0x80; reg < 0xc0; reg += 4)
snd_ymfpci_writel(chip, reg, 0);
snd_ymfpci_writel(chip, YDSXGR_NATIVEDACOUTVOL, 0x3fff3fff);
+ snd_ymfpci_writel(chip, YDSXGR_BUF441OUTVOL, 0x3fff3fff);
snd_ymfpci_writel(chip, YDSXGR_ZVOUTVOL, 0x3fff3fff);
snd_ymfpci_writel(chip, YDSXGR_SPDIFOUTVOL, 0x3fff3fff);
snd_ymfpci_writel(chip, YDSXGR_NATIVEADCINVOL, 0x3fff3fff);
@@ -2324,6 +2325,7 @@ int snd_ymfpci_suspend(struct pci_dev *pci, pm_message_t state)
chip->saved_regs[i] = snd_ymfpci_readl(chip, saved_regs_index[i]);
chip->saved_ydsxgr_mode = snd_ymfpci_readl(chip, YDSXGR_MODE);
snd_ymfpci_writel(chip, YDSXGR_NATIVEDACOUTVOL, 0);
+ snd_ymfpci_writel(chip, YDSXGR_BUF441OUTVOL, 0);
snd_ymfpci_disable_dsp(chip);
pci_disable_device(pci);
pci_save_state(pci);