]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blobdiff - sound/usb/quirks-table.h
ALSA: hda/realtek - Corrected fixup for System76 Gazelle (gaze14)
[mirror_ubuntu-focal-kernel.git] / sound / usb / quirks-table.h
index 86e80916a029fffdd6cbb492b5b8fe09b291dcd8..629b84532648a30dc4a3c6c69ba047e5059d6e30 100644 (file)
@@ -2770,6 +2770,90 @@ YAMAHA_DEVICE(0x7010, "UB99"),
                .type = QUIRK_MIDI_NOVATION
        }
 },
+{
+       /*
+        * Focusrite Scarlett Solo 2nd generation
+        * Reports that playback should use Synch: Synchronous
+        * while still providing a feedback endpoint. Synchronous causes
+        * snapping on some sample rates.
+        * Force it to use Synch: Asynchronous.
+        */
+       USB_DEVICE(0x1235, 0x8205),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               .ifnum = QUIRK_ANY_INTERFACE,
+               .type = QUIRK_COMPOSITE,
+               .data = (const struct snd_usb_audio_quirk[]) {
+                       {
+                               .ifnum = 1,
+                               .type = QUIRK_AUDIO_FIXED_ENDPOINT,
+                               .data = & (const struct audioformat) {
+                                       .formats = SNDRV_PCM_FMTBIT_S32_LE,
+                                       .channels = 2,
+                                       .iface = 1,
+                                       .altsetting = 1,
+                                       .altset_idx = 1,
+                                       .attributes = 0,
+                                       .endpoint = 0x01,
+                                       .ep_attr = USB_ENDPOINT_XFER_ISOC |
+                                                  USB_ENDPOINT_SYNC_ASYNC,
+                                       .protocol = UAC_VERSION_2,
+                                       .rates = SNDRV_PCM_RATE_44100 |
+                                                SNDRV_PCM_RATE_48000 |
+                                                SNDRV_PCM_RATE_88200 |
+                                                SNDRV_PCM_RATE_96000 |
+                                                SNDRV_PCM_RATE_176400 |
+                                                SNDRV_PCM_RATE_192000,
+                                       .rate_min = 44100,
+                                       .rate_max = 192000,
+                                       .nr_rates = 6,
+                                       .rate_table = (unsigned int[]) {
+                                               44100, 48000, 88200,
+                                               96000, 176400, 192000
+                                       },
+                                       .clock = 41
+                               }
+                       },
+                       {
+                               .ifnum = 2,
+                               .type = QUIRK_AUDIO_FIXED_ENDPOINT,
+                               .data = & (const struct audioformat) {
+                                       .formats = SNDRV_PCM_FMTBIT_S32_LE,
+                                       .channels = 2,
+                                       .iface = 2,
+                                       .altsetting = 1,
+                                       .altset_idx = 1,
+                                       .attributes = 0,
+                                       .endpoint = 0x82,
+                                       .ep_attr = USB_ENDPOINT_XFER_ISOC |
+                                                  USB_ENDPOINT_SYNC_ASYNC |
+                                                  USB_ENDPOINT_USAGE_IMPLICIT_FB,
+                                       .protocol = UAC_VERSION_2,
+                                       .rates = SNDRV_PCM_RATE_44100 |
+                                                SNDRV_PCM_RATE_48000 |
+                                                SNDRV_PCM_RATE_88200 |
+                                                SNDRV_PCM_RATE_96000 |
+                                                SNDRV_PCM_RATE_176400 |
+                                                SNDRV_PCM_RATE_192000,
+                                       .rate_min = 44100,
+                                       .rate_max = 192000,
+                                       .nr_rates = 6,
+                                       .rate_table = (unsigned int[]) {
+                                               44100, 48000, 88200,
+                                               96000, 176400, 192000
+                                       },
+                                       .clock = 41
+                               }
+                       },
+                       {
+                               .ifnum = 3,
+                               .type = QUIRK_IGNORE_INTERFACE
+                       },
+                       {
+                               .ifnum = -1
+                       }
+               }
+       }
+},
 
 /* Access Music devices */
 {