All of lore.kernel.org
 help / color / mirror / Atom feed
From: <noble.yang@comtrue-inc.com>
To: <tiwai@suse.com>, <perex@perex.cz>, <hulianqin@vivo.com>,
	<lina+kernel@asahilina.net>, <cyan.vtb@gmail.com>,
	<dan.carpenter@linaro.org>, <bsevens@google.com>
Cc: <linux-sound@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: [PATCH] ALSA: usb-audio: Add DSD support for Comtrue USB Audio device
Date: Thu, 31 Jul 2025 12:51:37 +0800	[thread overview]
Message-ID: <001e01dc01d6$cc4c64e0$64e52ea0$@comtrue-inc.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 969 bytes --]

The vendor Comtrue Inc. (0x2fc6) produces USB audio chipsets like

the CT7601 which are capable of Native DSD playback.

 

This patch adds QUIRK_FLAG_DSD_RAW for Comtrue (VID 0x2fc6), which enables

native DSD playback (DSD_U32_LE) on their USB Audio device. This has been

verified under Ubuntu 25.04 with JRiver.

 

Best Regards !

===========================

Noble Yang

Cell : +886-955-347822

晨臻股份有限公司

Comtrue Inc.

www.comtrue-inc.com <http://www.comtrue-inc.com/> 

新地址 : 新竹縣竹北市縣政十街10號2F之1

2F.-1, No. 10, Xianzheng 10th St., Zhubei City, Hsinchu County 302, Taiwan
(R.O.C.)

The information included in this email is privileged and confidential and
just for the exclusive use of the addressee.

For people other than the addressee the use, disclosure and reproduction is
strictly prohibited.

If this message has been received in error, please contact the sender and
delete all copies.

 


[-- Attachment #1.2: Type: text/html, Size: 5927 bytes --]

[-- Attachment #2: 0001-ALSA-usb-audio-Add-DSD-support-for-Comtrue-USB-Audio.patch --]
[-- Type: application/octet-stream, Size: 919 bytes --]

From 1b9dde1ef9987efcaf5d9bc9a932ac0ec3bbd8c5 Mon Sep 17 00:00:00 2001
From: "noble.yang" <noble.yang@comtrue-inc.com>
Date: Thu, 31 Jul 2025 12:11:11 +0800
Subject: [PATCH] ALSA: usb-audio: Add DSD support for Comtrue USB Audio device

Signed-off-by: noble.yang <noble.yang@comtrue-inc.com>
---
 sound/usb/quirks.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index bd24f3a78ea9..cbb66125f839 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -2408,6 +2408,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
 		   QUIRK_FLAG_DSD_RAW),
 	VENDOR_FLG(0x2d87, /* Cayin device */
 		   QUIRK_FLAG_DSD_RAW),
+        VENDOR_FLG(0x2fc6, /* Comture-inc devices */
+		   QUIRK_FLAG_DSD_RAW),	   
 	VENDOR_FLG(0x3336, /* HEM devices */
 		   QUIRK_FLAG_DSD_RAW),
 	VENDOR_FLG(0x3353, /* Khadas devices */
-- 
2.48.1


[-- Attachment #3: cat proc asound card.txt --]
[-- Type: text/plain, Size: 2803 bytes --]

cat /proc/asound/card*/stream0
Comtrue-inc Comtrue-inc UAC2 Device EVM-GB at usb-0000:00:14.0-5, high speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 16
    Channel map: FL FR
    Sync Endpoint: 0x81 (1 IN)
    Sync EP Interface: 1
    Sync EP Altset: 1
    Implicit Feedback Mode: No
  Interface 1
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR
    Sync Endpoint: 0x81 (1 IN)
    Sync EP Interface: 1
    Sync EP Altset: 2
    Implicit Feedback Mode: No
  Interface 1
    Altset 3
    Format: S32_LE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 32
    Channel map: FL FR
    Sync Endpoint: 0x81 (1 IN)
    Sync EP Interface: 1
    Sync EP Altset: 3
    Implicit Feedback Mode: No
  Interface 1
    Altset 4
    Format: SPECIAL DSD_U32_BE
    Channels: 2
    Endpoint: 0x01 (1 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 32
    DSD raw: DOP=0, bitrev=0
    Channel map: FL FR
    Sync Endpoint: 0x81 (1 IN)
    Sync EP Interface: 1
    Sync EP Altset: 4
    Implicit Feedback Mode: No

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 0x82 (2 IN) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 16
    Channel map: FL FR
  Interface 2
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x82 (2 IN) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR
  Interface 2
    Altset 3
    Format: S32_LE
    Channels: 2
    Endpoint: 0x82 (2 IN) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 32
    Channel map: FL FR
  Interface 2
    Altset 4
    Format: SPECIAL DSD_U32_BE
    Channels: 2
    Endpoint: 0x82 (2 IN) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
    Data packet interval: 125 us
    Bits: 32
    DSD raw: DOP=0, bitrev=0
    Channel map: FL FR


             reply	other threads:[~2025-07-31  5:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-31  4:51 noble.yang [this message]
2025-07-31  5:39 ` [PATCH] ALSA: usb-audio: Add DSD support for Comtrue USB Audio device Takashi Iwai
2025-07-31  5:50   ` noble.yang
2025-07-31  5:51     ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2025-07-31  8:15 noble228
2025-07-31  9:15 ` Takashi Iwai
2025-07-31 11:06 noble228
2025-07-31 15:01 ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='001e01dc01d6$cc4c64e0$64e52ea0$@comtrue-inc.com' \
    --to=noble.yang@comtrue-inc.com \
    --cc=bsevens@google.com \
    --cc=cyan.vtb@gmail.com \
    --cc=dan.carpenter@linaro.org \
    --cc=hulianqin@vivo.com \
    --cc=lina+kernel@asahilina.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.