diff options
author | Takashi Iwai <tiwai@suse.de> | 2005-08-31 17:31:07 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-09-12 10:35:10 +0200 |
commit | ee71508e7359c16b43d6232e52cd19ec328e1f7c (patch) | |
tree | 3ee6ab248b1bc19061cc27748bbecfc41def7f88 /sound/pci/ac97/ac97_patch.c | |
parent | 9f566cfde14e185bcc3589ba7470788ed193535a (diff) | |
download | talos-op-linux-ee71508e7359c16b43d6232e52cd19ec328e1f7c.tar.gz talos-op-linux-ee71508e7359c16b43d6232e52cd19ec328e1f7c.zip |
[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>
Diffstat (limited to 'sound/pci/ac97/ac97_patch.c')
-rw-r--r-- | sound/pci/ac97/ac97_patch.c | 9 |
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) 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, |