All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] add native DSD support for XMOS based DACs
@ 2014-09-05 12:24 Jurgen Kramer
  2014-09-05 13:36 ` Takashi Iwai
  2014-09-05 15:26 ` Clemens Ladisch
  0 siblings, 2 replies; 9+ messages in thread
From: Jurgen Kramer @ 2014-09-05 12:24 UTC (permalink / raw)
  To: alsa-devel; +Cc: Jurgen Kramer

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 v1:
- use specific product id and alt setting per XMOS based device

Signed-off-by: Jurgen Kramer <gtmkramer@xs4all.nl>
---
 sound/usb/quirks.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 19a921e..5ae0536 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1174,5 +1174,20 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
 		}
 	}
 
+	/* XMOS based USB DACs */
+	if (le16_to_cpu(chip->dev->descriptor.idVendor) == 0x20b1) {
+		switch (le16_to_cpu(chip->dev->descriptor.idProduct)) {
+		/* iFi Audio micro/nano iDSD */
+		case 0x3008:
+			if (fp->altsetting == 2)
+				return SNDRV_PCM_FMTBIT_DSD_U32_LE;
+		/* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
+		case 0x2009:
+			if (fp->altsetting == 3)
+				return SNDRV_PCM_FMTBIT_DSD_U32_LE;
+		default:
+			return 0;
+		}
+	}
 	return 0;
 }
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-09-05 15:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-05 12:24 [PATCH v2] add native DSD support for XMOS based DACs Jurgen Kramer
2014-09-05 13:36 ` Takashi Iwai
2014-09-05 13:58   ` Jurgen Kramer
2014-09-05 14:27     ` Takashi Iwai
2014-09-05 14:37       ` Jurgen Kramer
2014-09-05 14:51         ` Takashi Iwai
2014-09-05 15:03           ` Jurgen Kramer
2014-09-05 15:26 ` Clemens Ladisch
2014-09-05 15:41   ` Jurgen Kramer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.