linux/sound/usb
Matus Gajdos 4e1462e7cd ALSA: usb-audio: Add native DSD support for Cambridge Audio streamers
The Cambridge Audio streamer advertises the UAC2 RAW_DATA format on
altsetting 2 of its playback interface, but without the DSD_RAW quirk
flag the driver exposes it only as a SPECIAL format that cannot be
used.

Add QUIRK_FLAG_DSD_RAW for the device (USB ID 22e8:ca10), so the
altsetting is exposed as DSD_U32_BE, enabling native DSD64/128/256
playback.

Tested with: gst-launch-1.0 filesrc location=file.dsf ! \
                            avdemux_dsf ! dsdconvert ! \
                            alsasink device=hw:2,0

Signed-off-by: Matus Gajdos <matuszpd@gmail.com>
Link: https://patch.msgid.link/20261002125237.82188-1-matuszpd@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
History 2026-10-03 11:11:11 +02:00
..
6fire ALSA: 6fire: fix OOB write from device-reported iso length 2026-09-14 11:45:24 +02:00
bcd2000 ALSA: bcd2000: Fix race between rawmidi and disconnect 2026-09-12 14:18:14 +02:00
caiaq ALSA: caiaq: unregister the input device when probe fails 2026-09-28 13:43:26 +02:00
hiface ALSA: usb: hiface: Avoid embedded URBs 2026-09-06 10:01:42 +02:00
line6 ALSA: line6: reject oversized playback packets 2026-09-28 13:11:09 +02:00
misc ALSA: ua101: reject mismatched capture/playback packet sizes 2026-09-28 13:10:22 +02:00
qcom ALSA: usb-audio: qcom: Free QMI handle 2026-06-25 13:56:21 +02:00
usx2y ALSA: us122l: Prevent write upgrades for read mappings 2026-09-08 16:22:50 +02:00
card.c ALSA: usb-audio: Complete cleanup after system-resume errors 2026-08-25 10:01:44 +02:00
card.h ALSA: usb-audio: Clamp implicit feedback packet count to URB capacity 2026-09-13 09:04:03 +02:00
clock.c ALSA: usb-audio: add QUIRK_FLAG_ALWAYS_SET_RATE for Mackie DLZ Creator XS 2026-08-09 12:29:33 +02:00
clock.h ALSA: usb-audio: Constify audioformat pointer references 2020-11-23 15:15:36 +01:00
endpoint.c ALSA: usb-audio: fix list_add double-add in push_back_to_ready_list 2026-09-16 09:30:17 +02:00
endpoint.h ALSA: usb-audio: Remove unused function declaration 2023-08-01 16:56:57 +02:00
fcp.c ALSA: usb-audio: Guard FCP protocol transfers 2026-08-31 09:54:18 +02:00
fcp.h ALSA: FCP: Add Focusrite Control Protocol driver 2025-01-18 12:00:38 +01:00
format.c ALSA: usb-audio: stop parsing UAC2 rates at MAX_NR_RATES 2026-04-16 10:33:19 +02:00
format.h ALSA: usb: initial USB Audio Device Class 3.0 support 2018-03-21 11:46:33 +01:00
helper.c ALSA: usb-audio: Export USB SND APIs for modules 2025-04-11 13:02:30 +02:00
helper.h ALSA: usb-audio: Support multiple control interfaces 2024-08-12 16:17:46 +02:00
implicit.c ALSA: usb-audio: Add capture quirk for Behringer FCA1616 2026-09-14 08:16:12 +02:00
implicit.h ALSA: usb-audio: Add new quirk FIXED_RATE for JBL Quantum810 Wireless 2022-12-22 09:13:54 +01:00
Kconfig ALSA:usb:qcom: add AUXILIARY_BUS to Kconfig dependencies 2026-03-18 12:36:39 +01:00
Makefile ALSA: usb-audio: qcom: Introduce QC USB SND offloading support 2025-04-11 13:02:32 +02:00
media.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
media.h media: sound/usb: Use Media Controller API to share media resources 2019-04-22 11:21:06 -04:00
midi.c ALSA: usb-audio: fix OOB write in snd_usbmidi_us122l_output() 2026-09-01 12:36:53 +02:00
midi.h ALSA: usb-audio: Manage number of rawmidis globally 2023-05-23 12:11:00 +02:00
midi2.c ALSA: usb: Fix UAF at delayed release of MIDI2 EPs 2026-08-08 17:51:43 +02:00
midi2.h ALSA: usb-audio: USB MIDI 2.0 UMP support 2023-05-23 12:11:02 +02:00
mixer.c ALSA: usb-audio: Reverse MIXER_GET_CUR_BROKEN as MIXER_GET_CUR_OK 2026-08-23 11:03:34 +02:00
mixer.h ALSA: scarlett2: Use a private URB for the notification endpoint 2026-08-10 13:36:20 +02:00
mixer_maps.c ALSA: usb-audio: Add mixer mapping for MSI MAG B850M MORTAR WIFI 2026-09-28 13:38:12 +02:00
mixer_quirks.c ALSA: usb-audio: Add PM guards to RME Digiface controls 2026-08-31 09:54:18 +02:00
mixer_quirks.h ALSA: usb-audio: Drop CONFIG_PM ifdefs 2021-12-06 10:19:40 +01:00
mixer_s1810c.c ALSA: usb-audio: Add PM guard to Studio 1810c controls 2026-08-31 09:54:18 +02:00
mixer_s1810c.h ALSA: usb-audio: Add support for Presonus Studio 1810c 2020-02-15 09:46:16 +01:00
mixer_scarlett.c ALSA: usb-audio: Add PM guard to Scarlett meter reads 2026-08-31 09:54:18 +02:00
mixer_scarlett.h ALSA: usb-audio: add mixer support for Focusrite Forte 2026-01-27 09:58:50 +01:00
mixer_scarlett2.c ALSA: usb-audio: Guard Scarlett2 protocol transfers 2026-08-31 09:54:18 +02:00
mixer_scarlett2.h ALSA: scarlett2: Rename scarlett_gen2 to scarlett2 2023-10-27 11:22:59 +02:00
mixer_us16x08.c ALSA: usb-audio: Add PM guards to US-16x08 transfers 2026-08-31 09:54:18 +02:00
mixer_us16x08.h ALSA: usb: Constify snd_kcontrol_new items 2020-01-03 09:24:34 +01:00
pcm.c ALSA: usb-audio: Use the right limit for PCM OOB check 2026-01-21 09:22:12 +01:00
pcm.h ALSA: usb-audio: Export USB SND APIs for modules 2025-04-11 13:02:30 +02:00
power.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
power.h ALSA: usb-audio: Support multiple control interfaces 2024-08-12 16:17:46 +02:00
proc.c ALSA: usb-audio: Replace manual mutex/spinlock with guard() 2025-08-12 08:36:17 +02:00
proc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
quirks-table.h ALSA: usb-audio: Skip mixer creation on M-Audio Venom 2026-08-25 09:54:58 +02:00
quirks.c ALSA: usb-audio: Add native DSD support for Cambridge Audio streamers 2026-10-03 11:11:11 +02:00
quirks.h ALSA: usb-audio: Make some quirk-string helpers local 2026-07-29 09:47:22 +02:00
stream.c ALSA: usb-audio: Avoid potential endless loop in convert_chmap_v3() 2026-04-28 08:14:21 +02:00
stream.h ALSA: usb-audio: Fix potential leak of pd at parsing UAC3 streams 2026-04-28 08:13:50 +02:00
usbaudio.h ALSA: usb-audio: Reverse MIXER_GET_CUR_BROKEN as MIXER_GET_CUR_OK 2026-08-23 11:03:34 +02:00
validate.c ALSA: usb-audio: Use correct version for UAC3 header validation 2026-02-26 07:37:29 +01:00