summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Sandin <magnus@sandin.cx>2006-08-22 15:33:12 +0400
committerJaroslav Kysela <perex@suse.cz>2006-09-23 12:43:42 +0400
commit7b89190cf6ecd5075c272b4ec12f65a4ce45a762 (patch)
treef60ba82c95763b052db944b5246defe65b603367
parentbab282b912baf372d8f705357946ef691b621899 (diff)
downloadlinux-7b89190cf6ecd5075c272b4ec12f65a4ce45a762.tar.xz
[ALSA] ac97 - Enable S/PDIF on ASUS P5P800-VM mobo
The attached patch will force building the S/PDIF controls on the PCU SSID for Asus P5P800-VM motherboard, even if the AC97_EI_SPDIF bit is not set. Signed-off-by: Magnus Sandin <magnus@sandin.cx> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
-rw-r--r--sound/pci/ac97/ac97_codec.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
index c47f43dbd664..a79e91850ba3 100644
--- a/sound/pci/ac97/ac97_codec.c
+++ b/sound/pci/ac97/ac97_codec.c
@@ -1573,6 +1573,12 @@ static int snd_ac97_mixer_build(struct snd_ac97 * ac97)
}
/* build S/PDIF controls */
+
+ /* Hack for ASUS P5P800-VM, which does not indicate S/PDIF capability */
+ if (ac97->subsystem_vendor == 0x1043 &&
+ ac97->subsystem_device == 0x810f)
+ ac97->ext_id |= AC97_EI_SPDIF;
+
if ((ac97->ext_id & AC97_EI_SPDIF) && !(ac97->scaps & AC97_SCAP_NO_SPDIF)) {
if (ac97->build_ops->build_spdif) {
if ((err = ac97->build_ops->build_spdif(ac97)) < 0)