Jurgen Kramer wrote:
On Fri, 2014-09-05 at 11:36 +0200, Clemens Ladisch wrote:
Jurgen Kramer wrote:
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.
+++ b/sound/usb/quirks.c
- /* 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;
Can you confirm that all XMOS devices ever built will have DSD on that alternate setting?
No, I can not. Most newer implementations will use alt setting 2 for native DSD support.
But it's possible to have other XMOS-based devices that use multiple alternate settings for PCM.
My first version also used idProduct to only target iFi devices. If this is required, I'll rework my patch.
I guess there isn't any property of the descriptors to distinguish DoP from PCM? How does the generic Windows driver know which alternate settings are DoP?
Regards, Clemens