]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - sound/usb/quirks-table.h
ALSA: snd-usb: re-order some quirk entries
[karo-tx-linux.git] / sound / usb / quirks-table.h
index f5f0595ef9c7a36bfef2d5c48c425a61e9dd796d..f652b10ce90582c2a2b72d8d11c74309ae2f0d3e 100644 (file)
        }
 },
 
-/* Creative/Toshiba Multimedia Center SB-0500 */
+/* Creative/E-Mu devices */
 {
-       USB_DEVICE(0x041e, 0x3048),
+       USB_DEVICE(0x041e, 0x3010),
        .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
-               .vendor_name = "Toshiba",
-               .product_name = "SB-0500",
+               .vendor_name = "Creative Labs",
+               .product_name = "Sound Blaster MP3+",
                .ifnum = QUIRK_NO_INTERFACE
        }
 },
-
-/* Creative/E-Mu devices */
+/* Creative/Toshiba Multimedia Center SB-0500 */
 {
-       USB_DEVICE(0x041e, 0x3010),
+       USB_DEVICE(0x041e, 0x3048),
        .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
-               .vendor_name = "Creative Labs",
-               .product_name = "Sound Blaster MP3+",
+               .vendor_name = "Toshiba",
+               .product_name = "SB-0500",
                .ifnum = QUIRK_NO_INTERFACE
        }
 },
@@ -2520,6 +2519,46 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                .type = QUIRK_MIDI_RAW_BYTES
        }
 },
+{
+       USB_DEVICE(0x1235, 0x0010),
+       .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
+               .vendor_name = "Focusrite",
+               .product_name = "Saffire 6 USB",
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = (const struct snd_usb_audio_quirk[]) {
+                       {
+                               .ifnum = 0,
+                               .type = QUIRK_AUDIO_FIXED_ENDPOINT,
+                               .data = &(const struct audioformat) {
+                                       .formats = SNDRV_PCM_FMTBIT_S24_3LE,
+                                       .channels = 4,
+                                       .iface = 0,
+                                       .altsetting = 1,
+                                       .altset_idx = 1,
+                                       .attributes = UAC_EP_CS_ATTR_SAMPLE_RATE,
+                                       .endpoint = 0x01,
+                                       .ep_attr = USB_ENDPOINT_XFER_ISOC,
+                                       .rates = SNDRV_PCM_RATE_44100 |
+                                                SNDRV_PCM_RATE_48000,
+                                       .rate_min = 44100,
+                                       .rate_max = 48000,
+                                       .nr_rates = 2,
+                                       .rate_table = (unsigned int[]) {
+                                               44100, 48000
+                                       }
+                               }
+                       },
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_MIDI_RAW_BYTES
+                       },
+                       {
+                               .ifnum = -1
+                       }
+               }
+       }
+},
 {
        USB_DEVICE(0x1235, 0x0018),
        .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
@@ -2569,6 +2608,57 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                .type = QUIRK_MIDI_NOVATION
        }
 },
+{
+       /*
+        * Focusrite Scarlett 18i6
+        *
+        * Avoid mixer creation, which otherwise fails because some of
+        * the interface descriptor subtypes for interface 0 are
+        * unknown.  That should be fixed or worked-around but this at
+        * least allows the device to be used successfully with a DAW
+        * and an external mixer.  See comments below about other
+        * ignored interfaces.
+        */
+       USB_DEVICE(0x1235, 0x8004),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .vendor_name = "Focusrite",
+               .product_name = "Scarlett 18i6",
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = & (const struct snd_usb_audio_quirk[]) {
+                       {
+                               /* InterfaceSubClass 1 (Control Device) */
+                               .ifnum = 0,
+                               .type = QUIRK_IGNORE_INTERFACE
+                       },
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
+                       },
+                       {
+                               .ifnum = 2,
+                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
+                       },
+                       {
+                               /* InterfaceSubClass 1 (Control Device) */
+                               .ifnum = 3,
+                               .type = QUIRK_IGNORE_INTERFACE
+                       },
+                       {
+                               .ifnum = 4,
+                               .type = QUIRK_MIDI_STANDARD_INTERFACE
+                       },
+                       {
+                               /* InterfaceSubClass 1 (Device Firmware Update) */
+                               .ifnum = 5,
+                               .type = QUIRK_IGNORE_INTERFACE
+                       },
+                       {
+                               .ifnum = -1
+                       }
+               }
+       }
+},
 
 /* Access Music devices */
 {
@@ -2671,7 +2761,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
-       USB_DEVICE_VENDOR_SPEC(0x2040, 0x7240),
+       USB_DEVICE_VENDOR_SPEC(0x2040, 0x7210),
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
@@ -2679,13 +2769,13 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
-               .product_name = "HVR-850",
+               .product_name = "HVR-950Q",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_AUDIO_ALIGN_TRANSFER,
        }
 },
 {
-       USB_DEVICE_VENDOR_SPEC(0x2040, 0x7210),
+       USB_DEVICE_VENDOR_SPEC(0x2040, 0x7217),
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
@@ -2699,7 +2789,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
-       USB_DEVICE_VENDOR_SPEC(0x2040, 0x7217),
+       USB_DEVICE_VENDOR_SPEC(0x2040, 0x721b),
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
@@ -2713,7 +2803,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
-       USB_DEVICE_VENDOR_SPEC(0x2040, 0x721b),
+       USB_DEVICE_VENDOR_SPEC(0x2040, 0x721e),
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
@@ -2727,7 +2817,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
-       USB_DEVICE_VENDOR_SPEC(0x2040, 0x721e),
+       USB_DEVICE_VENDOR_SPEC(0x2040, 0x721f),
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
@@ -2741,7 +2831,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 {
-       USB_DEVICE_VENDOR_SPEC(0x2040, 0x721f),
+       USB_DEVICE_VENDOR_SPEC(0x2040, 0x7240),
        .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
                       USB_DEVICE_ID_MATCH_INT_CLASS |
                       USB_DEVICE_ID_MATCH_INT_SUBCLASS,
@@ -2749,7 +2839,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        .bInterfaceSubClass = USB_SUBCLASS_AUDIOCONTROL,
        .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
                .vendor_name = "Hauppauge",
-               .product_name = "HVR-950Q",
+               .product_name = "HVR-850",
                .ifnum = QUIRK_ANY_INTERFACE,
                .type = QUIRK_AUDIO_ALIGN_TRANSFER,
        }
@@ -3052,58 +3142,6 @@ YAMAHA_DEVICE(0x7010, "UB99"),
        }
 },
 
-{
-       /*
-        * Focusrite Scarlett 18i6
-        *
-        * Avoid mixer creation, which otherwise fails because some of
-        * the interface descriptor subtypes for interface 0 are
-        * unknown.  That should be fixed or worked-around but this at
-        * least allows the device to be used successfully with a DAW
-        * and an external mixer.  See comments below about other
-        * ignored interfaces.
-        */
-       USB_DEVICE(0x1235, 0x8004),
-       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
-               .vendor_name = "Focusrite",
-               .product_name = "Scarlett 18i6",
-               .ifnum = QUIRK_ANY_INTERFACE,
-               .type = QUIRK_COMPOSITE,
-               .data = & (const struct snd_usb_audio_quirk[]) {
-                       {
-                               /* InterfaceSubClass 1 (Control Device) */
-                               .ifnum = 0,
-                               .type = QUIRK_IGNORE_INTERFACE
-                       },
-                       {
-                               .ifnum = 1,
-                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
-                       },
-                       {
-                               .ifnum = 2,
-                               .type = QUIRK_AUDIO_STANDARD_INTERFACE
-                       },
-                       {
-                               /* InterfaceSubClass 1 (Control Device) */
-                               .ifnum = 3,
-                               .type = QUIRK_IGNORE_INTERFACE
-                       },
-                       {
-                               .ifnum = 4,
-                               .type = QUIRK_MIDI_STANDARD_INTERFACE
-                       },
-                       {
-                               /* InterfaceSubClass 1 (Device Firmware Update) */
-                               .ifnum = 5,
-                               .type = QUIRK_IGNORE_INTERFACE
-                       },
-                       {
-                               .ifnum = -1
-                       }
-               }
-       }
-},
-
 {
        /*
         * Some USB MIDI devices don't have an audio control interface,