diff options
author | Jurgen Kramer <gtmkramer@xs4all.nl> | 2014-09-05 12:14:46 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-09-08 11:11:39 -0400 |
commit | 848f3a82df50fcc68a78c9d7d45e210b626b0283 (patch) | |
tree | b2e741cf496aee692552423e52871c724c3e424d /sound/usb | |
parent | d4288d3fac18bbc31cb6d369679b1fa1d9321ae9 (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.c | 16 |
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 | } |