Browse Source

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>
Charles 15 years ago
parent
commit
1cc9e8f4c4
1 changed files with 3 additions and 0 deletions
  1. 3 0
      sound/pci/hda/patch_sigmatel.c

+ 3 - 0
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;