ALSA: virtuoso: Xonar DSX support
authorSergiu Giurgiu <sgiurgiu11@gmail.com>
Sun, 9 Sep 2012 09:14:15 +0000 (05:14 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 13 Sep 2014 22:41:42 +0000 (23:41 +0100)
commit 4492363251235c4499a2d073c5f09121ea23d39d upstream.

This patch adds support for ASUS - Xonar DSX sound cards. Tested on
openSUSE 12.2 with kernel:
Linux 3.4.6-2.10-desktop #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197) x86_64 x86_64 x86_64 GNU/Linux
Works:
 - play sounds
 - adjust volume on master channel.
 - mute .

Since Xonar DS uses the same chip, everything that works for DS should
work for DSX as well.

Signed-off-by: Sergiu Giurgiu <sgiurgiu11@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sound/pci/oxygen/virtuoso.c
sound/pci/oxygen/xonar_wm87x6.c

index 4149a0c..abbe6b1 100644 (file)
@@ -52,6 +52,7 @@ static DEFINE_PCI_DEVICE_TABLE(xonar_ids) = {
        { OXYGEN_PCI_SUBID(0x1043, 0x835d) },
        { OXYGEN_PCI_SUBID(0x1043, 0x835e) },
        { OXYGEN_PCI_SUBID(0x1043, 0x838e) },
+       { OXYGEN_PCI_SUBID(0x1043, 0x8522) },
        { OXYGEN_PCI_SUBID_BROKEN_EEPROM },
        { }
 };
index 915546a..30495b8 100644 (file)
@@ -1255,7 +1255,6 @@ static void dump_wm87x6_registers(struct oxygen *chip,
 }
 
 static const struct oxygen_model model_xonar_ds = {
-       .shortname = "Xonar DS",
        .longname = "Asus Virtuoso 66",
        .chip = "AV200",
        .init = xonar_ds_init,
@@ -1325,6 +1324,11 @@ int __devinit get_xonar_wm87x6_model(struct oxygen *chip,
        switch (id->subdevice) {
        case 0x838e:
                chip->model = model_xonar_ds;
+               chip->model.shortname = "Xonar DS";
+               break;
+       case 0x8522:
+               chip->model = model_xonar_ds;
+               chip->model.shortname = "Xonar DSX";
                break;
        case 0x835e:
                chip->model = model_xonar_hdav_slim;