aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKailang Yang <kailang@realtek.com>2011-05-18 05:53:16 -0400
committerTakashi Iwai <tiwai@suse.de>2011-05-18 05:53:16 -0400
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)
15193 val = alc_read_coef_idx(codec, 0xd); 15193 val = alc_read_coef_idx(codec, 0xd);
15194 if ((val & 0x0c00) >> 10 != 0x1) { 15194 if ((val & 0x0c00) >> 10 != 0x1) {
15195 /* Capless ramp up clock control */ 15195 /* Capless ramp up clock control */
15196 alc_write_coef_idx(codec, 0xd, val | 1<<10); 15196 alc_write_coef_idx(codec, 0xd, val | (1<<10));
15197 } 15197 }
15198 val = alc_read_coef_idx(codec, 0x17); 15198 val = alc_read_coef_idx(codec, 0x17);
15199 if ((val & 0x01c0) >> 6 != 0x4) { 15199 if ((val & 0x01c0) >> 6 != 0x4) {
15200 /* Class D power on reset */ 15200 /* Class D power on reset */
15201 alc_write_coef_idx(codec, 0x17, val | 1<<7); 15201 alc_write_coef_idx(codec, 0x17, val | (1<<7));
15202 } 15202 }
15203 } 15203 }
15204
15205 val = alc_read_coef_idx(codec, 0xd); /* Class D */
15206 alc_write_coef_idx(codec, 0xd, val | (1<<14));
15207
15208 val = alc_read_coef_idx(codec, 0x4); /* HP */
15209 alc_write_coef_idx(codec, 0x4, val | (1<<11));
15210
15204 return 0; 15211 return 0;
15205} 15212}
15206 15213