[alsa-devel] [PATCH v2] add native DSD support for XMOS based DACs

Takashi Iwai tiwai at suse.de
Fri Sep 5 15:36:31 CEST 2014


At Fri,  5 Sep 2014 14:24:57 +0200,
Jurgen Kramer wrote:
> 
> 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 at 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;

Missing break?

> +		/* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
> +		case 0x2009:
> +			if (fp->altsetting == 3)
> +				return SNDRV_PCM_FMTBIT_DSD_U32_LE;

Ditto.

> +		default:
> +			return 0;
> +		}
> +	}
>  	return 0;
>  }
> -- 
> 1.9.3


Takashi


More information about the Alsa-devel mailing list