linux/sound/usb
Adrian Ratiu b50a3e9844 sound: usb: format: don't warn that raw DSD is unsupported
UAC 2 & 3 DAC's set bit 31 of the format to signal support for a
RAW_DATA type, typically used for DSD playback.

This is correctly tested by (format & UAC*_FORMAT_TYPE_I_RAW_DATA),
fp->dsd_raw = true; and call snd_usb_interface_dsd_format_quirks(),
however a confusing and unnecessary message gets printed because
the bit is not properly tested in the last "unsupported" if test:
if (format & ~0x3F) { ... }

For example the output:

usb 7-1: new high-speed USB device number 5 using xhci_hcd
usb 7-1: New USB device found, idVendor=262a, idProduct=9302, bcdDevice=0.01
usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
usb 7-1: Product: TC44C
usb 7-1: Manufacturer: TC44C
usb 7-1: SerialNumber: 5000000001
hid-generic 0003:262A:9302.001E: No inputs registered, leaving
hid-generic 0003:262A:9302.001E: hidraw6: USB HID v1.00 Device [DDHIFI TC44C] on usb-0000:08:00.3-1/input0
usb 7-1: 2:4 : unsupported format bits 0x100000000

This last "unsupported format" is actually wrong: we know the
format is a RAW_DATA which we assume is DSD, so there is no need
to print the confusing message.

This we unset bit 31 of the format after recognizing it, to avoid
the message.

Suggested-by: Takashi Iwai <tiwai@suse.com>
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
Link: https://patch.msgid.link/20241209090529.16134-2-adrian.ratiu@collabora.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2024-12-09 10:57:20 +01:00
..
6fire ALSA: 6fire: Release resources at card release 2024-11-13 13:33:47 +01:00
bcd2000
caiaq ALSA: caiaq: Use snd_card_free_when_closed() at disconnection 2024-11-13 13:33:47 +01:00
hiface
line6 ALSA: line6: update contact information 2024-10-10 14:02:57 +02:00
misc
usx2y ALSA: us122l: Drop mmap_count field 2024-11-13 13:33:47 +01:00
card.c
card.h
clock.c ALSA: usb-audio: Fix out of bounds reads when finding clock sources 2024-11-25 15:48:22 +01:00
clock.h
endpoint.c ALSA: usb-audio: Notify xrun for low-latency mode 2024-11-29 14:59:41 +01:00
endpoint.h
format.c sound: usb: format: don't warn that raw DSD is unsupported 2024-12-09 10:57:20 +01:00
format.h
helper.c
helper.h
implicit.c
implicit.h
Kconfig
Makefile
media.c
media.h
midi2.c
midi2.h
midi.c
midi.h
mixer_maps.c ALSA: usb-audio: add mixer mapping for Corsair HS80 2024-12-01 09:49:49 +01:00
mixer_quirks.c ALSA: usb-audio: Add extra PID for RME Digiface USB 2024-12-02 16:31:35 +01:00
mixer_quirks.h
mixer_s1810c.c
mixer_s1810c.h
mixer_scarlett2.c Merge branch 'topic/compress-accel' into for-next 2024-10-25 10:54:09 +02:00
mixer_scarlett2.h
mixer_scarlett.c
mixer_scarlett.h
mixer_us16x08.c
mixer_us16x08.h
mixer.c ALSA: usb-audio: Make mic volume workarounds globally applicable 2024-11-05 13:03:52 +01:00
mixer.h
pcm.c
pcm.h
power.c
power.h
proc.c
proc.h
quirks-table.h ALSA: usb-audio: Add extra PID for RME Digiface USB 2024-12-02 16:31:35 +01:00
quirks.c sound: usb: enable DSD output for ddHiFi TC44C 2024-12-09 10:57:10 +01:00
quirks.h
stream.c ALSA: usb-audio: Fix NULL pointer deref in snd_usb_power_domain_set() 2024-10-10 13:58:44 +02:00
stream.h
usbaudio.h ALSA: usb-audio: Make mic volume workarounds globally applicable 2024-11-05 13:03:52 +01:00
validate.c