[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>
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c
index b584172..0acf51d 100644
--- a/sound/pci/ac97/ac97_patch.c
+++ b/sound/pci/ac97/ac97_patch.c
@@ -2145,8 +2145,13 @@
val = snd_ac97_read(ac97, 0x7a); /* misc control */
if (ac97->id == 0x414c4780) /* ALC658 */
val &= ~(1 << 1); /* Pin 47 is spdif input pin */
- else /* ALC655 */
- val |= (1 << 1); /* Pin 47 is spdif input pin */
+ else { /* ALC655 */
+ if (ac97->subsystem_vendor == 0x1462 &&
+ ac97->subsystem_device == 0x0131) /* MSI S270 laptop */
+ val &= ~(1 << 1); /* Pin 47 is EAPD (for internal speaker) */
+ else
+ val |= (1 << 1); /* Pin 47 is spdif input pin */
+ }
val &= ~(1 << 12); /* vref enable */
snd_ac97_write_cache(ac97, 0x7a, val);
/* set default: spdif-in enabled,