summaryrefslogtreecommitdiffstats
path: root/sound/usb/quirks.c
diff options
context:
space:
mode:
authorJussi Laako2018-06-13 00:43:01 +0200
committerTakashi Iwai2018-06-13 07:45:38 +0200
commit3a572d94bcff98a14c94fe686881a169a26f3fca (patch)
tree9ad5db93be9d9a27537e85fd3ae4d14e0c830637 /sound/usb/quirks.c
parentALSA: hda/realtek - Add shutup hint (diff)
downloadkernel-qcow2-linux-3a572d94bcff98a14c94fe686881a169a26f3fca.tar.gz
kernel-qcow2-linux-3a572d94bcff98a14c94fe686881a169a26f3fca.tar.xz
kernel-qcow2-linux-3a572d94bcff98a14c94fe686881a169a26f3fca.zip
ALSA: usb-audio: Add native DSD support for Mytek DACs
Add new mostly generic code with Mytek VID to support native DSD mode. This implementation should be easier to maintain when manufacturers release new products. 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.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index f4b69173682c..c616c251dbac 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1443,6 +1443,19 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
return SNDRV_PCM_FMTBIT_DSD_U32_BE;
}
+ /* Mostly generic method to detect many DSD-capable implementations -
+ * from XMOS/Thesycon
+ */
+ switch (USB_ID_VENDOR(chip->usb_id)) {
+ case 0x25ce: /* Mytek devices */
+ if (fp->dsd_raw)
+ return SNDRV_PCM_FMTBIT_DSD_U32_BE;
+ break;
+ default:
+ break;
+
+ }
+
return 0;
}