[ALSA] ac97 - Enable S/PDIF on ASUS P5P800-VM mobo
authorMagnus Sandin <magnus@sandin.cx>
Tue, 22 Aug 2006 11:33:12 +0000 (13:33 +0200)
committerJaroslav Kysela <perex@suse.cz>
Sat, 23 Sep 2006 08:43:42 +0000 (10:43 +0200)
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>
sound/pci/ac97/ac97_codec.c

index c47f43dbd664eaf9adeba4d276b41255dfb21c68..a79e91850ba361bbdb05dfdd65a3ed59638fc47e 100644 (file)
@@ -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)