diff options
author | Jurgen Kramer <gtmkramer@xs4all.nl> | 2014-09-05 18:14:46 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-09-08 17:11:39 +0200 |
commit | 848f3a82df50fcc68a78c9d7d45e210b626b0283 (patch) | |
tree | b2e741cf496aee692552423e52871c724c3e424d /sound/usb | |
parent | d4288d3fac18bbc31cb6d369679b1fa1d9321ae9 (diff) | |
download | linux-848f3a82df50fcc68a78c9d7d45e210b626b0283.tar.gz linux-848f3a82df50fcc68a78c9d7d45e210b626b0283.tar.bz2 linux-848f3a82df50fcc68a78c9d7d45e210b626b0283.zip |
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, } } + /* XMOS based USB DACs */ + switch (chip->usb_id) { + /* iFi Audio micro/nano iDSD */ + case USB_ID(0x20b1, 0x3008): + if (fp->altsetting == 2) + return SNDRV_PCM_FMTBIT_DSD_U32_LE; + break; + /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */ + case USB_ID(0x20b1, 0x2009): + if (fp->altsetting == 3) + return SNDRV_PCM_FMTBIT_DSD_U32_LE; + break; + default: + break; + } + return 0; } |