summaryrefslogtreecommitdiffstats
path: root/sound/usb/quirks.c
diff options
context:
space:
mode:
authorJussi Laako <jussi@sonarnerd.net>2016-12-17 22:51:41 +0100
committerTakashi Iwai <tiwai@suse.de>2016-12-28 16:07:11 +0100
commit3eff682d765b496ce2f9727bb1e001ec77b21453 (patch)
tree6f85df3fde6f44a2c08a79e9651bc888696f8b6d /sound/usb/quirks.c
parentALSA: synth: use designated initializers (diff)
downloadlinux-3eff682d765b496ce2f9727bb1e001ec77b21453.tar.xz
linux-3eff682d765b496ce2f9727bb1e001ec77b21453.zip
ALSA: usb-audio: Support both DSD LE/BE Amanero firmware versions
Add DSD support for both little endian (DSD_U32_LE) and big endian (DSD_U32_BE) version of the Amanero firmware. Signed-off-by: Jussi Laako <jussi@sonarnerd.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/quirks.c')
-rw-r--r--sound/usb/quirks.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index b3fd2382fdd9..f5c68ea0468e 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1359,6 +1359,21 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
if (fp->altsetting == 3)
return SNDRV_PCM_FMTBIT_DSD_U32_BE;
break;
+
+ /* Amanero Combo384 USB interface with native DSD support */
+ case USB_ID(0x16d0, 0x071a):
+ if (fp->altsetting == 2) {
+ switch (chip->dev->descriptor.bcdDevice) {
+ case 0x199:
+ return SNDRV_PCM_FMTBIT_DSD_U32_LE;
+ case 0x19b:
+ return SNDRV_PCM_FMTBIT_DSD_U32_BE;
+ default:
+ break;
+ }
+ }
+ break;
+
default:
break;
}