From e554af4ba8a748898a3f8abf484f42cde06a322b Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Wed, 31 Aug 2005 17:31:07 +0200 Subject: [PATCH] --- yaml --- r: 8817 b: refs/heads/master c: ee71508e7359c16b43d6232e52cd19ec328e1f7c h: refs/heads/master i: 8815: 2b5adc93aa9f4153657856f7cc74481159104490 v: v3 --- [refs] | 2 +- trunk/sound/pci/ac97/ac97_patch.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index a4f48a126833..782a1a5b9e30 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9f566cfde14e185bcc3589ba7470788ed193535a +refs/heads/master: ee71508e7359c16b43d6232e52cd19ec328e1f7c diff --git a/trunk/sound/pci/ac97/ac97_patch.c b/trunk/sound/pci/ac97/ac97_patch.c index b584172c1104..0acf51dd4478 100644 --- a/trunk/sound/pci/ac97/ac97_patch.c +++ b/trunk/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,