RE: [PATCH] ALSA: usb-audio: Add DSD support for Comtrue USB Audio device

noble.yang@comtrue-inc.com posted 1 patch 2 months ago
sound/usb/quirks.c | 2 ++
1 file changed, 2 insertions(+)
RE: [PATCH] ALSA: usb-audio: Add DSD support for Comtrue USB Audio device
Posted by noble.yang@comtrue-inc.com 2 months ago
Hello Takashi

Please try download it as below link
https://reurl.cc/8951Ro

Thanks
Noble

-----Original Message-----
From: Takashi Iwai <tiwai@suse.de> 
Sent: Thursday, July 31, 2025 1:40 PM
To: noble.yang@comtrue-inc.com
Cc: tiwai@suse.com; perex@perex.cz; hulianqin@vivo.com;
lina+kernel@asahilina.net; cyan.vtb@gmail.com; dan.carpenter@linaro.org;
bsevens@google.com; linux-sound@vger.kernel.org;
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ALSA: usb-audio: Add DSD support for Comtrue USB Audio
device

On Thu, 31 Jul 2025 06:51:37 +0200,
<noble.yang@comtrue-inc.com> wrote:
> 
> 
> 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 !

I see no patch in the mail.  Could you try to send via git-send-email?


thanks,

Takashi

> 
> ===========================
> 
> Noble Yang
> 
> Cell : +886-955-347822
> 
> 晨臻股份有限公司
> 
> Comtrue Inc.
> 
> 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.
> 
> 
> 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
> 
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

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

Re: [PATCH] ALSA: usb-audio: Add DSD support for Comtrue USB Audio device
Posted by Takashi Iwai 2 months ago
On Thu, 31 Jul 2025 07:50:13 +0200,
<noble.yang@comtrue-inc.com> wrote:
> 
> Hello Takashi
> 
> Please try download it as below link
> https://reurl.cc/8951Ro

You can't submit like this style.  Please try to submit in the proper
format embedded in the email.


thanks,

Takashi

> 
> Thanks
> Noble
> 
> -----Original Message-----
> From: Takashi Iwai <tiwai@suse.de> 
> Sent: Thursday, July 31, 2025 1:40 PM
> To: noble.yang@comtrue-inc.com
> Cc: tiwai@suse.com; perex@perex.cz; hulianqin@vivo.com;
> lina+kernel@asahilina.net; cyan.vtb@gmail.com; dan.carpenter@linaro.org;
> bsevens@google.com; linux-sound@vger.kernel.org;
> linux-kernel@vger.kernel.org
> Subject: Re: [PATCH] ALSA: usb-audio: Add DSD support for Comtrue USB Audio
> device
> 
> On Thu, 31 Jul 2025 06:51:37 +0200,
> <noble.yang@comtrue-inc.com> wrote:
> > 
> > 
> > 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 !
> 
> I see no patch in the mail.  Could you try to send via git-send-email?
> 
> 
> thanks,
> 
> Takashi
> 
> > 
> > ===========================
> > 
> > Noble Yang
> > 
> > Cell : +886-955-347822
> > 
> > 晨臻股份有限公司
> > 
> > Comtrue Inc.
> > 
> > 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.
> > 
> > 
> > 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
> > 
> 
> 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
>