summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKailang Yang <kailang@realtek.com>2011-05-18 11:53:16 +0200
committerTakashi Iwai <tiwai@suse.de>2011-05-18 11:53:16 +0200
commitb896b4ebf0c136b51b184ea9f39247701e332005 (patch)
tree99cbe55d1519f44f95a93f390b7adb2dcefe814d
parent296f03380e986f910b20dfb5ad7743902e7d840e (diff)
ALSA: hda - Fix no sound after Windows boot with ALC269
Change power control register to default. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_realtek.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index fc0c04699d55..473342da3065 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -15193,14 +15193,21 @@ static int alc269_fill_coef(struct hda_codec *codec)
val = alc_read_coef_idx(codec, 0xd);
if ((val & 0x0c00) >> 10 != 0x1) {
/* Capless ramp up clock control */
- alc_write_coef_idx(codec, 0xd, val | 1<<10);
+ alc_write_coef_idx(codec, 0xd, val | (1<<10));
}
val = alc_read_coef_idx(codec, 0x17);
if ((val & 0x01c0) >> 6 != 0x4) {
/* Class D power on reset */
- alc_write_coef_idx(codec, 0x17, val | 1<<7);
+ alc_write_coef_idx(codec, 0x17, val | (1<<7));
}
}
+
+ val = alc_read_coef_idx(codec, 0xd); /* Class D */
+ alc_write_coef_idx(codec, 0xd, val | (1<<14));
+
+ val = alc_read_coef_idx(codec, 0x4); /* HP */
+ alc_write_coef_idx(codec, 0x4, val | (1<<11));
+
return 0;
}