aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/ac97
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2006-05-02 18:22:06 +0200
committerJaroslav Kysela <perex@suse.cz>2006-06-22 21:33:22 +0200
commiteed656493a459bbc0fdf687fa8f43f87946d8d3a (patch)
treeacdfe0117c3139dfadd0b2fcb786f5822c416ac2 /sound/pci/ac97
parent886da8677d2e4e942fc8984b22bfb8da45e810ec (diff)
downloadleg-kernel-eed656493a459bbc0fdf687fa8f43f87946d8d3a.tar.gz
[ALSA] Add a workaround for ASUS A6KM
Added a workaround for ASUS A6KM board that requires EAPD rather than SPDIF-in. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/ac97')
-rw-r--r--sound/pci/ac97/ac97_patch.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c
index 4d9cf37300f7..720b419e0c63 100644
--- a/sound/pci/ac97/ac97_patch.c
+++ b/sound/pci/ac97/ac97_patch.c
@@ -2048,7 +2048,10 @@ int patch_alc650(struct snd_ac97 * ac97)
/* Enable SPDIF-IN only on Rev.E and above */
val = snd_ac97_read(ac97, AC97_ALC650_CLOCK);
/* SPDIF IN with pin 47 */
- if (ac97->spec.dev_flags)
+ if (ac97->spec.dev_flags &&
+ /* ASUS A6KM requires EAPD */
+ ! (ac97->subsystem_vendor == 0x1043 &&
+ ac97->subsystem_device == 0x1103))
val |= 0x03; /* enable */
else
val &= ~0x03; /* disable */