Skip to content

Commit f7fea07

Browse files
jlaakotiwai
authored andcommitted
ALSA: usb-audio: Update for native DSD support quirks
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>
1 parent 3da4350 commit f7fea07

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed

sound/usb/quirks.c

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1876,8 +1876,10 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
18761876

18771877
/* XMOS based USB DACs */
18781878
switch (chip->usb_id) {
1879-
case USB_ID(0x1511, 0x0037): /* AURALiC VEGA */
1880-
case USB_ID(0x21ed, 0xd75a): /* Accuphase DAC-60 option card */
1879+
case USB_ID(0x139f, 0x5504): /* Nagra DAC */
1880+
case USB_ID(0x20b1, 0x3089): /* Mola-Mola DAC */
1881+
case USB_ID(0x2522, 0x0007): /* LH Labs Geek Out 1V5 */
1882+
case USB_ID(0x2522, 0x0009): /* LH Labs Geek Pulse X Inifinity 2V0 */
18811883
case USB_ID(0x2522, 0x0012): /* LH Labs VI DAC Infinity */
18821884
case USB_ID(0x2772, 0x0230): /* Pro-Ject Pre Box S2 Digital */
18831885
if (fp->altsetting == 2)
@@ -1887,14 +1889,18 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
18871889
case USB_ID(0x0d8c, 0x0316): /* Hegel HD12 DSD */
18881890
case USB_ID(0x10cb, 0x0103): /* The Bit Opus #3; with fp->dsd_raw */
18891891
case USB_ID(0x16d0, 0x06b2): /* NuPrime DAC-10 */
1890-
case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */
1892+
case USB_ID(0x16d0, 0x06b4): /* NuPrime Audio HD-AVP/AVA */
18911893
case USB_ID(0x16d0, 0x0733): /* Furutech ADL Stratos */
1894+
case USB_ID(0x16d0, 0x09d8): /* NuPrime IDA-8 */
18921895
case USB_ID(0x16d0, 0x09db): /* NuPrime Audio DAC-9 */
1896+
case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */
18931897
case USB_ID(0x1db5, 0x0003): /* Bryston BDA3 */
1898+
case USB_ID(0x20a0, 0x4143): /* WaveIO USB Audio 2.0 */
18941899
case USB_ID(0x22e1, 0xca01): /* HDTA Serenade DSD */
18951900
case USB_ID(0x249c, 0x9326): /* M2Tech Young MkIII */
18961901
case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */
18971902
case USB_ID(0x2622, 0x0041): /* Audiolab M-DAC+ */
1903+
case USB_ID(0x278b, 0x5100): /* Rotel RC-1590 */
18981904
case USB_ID(0x27f7, 0x3002): /* W4S DAC-2v2SE */
18991905
case USB_ID(0x29a2, 0x0086): /* Mutec MC3+ USB */
19001906
case USB_ID(0x6b42, 0x0042): /* MSB Technology */
@@ -1904,9 +1910,6 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
19041910

19051911
/* Amanero Combo384 USB based DACs with native DSD support */
19061912
case USB_ID(0x16d0, 0x071a): /* Amanero - Combo384 */
1907-
case USB_ID(0x2ab6, 0x0004): /* T+A DAC8DSD-V2.0, MP1000E-V2.0, MP2000R-V2.0, MP2500R-V2.0, MP3100HV-V2.0 */
1908-
case USB_ID(0x2ab6, 0x0005): /* T+A USB HD Audio 1 */
1909-
case USB_ID(0x2ab6, 0x0006): /* T+A USB HD Audio 2 */
19101913
if (fp->altsetting == 2) {
19111914
switch (le16_to_cpu(chip->dev->descriptor.bcdDevice)) {
19121915
case 0x199:
@@ -2051,6 +2054,9 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
20512054
QUIRK_FLAG_IFACE_DELAY),
20522055
DEVICE_FLG(0x0644, 0x805f, /* TEAC Model 12 */
20532056
QUIRK_FLAG_FORCE_IFACE_RESET),
2057+
DEVICE_FLG(0x0644, 0x806b, /* TEAC UD-701 */
2058+
QUIRK_FLAG_ITF_USB_DSD_DAC | QUIRK_FLAG_CTL_MSG_DELAY |
2059+
QUIRK_FLAG_IFACE_DELAY),
20542060
DEVICE_FLG(0x06f8, 0xb000, /* Hercules DJ Console (Windows Edition) */
20552061
QUIRK_FLAG_IGNORE_CTL_ERROR),
20562062
DEVICE_FLG(0x06f8, 0xd002, /* Hercules DJ Console (Macintosh Edition) */
@@ -2089,6 +2095,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
20892095
QUIRK_FLAG_ITF_USB_DSD_DAC | QUIRK_FLAG_CTL_MSG_DELAY),
20902096
DEVICE_FLG(0x154e, 0x3006, /* Marantz SA-14S1 */
20912097
QUIRK_FLAG_ITF_USB_DSD_DAC | QUIRK_FLAG_CTL_MSG_DELAY),
2098+
DEVICE_FLG(0x154e, 0x300b, /* Marantz SA-KI RUBY / SA-12 */
2099+
QUIRK_FLAG_DSD_RAW),
20922100
DEVICE_FLG(0x154e, 0x500e, /* Denon DN-X1600 */
20932101
QUIRK_FLAG_IGNORE_CLOCK_SOURCE),
20942102
DEVICE_FLG(0x1686, 0x00dd, /* Zoom R16/24 */
@@ -2133,6 +2141,10 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
21332141
QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER),
21342142
DEVICE_FLG(0x21b4, 0x0081, /* AudioQuest DragonFly */
21352143
QUIRK_FLAG_GET_SAMPLE_RATE),
2144+
DEVICE_FLG(0x21b4, 0x0230, /* Ayre QB-9 Twenty */
2145+
QUIRK_FLAG_DSD_RAW),
2146+
DEVICE_FLG(0x21b4, 0x0232, /* Ayre QX-5 Twenty */
2147+
QUIRK_FLAG_DSD_RAW),
21362148
DEVICE_FLG(0x2522, 0x0007, /* LH Labs Geek Out HD Audio 1V5 */
21372149
QUIRK_FLAG_SET_IFACE_FIRST),
21382150
DEVICE_FLG(0x2708, 0x0002, /* Audient iD14 */
@@ -2175,12 +2187,18 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
21752187
QUIRK_FLAG_VALIDATE_RATES),
21762188
VENDOR_FLG(0x1235, /* Focusrite Novation */
21772189
QUIRK_FLAG_VALIDATE_RATES),
2190+
VENDOR_FLG(0x1511, /* AURALiC */
2191+
QUIRK_FLAG_DSD_RAW),
21782192
VENDOR_FLG(0x152a, /* Thesycon devices */
21792193
QUIRK_FLAG_DSD_RAW),
2194+
VENDOR_FLG(0x18d1, /* iBasso devices */
2195+
QUIRK_FLAG_DSD_RAW),
21802196
VENDOR_FLG(0x1de7, /* Phoenix Audio */
21812197
QUIRK_FLAG_GET_SAMPLE_RATE),
21822198
VENDOR_FLG(0x20b1, /* XMOS based devices */
21832199
QUIRK_FLAG_DSD_RAW),
2200+
VENDOR_FLG(0x21ed, /* Accuphase Laboratory */
2201+
QUIRK_FLAG_DSD_RAW),
21842202
VENDOR_FLG(0x22d9, /* Oppo */
21852203
QUIRK_FLAG_DSD_RAW),
21862204
VENDOR_FLG(0x23ba, /* Playback Design */
@@ -2196,10 +2214,14 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
21962214
QUIRK_FLAG_DSD_RAW),
21972215
VENDOR_FLG(0x2ab6, /* T+A devices */
21982216
QUIRK_FLAG_DSD_RAW),
2217+
VENDOR_FLG(0x2d87, /* Cayin device */
2218+
QUIRK_FLAG_DSD_RAW),
21992219
VENDOR_FLG(0x3336, /* HEM devices */
22002220
QUIRK_FLAG_DSD_RAW),
22012221
VENDOR_FLG(0x3353, /* Khadas devices */
22022222
QUIRK_FLAG_DSD_RAW),
2223+
VENDOR_FLG(0x35f4, /* MSB Technology */
2224+
QUIRK_FLAG_DSD_RAW),
22032225
VENDOR_FLG(0x3842, /* EVGA */
22042226
QUIRK_FLAG_DSD_RAW),
22052227
VENDOR_FLG(0xc502, /* HiBy devices */

0 commit comments

Comments
 (0)