summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles <charles@Test-PC.(none)>2010-10-18 16:22:00 +0800
committerTakashi Iwai <tiwai@suse.de>2010-10-19 11:14:44 +0200
commit1cc9e8f4c45999e6069f41521d9d391eeeccc3b3 (patch)
tree6dba3d6be7b205c7ab0ad6b764e1976ad95cf8d9
parentc08d91695b2a3349254a62b60f03f7971bd90fa0 (diff)
downloadlinux-1cc9e8f4c45999e6069f41521d9d391eeeccc3b3.tar.gz
linux-1cc9e8f4c45999e6069f41521d9d391eeeccc3b3.tar.bz2
linux-1cc9e8f4c45999e6069f41521d9d391eeeccc3b3.zip
ALSA: hda - Fix codec muted after rebooting from Windows
Windows may leave pin power-down registers set after reboot, and this resulted in muted output on Linux. Reset these registers at initialization properly. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_sigmatel.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 1a563a2fbbec..7d70f8ca3742 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -5334,6 +5334,9 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
if (spec == NULL)
return -ENOMEM;
+ /* reset pin power-down; Windows may leave these bits after reboot */
+ snd_hda_codec_write_cache(codec, codec->afg, 0, 0x7EC, 0);
+ snd_hda_codec_write_cache(codec, codec->afg, 0, 0x7ED, 0);
codec->no_trigger_sense = 1;
codec->spec = spec;
spec->linear_tone_beep = 1;