From patchwork Fri Sep 5 12:24:57 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jurgen Kramer X-Patchwork-Id: 4851801 X-Patchwork-Delegate: tiwai@suse.de Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 1BDA79F314 for ; Fri, 5 Sep 2014 12:25:31 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 8C72F20225 for ; Fri, 5 Sep 2014 12:25:26 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id 7AAE82020E for ; Fri, 5 Sep 2014 12:25:25 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 95766265735; Fri, 5 Sep 2014 14:25:21 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,HK_RANDOM_FROM, NO_DNS_FOR_FROM,UNPARSEABLE_RELAY autolearn=no version=3.3.1 Received: from alsa0.perex.cz (localhost [IPv6:::1]) by alsa0.perex.cz (Postfix) with ESMTP id 2D7FC265714; Fri, 5 Sep 2014 14:25:11 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 01A49265718; Fri, 5 Sep 2014 14:25:08 +0200 (CEST) Received: from lb1-smtp-cloud3.xs4all.net (lb1-smtp-cloud3.xs4all.net [194.109.24.52]) by alsa0.perex.cz (Postfix) with ESMTP id B990A265710 for ; Fri, 5 Sep 2014 14:25:00 +0200 (CEST) Received: from orwell.fritz.box ([83.163.237.189]) by smtp-cloud3.xs4all.net with ESMTP id nQQy1o00445s9uT01QQz2p; Fri, 05 Sep 2014 14:25:00 +0200 From: Jurgen Kramer To: alsa-devel@alsa-project.org Date: Fri, 5 Sep 2014 14:24:57 +0200 Message-Id: <1409919897-7040-1-git-send-email-gtmkramer@xs4all.nl> X-Mailer: git-send-email 1.9.3 Cc: Jurgen Kramer Subject: [alsa-devel] [PATCH v2] add native DSD support for XMOS based DACs X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP 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 --- 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; }