Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD playback

This commit adds new DEVICE_FLG with QUIRK_FLAG_DSD_RAW and Vendor Id for
HEM devices which supports native DSD. Prior to this change Linux kernel
was not enabling native DSD playback for HEM devices, and as a result,
DSD audio was being converted to PCM "on the fly". HEM devices,
when connected to the system, would only play audio in PCM format,
even if the source material was in DSD format. With the addition of new
VENDOR_FLG in the quircks.c file, the devices are now correctly
recognized, and raw DSD data is transmitted to the device,
allowing for native DSD playback.

Signed-off-by: Lukasz Tyl <ltyl@hem-e.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20230614122524.30271-1-ltyl@hem-e.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

authored by

Lukasz Tyl and committed by
Takashi Iwai
122e2cb7 8ba61c9f

+2
+2
sound/usb/quirks.c
··· 2191 2191 QUIRK_FLAG_DSD_RAW), 2192 2192 VENDOR_FLG(0x2ab6, /* T+A devices */ 2193 2193 QUIRK_FLAG_DSD_RAW), 2194 + VENDOR_FLG(0x3336, /* HEM devices */ 2195 + QUIRK_FLAG_DSD_RAW), 2194 2196 VENDOR_FLG(0x3353, /* Khadas devices */ 2195 2197 QUIRK_FLAG_DSD_RAW), 2196 2198 VENDOR_FLG(0x3842, /* EVGA */