aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
authorJurgen Kramer <gtmkramer@xs4all.nl>2014-09-05 12:14:46 -0400
committerTakashi Iwai <tiwai@suse.de>2014-09-08 11:11:39 -0400
commit848f3a82df50fcc68a78c9d7d45e210b626b0283 (patch)
treeb2e741cf496aee692552423e52871c724c3e424d /sound/usb
parentd4288d3fac18bbc31cb6d369679b1fa1d9321ae9 (diff)
ALSA: usb-audio: add native DSD support for XMOS based DACs
Add quirks for XMOS based DACs for native DSD playback support using the new DSD_U32_LE sample format. This version adds native DSD support for: - iFi Audio micro iDSD/nano iDSD (they use the same prod. id) - DIYINHK USB to I2S/DSD converter Changes from v2: - fix and simplify switch statement Changes from v1: - use specific product id and alt setting per XMOS based device [fixed a misc coding style issue by tiwai] Signed-off-by: Jurgen Kramer <gtmkramer@xs4all.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/quirks.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 19a921eb75f1..d2aa45a8d895 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1174,5 +1174,21 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
1174 } 1174 }
1175 } 1175 }
1176 1176
1177 /* XMOS based USB DACs */
1178 switch (chip->usb_id) {
1179 /* iFi Audio micro/nano iDSD */
1180 case USB_ID(0x20b1, 0x3008):
1181 if (fp->altsetting == 2)
1182 return SNDRV_PCM_FMTBIT_DSD_U32_LE;
1183 break;
1184 /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
1185 case USB_ID(0x20b1, 0x2009):
1186 if (fp->altsetting == 3)
1187 return SNDRV_PCM_FMTBIT_DSD_U32_LE;
1188 break;
1189 default:
1190 break;
1191 }
1192
1177 return 0; 1193 return 0;
1178} 1194}