ALSA: cs46xx: Fix Duplicate front for CS4294 and CS4298 codecs
authorOndrej Zary <linux@rainbow-software.org>
Thu, 29 Oct 2015 19:22:06 +0000 (20:22 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 30 Oct 2015 11:33:08 +0000 (12:33 +0100)
Currently, the Duplicate front control is enabled only for two specific
revisions of CS4294.

Enable it for all CS4294 and CS4298 codecs instead.

This fixes rear output on my VC-4620N sound card
(CS4620 + CS4298 rev.5).

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/cs46xx/cs46xx_lib.c

index 2a9f4a345171ee6b521c7c153f19991c40381f33..e62c8416ddfd4de581374384e712e7265e43ae5c 100644 (file)
@@ -2528,7 +2528,7 @@ int snd_cs46xx_mixer(struct snd_cs46xx *chip, int spdif_device)
 #ifdef CONFIG_SND_CS46XX_NEW_DSP
        if (chip->nr_ac97_codecs == 1) {
                unsigned int id2 = chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]->id & 0xffff;
-               if (id2 == 0x592b || id2 == 0x592d) {
+               if ((id2 & 0xfff0) == 0x5920) { /* CS4294 and CS4298 */
                        err = snd_ctl_add(card, snd_ctl_new1(&snd_cs46xx_front_dup_ctl, chip));
                        if (err < 0)
                                return err;