Add quirk for XMOS based DACs for native DSD playback support using the new DSD_U32_LE sample format. Works for all DAC vendors which use XMOS as idVendor. E.g. iFi Audio with their micro iDSD and nano iDSD.
Signed-off-by: Jurgen Kramer gtmkramer@xs4all.nl --- sound/usb/quirks.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 19a921e..e0efffb 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1174,5 +1174,15 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, } }
+ /* XMOS based DACs, e.g. iFi Audio micro/nano iDSD */ + if (le16_to_cpu(chip->dev->descriptor.idVendor) == 0x20b1) { + switch (fp->altsetting) { + case 2: + return SNDRV_PCM_FMTBIT_DSD_U32_LE; + default: + return 0; + } + } + return 0; }