aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2005-08-31 11:31:07 -0400
committerJaroslav Kysela <perex@suse.cz>2005-09-12 04:35:10 -0400
commitee71508e7359c16b43d6232e52cd19ec328e1f7c (patch)
tree3ee6ab248b1bc19061cc27748bbecfc41def7f88
parent9f566cfde14e185bcc3589ba7470788ed193535a (diff)
[ALSA] Fix EAPD for MSI S270
AC97 Codec Fix pin47 setting for EAPD control on MSI S270 laptop. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/ac97/ac97_patch.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c
index b584172c1104..0acf51dd4478 100644
--- a/sound/pci/ac97/ac97_patch.c
+++ b/sound/pci/ac97/ac97_patch.c
@@ -2145,8 +2145,13 @@ int patch_alc655(ac97_t * ac97)
2145 val = snd_ac97_read(ac97, 0x7a); /* misc control */ 2145 val = snd_ac97_read(ac97, 0x7a); /* misc control */
2146 if (ac97->id == 0x414c4780) /* ALC658 */ 2146 if (ac97->id == 0x414c4780) /* ALC658 */
2147 val &= ~(1 << 1); /* Pin 47 is spdif input pin */ 2147 val &= ~(1 << 1); /* Pin 47 is spdif input pin */
2148 else /* ALC655 */ 2148 else { /* ALC655 */
2149 val |= (1 << 1); /* Pin 47 is spdif input pin */ 2149 if (ac97->subsystem_vendor == 0x1462 &&
2150 ac97->subsystem_device == 0x0131) /* MSI S270 laptop */
2151 val &= ~(1 << 1); /* Pin 47 is EAPD (for internal speaker) */
2152 else
2153 val |= (1 << 1); /* Pin 47 is spdif input pin */
2154 }
2150 val &= ~(1 << 12); /* vref enable */ 2155 val &= ~(1 << 12); /* vref enable */
2151 snd_ac97_write_cache(ac97, 0x7a, val); 2156 snd_ac97_write_cache(ac97, 0x7a, val);
2152 /* set default: spdif-in enabled, 2157 /* set default: spdif-in enabled,