Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 848f3a82 authored by Jurgen Kramer's avatar Jurgen Kramer Committed by Takashi Iwai
Browse files

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: default avatarJurgen Kramer <gtmkramer@xs4all.nl>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent d4288d3f
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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;
}