diff options
author | Takashi Iwai <tiwai@suse.de> | 2005-08-31 11:31:07 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2005-09-12 04:35:10 -0400 |
commit | ee71508e7359c16b43d6232e52cd19ec328e1f7c (patch) | |
tree | 3ee6ab248b1bc19061cc27748bbecfc41def7f88 /sound/pci | |
parent | 9f566cfde14e185bcc3589ba7470788ed193535a (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>
Diffstat (limited to 'sound/pci')
-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) | |||
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, |