+++ /dev/null
-From 99050c4348f8ee7097d3f2ef49341a53a6093e4f Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 21 Feb 2026 02:34:48 +1030
-Subject: ALSA: usb-audio: Remove VALIDATE_RATES quirk for Focusrite devices
-
-From: Geoffrey D. Bennett <g@b4.vu>
-
-[ Upstream commit a8cc55bf81a45772cad44c83ea7bb0e98431094a ]
-
-Remove QUIRK_FLAG_VALIDATE_RATES for Focusrite. With the previous
-commit, focusrite_valid_sample_rate() produces correct rate tables
-without USB probing.
-
-QUIRK_FLAG_VALIDATE_RATES sends SET_CUR requests for each rate (~25ms
-each) and leaves the device at 192kHz. This is a problem because that
-rate: 1) disables the internal mixer, so outputs are silent until an
-application opens the PCM and sets a lower rate, and 2) the Air and
-Safe modes get disabled.
-
-Fixes: 5963e5262180 ("ALSA: usb-audio: Enable rate validation for Scarlett devices")
-Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Link: https://patch.msgid.link/09b9c012024c998c4ca14bd876ef0dce0d0b6101.1771594828.git.g@b4.vu
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- sound/usb/quirks.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
-index afd7765b5913e..55fd74f198184 100644
---- a/sound/usb/quirks.c
-+++ b/sound/usb/quirks.c
-@@ -1978,7 +1978,7 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
- VENDOR_FLG(0x07fd, /* MOTU */
- QUIRK_FLAG_VALIDATE_RATES),
- VENDOR_FLG(0x1235, /* Focusrite Novation */
-- QUIRK_FLAG_VALIDATE_RATES),
-+ 0),
- VENDOR_FLG(0x1511, /* AURALiC */
- QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0x152a, /* Thesycon devices */
---
-2.51.0
-
+++ /dev/null
-From 3f824cea8545998a60217a49ef00f08fdcfb21ef Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 26 Jul 2023 19:56:45 +0300
-Subject: ALSA: usb-audio: Update for native DSD support quirks
-
-From: Jussi Laako <jussi@sonarnerd.net>
-
-[ Upstream commit f7fea075edfa085c25eb34c44ceacf3602537f98 ]
-
-Maintenance patch for native DSD support.
-
-Remove incorrect T+A device quirks. Move set of device quirks to vendor
-quirks. Add set of missing device and vendor quirks.
-
-Signed-off-by: Jussi Laako <jussi@sonarnerd.net>
-Link: https://lore.kernel.org/r/20230726165645.404311-1-jussi@sonarnerd.net
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Stable-dep-of: a8cc55bf81a4 ("ALSA: usb-audio: Remove VALIDATE_RATES quirk for Focusrite devices")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- sound/usb/quirks.c | 34 ++++++++++++++++++++++++++++------
- 1 file changed, 28 insertions(+), 6 deletions(-)
-
-diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
-index 778304f349699..afd7765b5913e 100644
---- a/sound/usb/quirks.c
-+++ b/sound/usb/quirks.c
-@@ -1631,8 +1631,10 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
-
- /* XMOS based USB DACs */
- switch (chip->usb_id) {
-- case USB_ID(0x1511, 0x0037): /* AURALiC VEGA */
-- case USB_ID(0x21ed, 0xd75a): /* Accuphase DAC-60 option card */
-+ case USB_ID(0x139f, 0x5504): /* Nagra DAC */
-+ case USB_ID(0x20b1, 0x3089): /* Mola-Mola DAC */
-+ case USB_ID(0x2522, 0x0007): /* LH Labs Geek Out 1V5 */
-+ case USB_ID(0x2522, 0x0009): /* LH Labs Geek Pulse X Inifinity 2V0 */
- case USB_ID(0x2522, 0x0012): /* LH Labs VI DAC Infinity */
- case USB_ID(0x2772, 0x0230): /* Pro-Ject Pre Box S2 Digital */
- if (fp->altsetting == 2)
-@@ -1642,14 +1644,18 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
- case USB_ID(0x0d8c, 0x0316): /* Hegel HD12 DSD */
- case USB_ID(0x10cb, 0x0103): /* The Bit Opus #3; with fp->dsd_raw */
- case USB_ID(0x16d0, 0x06b2): /* NuPrime DAC-10 */
-- case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */
-+ case USB_ID(0x16d0, 0x06b4): /* NuPrime Audio HD-AVP/AVA */
- case USB_ID(0x16d0, 0x0733): /* Furutech ADL Stratos */
-+ case USB_ID(0x16d0, 0x09d8): /* NuPrime IDA-8 */
- case USB_ID(0x16d0, 0x09db): /* NuPrime Audio DAC-9 */
-+ case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */
- case USB_ID(0x1db5, 0x0003): /* Bryston BDA3 */
-+ case USB_ID(0x20a0, 0x4143): /* WaveIO USB Audio 2.0 */
- case USB_ID(0x22e1, 0xca01): /* HDTA Serenade DSD */
- case USB_ID(0x249c, 0x9326): /* M2Tech Young MkIII */
- case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */
- case USB_ID(0x2622, 0x0041): /* Audiolab M-DAC+ */
-+ case USB_ID(0x278b, 0x5100): /* Rotel RC-1590 */
- case USB_ID(0x27f7, 0x3002): /* W4S DAC-2v2SE */
- case USB_ID(0x29a2, 0x0086): /* Mutec MC3+ USB */
- case USB_ID(0x6b42, 0x0042): /* MSB Technology */
-@@ -1659,9 +1665,6 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
-
- /* Amanero Combo384 USB based DACs with native DSD support */
- case USB_ID(0x16d0, 0x071a): /* Amanero - Combo384 */
-- case USB_ID(0x2ab6, 0x0004): /* T+A DAC8DSD-V2.0, MP1000E-V2.0, MP2000R-V2.0, MP2500R-V2.0, MP3100HV-V2.0 */
-- case USB_ID(0x2ab6, 0x0005): /* T+A USB HD Audio 1 */
-- case USB_ID(0x2ab6, 0x0006): /* T+A USB HD Audio 2 */
- if (fp->altsetting == 2) {
- switch (le16_to_cpu(chip->dev->descriptor.bcdDevice)) {
- case 0x199:
-@@ -1817,6 +1820,9 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
- QUIRK_FLAG_IFACE_DELAY),
- DEVICE_FLG(0x0644, 0x805f, /* TEAC Model 12 */
- QUIRK_FLAG_FORCE_IFACE_RESET),
-+ DEVICE_FLG(0x0644, 0x806b, /* TEAC UD-701 */
-+ QUIRK_FLAG_ITF_USB_DSD_DAC | QUIRK_FLAG_CTL_MSG_DELAY |
-+ QUIRK_FLAG_IFACE_DELAY),
- DEVICE_FLG(0x06f8, 0xb000, /* Hercules DJ Console (Windows Edition) */
- QUIRK_FLAG_IGNORE_CTL_ERROR),
- DEVICE_FLG(0x06f8, 0xd002, /* Hercules DJ Console (Macintosh Edition) */
-@@ -1871,6 +1877,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
- QUIRK_FLAG_ITF_USB_DSD_DAC | QUIRK_FLAG_CTL_MSG_DELAY),
- DEVICE_FLG(0x154e, 0x3006, /* Marantz SA-14S1 */
- QUIRK_FLAG_ITF_USB_DSD_DAC | QUIRK_FLAG_CTL_MSG_DELAY),
-+ DEVICE_FLG(0x154e, 0x300b, /* Marantz SA-KI RUBY / SA-12 */
-+ QUIRK_FLAG_DSD_RAW),
- DEVICE_FLG(0x154e, 0x500e, /* Denon DN-X1600 */
- QUIRK_FLAG_IGNORE_CLOCK_SOURCE),
- DEVICE_FLG(0x1686, 0x00dd, /* Zoom R16/24 */
-@@ -1925,6 +1933,10 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
- QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER),
- DEVICE_FLG(0x21b4, 0x0081, /* AudioQuest DragonFly */
- QUIRK_FLAG_GET_SAMPLE_RATE),
-+ DEVICE_FLG(0x21b4, 0x0230, /* Ayre QB-9 Twenty */
-+ QUIRK_FLAG_DSD_RAW),
-+ DEVICE_FLG(0x21b4, 0x0232, /* Ayre QX-5 Twenty */
-+ QUIRK_FLAG_DSD_RAW),
- DEVICE_FLG(0x2522, 0x0007, /* LH Labs Geek Out HD Audio 1V5 */
- QUIRK_FLAG_SET_IFACE_FIRST),
- DEVICE_FLG(0x262a, 0x9302, /* ddHiFi TC44C */
-@@ -1967,12 +1979,18 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
- QUIRK_FLAG_VALIDATE_RATES),
- VENDOR_FLG(0x1235, /* Focusrite Novation */
- QUIRK_FLAG_VALIDATE_RATES),
-+ VENDOR_FLG(0x1511, /* AURALiC */
-+ QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0x152a, /* Thesycon devices */
- QUIRK_FLAG_DSD_RAW),
-+ VENDOR_FLG(0x18d1, /* iBasso devices */
-+ QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0x1de7, /* Phoenix Audio */
- QUIRK_FLAG_GET_SAMPLE_RATE),
- VENDOR_FLG(0x20b1, /* XMOS based devices */
- QUIRK_FLAG_DSD_RAW),
-+ VENDOR_FLG(0x21ed, /* Accuphase Laboratory */
-+ QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0x22d9, /* Oppo */
- QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0x23ba, /* Playback Design */
-@@ -1988,10 +2006,14 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
- QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0x2ab6, /* T+A devices */
- QUIRK_FLAG_DSD_RAW),
-+ VENDOR_FLG(0x2d87, /* Cayin device */
-+ QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0x3336, /* HEM devices */
- QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0x3353, /* Khadas devices */
- QUIRK_FLAG_DSD_RAW),
-+ VENDOR_FLG(0x35f4, /* MSB Technology */
-+ QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0x3842, /* EVGA */
- QUIRK_FLAG_DSD_RAW),
- VENDOR_FLG(0xc502, /* HiBy devices */
---
-2.51.0
-