All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support
@ 2018-11-28 20:16 Tony Das
  2018-11-29  8:36 ` Takashi Iwai
  2019-01-21 16:33 ` Jussi Laako
  0 siblings, 2 replies; 7+ messages in thread
From: Tony Das @ 2018-11-28 20:16 UTC (permalink / raw)
  To: alsa-devel

This patch adds quirk VID/PID IDs for the SMSL D1 in order to enable
Native DSD support.

Signed-off-by: Tony Das <tdas444@gmail.com>
---
Author: Tony Das <tdas444@gmail.com>
Date: Tue Nov 27 22:13:30 2018 +0000

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 3d0f09108c98..aeac6bb7e111 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1515,6 +1515,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct
snd_usb_audio *chip,
   case USB_ID(0x27f7, 0x3002): /* W4S DAC-2v2SE */
   case USB_ID(0x29a2, 0x0086): /* Mutec MC3+ USB */
   case USB_ID(0x6b42, 0x0042): /* MSB Technology */
+   case USB_ID(0x152a, 0x85de): /* SMSL D1 DAC */
       if (fp->altsetting == 3)
           return SNDRV_PCM_FMTBIT_DSD_U32_BE;
       break;

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support
  2018-11-28 20:16 [PATCH] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support Tony Das
@ 2018-11-29  8:36 ` Takashi Iwai
  2019-01-21 16:33 ` Jussi Laako
  1 sibling, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2018-11-29  8:36 UTC (permalink / raw)
  To: Tony Das; +Cc: alsa-devel

On Wed, 28 Nov 2018 21:16:37 +0100,
Tony Das wrote:
> 
> This patch adds quirk VID/PID IDs for the SMSL D1 in order to enable
> Native DSD support.
> 
> Signed-off-by: Tony Das <tdas444@gmail.com>

Applied now manually now, as the patch isn't cleanly applicable.
At best, please try to submit with git-send-email.

BTW, the entries there are sorted in the num ID order, so I moved the
new one to the right place, too.


thanks,

Takashi


> ---
> Author: Tony Das <tdas444@gmail.com>
> Date: Tue Nov 27 22:13:30 2018 +0000
> 
> diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> index 3d0f09108c98..aeac6bb7e111 100644
> --- a/sound/usb/quirks.c
> +++ b/sound/usb/quirks.c
> @@ -1515,6 +1515,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct
> snd_usb_audio *chip,
>    case USB_ID(0x27f7, 0x3002): /* W4S DAC-2v2SE */
>    case USB_ID(0x29a2, 0x0086): /* Mutec MC3+ USB */
>    case USB_ID(0x6b42, 0x0042): /* MSB Technology */
> +   case USB_ID(0x152a, 0x85de): /* SMSL D1 DAC */
>        if (fp->altsetting == 3)
>            return SNDRV_PCM_FMTBIT_DSD_U32_BE;
>        break;
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support
  2018-11-28 20:16 [PATCH] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support Tony Das
  2018-11-29  8:36 ` Takashi Iwai
@ 2019-01-21 16:33 ` Jussi Laako
  2019-01-21 21:34   ` Takashi Iwai
  1 sibling, 1 reply; 7+ messages in thread
From: Jussi Laako @ 2019-01-21 16:33 UTC (permalink / raw)
  To: alsa-devel, Tony Das, Takashi Iwai

On 28.11.2018 22.16, Tony Das wrote:
> This patch adds quirk VID/PID IDs for the SMSL D1 in order to enable
> Native DSD support.
> 
> Signed-off-by: Tony Das <tdas444@gmail.com>
> ---
> Author: Tony Das <tdas444@gmail.com>
> Date: Tue Nov 27 22:13:30 2018 +0000
> 
> diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> index 3d0f09108c98..aeac6bb7e111 100644
> --- a/sound/usb/quirks.c
> +++ b/sound/usb/quirks.c
> @@ -1515,6 +1515,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct
> snd_usb_audio *chip,
>     case USB_ID(0x27f7, 0x3002): /* W4S DAC-2v2SE */
>     case USB_ID(0x29a2, 0x0086): /* Mutec MC3+ USB */
>     case USB_ID(0x6b42, 0x0042): /* MSB Technology */
> +   case USB_ID(0x152a, 0x85de): /* SMSL D1 DAC */
>         if (fp->altsetting == 3)
>             return SNDRV_PCM_FMTBIT_DSD_U32_BE;
>         break;

These kind of device specific white-listing patches are unnecessary 
these days for VID 0x152a (Thesycon), 0x20b1 (XMOS) and 0x25ce (Mytek) 
because they are covered by the auto-detection code (below this 
whitelisting table). In fact, for some products they cause problems due 
to firmware changes that cause the DSD altsetting to change. Also there 
are vendors who use same VID:PID pair for multiple products with 
different firmware variants and different altsettings which in turn 
causes problems with these static altsetting listings.

So I would strongly advise to use the autodetection whenever possible. 
In my own kernel builds I've removed all those mentioned VIDs from the 
PID specific table, but for the already included patches I took more 
conservative approach and removed only the ones I could 100% test myself.

Sorry for the delay, I didn't notice this posting until now...


Best regards,

	 - Jussi

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support
  2019-01-21 16:33 ` Jussi Laako
@ 2019-01-21 21:34   ` Takashi Iwai
  2019-01-28 22:47     ` [PATCH 0/1] ALSA: usb-audio: Cleanup DSD whitelist Jussi Laako
  0 siblings, 1 reply; 7+ messages in thread
From: Takashi Iwai @ 2019-01-21 21:34 UTC (permalink / raw)
  To: Jussi Laako; +Cc: alsa-devel, Tony Das

On Mon, 21 Jan 2019 17:33:22 +0100,
Jussi Laako wrote:
> 
> On 28.11.2018 22.16, Tony Das wrote:
> > This patch adds quirk VID/PID IDs for the SMSL D1 in order to enable
> > Native DSD support.
> >
> > Signed-off-by: Tony Das <tdas444@gmail.com>
> > ---
> > Author: Tony Das <tdas444@gmail.com>
> > Date: Tue Nov 27 22:13:30 2018 +0000
> >
> > diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> > index 3d0f09108c98..aeac6bb7e111 100644
> > --- a/sound/usb/quirks.c
> > +++ b/sound/usb/quirks.c
> > @@ -1515,6 +1515,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct
> > snd_usb_audio *chip,
> >     case USB_ID(0x27f7, 0x3002): /* W4S DAC-2v2SE */
> >     case USB_ID(0x29a2, 0x0086): /* Mutec MC3+ USB */
> >     case USB_ID(0x6b42, 0x0042): /* MSB Technology */
> > +   case USB_ID(0x152a, 0x85de): /* SMSL D1 DAC */
> >         if (fp->altsetting == 3)
> >             return SNDRV_PCM_FMTBIT_DSD_U32_BE;
> >         break;
> 
> These kind of device specific white-listing patches are unnecessary
> these days for VID 0x152a (Thesycon), 0x20b1 (XMOS) and 0x25ce (Mytek)
> because they are covered by the auto-detection code (below this
> whitelisting table). In fact, for some products they cause problems
> due to firmware changes that cause the DSD altsetting to change. Also
> there are vendors who use same VID:PID pair for multiple products with
> different firmware variants and different altsettings which in turn
> causes problems with these static altsetting listings.
> 
> So I would strongly advise to use the autodetection whenever
> possible. In my own kernel builds I've removed all those mentioned
> VIDs from the PID specific table, but for the already included patches
> I took more conservative approach and removed only the ones I could
> 100% test myself.

Care to send a cleanup patch?  That'll be really helpful.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 0/1] ALSA: usb-audio: Cleanup DSD whitelist
  2019-01-21 21:34   ` Takashi Iwai
@ 2019-01-28 22:47     ` Jussi Laako
  2019-01-28 22:47       ` [PATCH] " Jussi Laako
  0 siblings, 1 reply; 7+ messages in thread
From: Jussi Laako @ 2019-01-28 22:47 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai

Here's a cleanup patch for XMOS and Thesycon VID's from the explicit
VID:PID device whitelist. I personally don't have these remaining
devices, but based on what I know they should also work with the
auto-detection code.

In addition, I fixed ordering of the list so that it stays sorted.

I've also noticed earlier on thing, I strongly suspect there's a typo in
"NuPrime DAC-10" VID. It is "0x16b0" now, while there are other devices
with VID "0x16d0", including one other NuPrime device. Although nobody
seems to have complained about it either. Or maybe even the device itself
has a typo in VID, who knows...

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] ALSA: usb-audio: Cleanup DSD whitelist
  2019-01-28 22:47     ` [PATCH 0/1] ALSA: usb-audio: Cleanup DSD whitelist Jussi Laako
@ 2019-01-28 22:47       ` Jussi Laako
  2019-01-29 10:08         ` Takashi Iwai
  0 siblings, 1 reply; 7+ messages in thread
From: Jussi Laako @ 2019-01-28 22:47 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, Jussi Laako

XMOS/Thesycon family of USB Audio Class firmware flags DSD altsetting
separate from the PCM ones. Thus the DSD altsetting can be auto-detected
based on the flag and doesn't need maintaining specific altsetting
whitelist.

In addition, static VID:PID-to-altsetting whitelisting causes problems
when firmware update changes the altsetting, or same VID:PID is reused
for another device that has different kind of firmware.

This patch removes existing explicit whitelist mappings for XMOS VID
(0x20b1) and Thesycon VID (0x152a).

Also corrects placement of Hegel HD12 and NuPrime DAC-10 to keep list
sorted based on VID.

Signed-off-by: Jussi Laako <jussi@sonarnerd.net>
---
 sound/usb/quirks.c | 18 ++----------------
 1 file changed, 2 insertions(+), 16 deletions(-)

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index bb8372833fc2..ef67d19117c4 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1479,10 +1479,6 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
 	/* XMOS based USB DACs */
 	switch (chip->usb_id) {
 	case USB_ID(0x1511, 0x0037): /* AURALiC VEGA */
-	case USB_ID(0x20b1, 0x0002): /* Wyred 4 Sound DAC-2 DSD */
-	case USB_ID(0x20b1, 0x2004): /* Matrix Audio X-SPDIF 2 */
-	case USB_ID(0x20b1, 0x2008): /* Matrix Audio X-Sabre */
-	case USB_ID(0x20b1, 0x300a): /* Matrix Audio Mini-i Pro */
 	case USB_ID(0x22d9, 0x0416): /* OPPO HA-1 */
 	case USB_ID(0x22d9, 0x0436): /* OPPO Sonica */
 	case USB_ID(0x22d9, 0x0461): /* OPPO UDP-205 */
@@ -1492,23 +1488,13 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
 			return SNDRV_PCM_FMTBIT_DSD_U32_BE;
 		break;
 
-	case USB_ID(0x10cb, 0x0103): /* The Bit Opus #3; with fp->dsd_raw */
-	case USB_ID(0x152a, 0x85de): /* SMSL D1 DAC */
-	case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */
 	case USB_ID(0x0d8c, 0x0316): /* Hegel HD12 DSD */
+	case USB_ID(0x10cb, 0x0103): /* The Bit Opus #3; with fp->dsd_raw */
 	case USB_ID(0x16b0, 0x06b2): /* NuPrime DAC-10 */
+	case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */
 	case USB_ID(0x16d0, 0x0733): /* Furutech ADL Stratos */
 	case USB_ID(0x16d0, 0x09db): /* NuPrime Audio DAC-9 */
 	case USB_ID(0x1db5, 0x0003): /* Bryston BDA3 */
-	case USB_ID(0x20b1, 0x000a): /* Gustard DAC-X20U */
-	case USB_ID(0x20b1, 0x2005): /* Denafrips Ares DAC */
-	case USB_ID(0x20b1, 0x2009): /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
-	case USB_ID(0x20b1, 0x2023): /* JLsounds I2SoverUSB */
-	case USB_ID(0x20b1, 0x3021): /* Eastern El. MiniMax Tube DAC Supreme */
-	case USB_ID(0x20b1, 0x3023): /* Aune X1S 32BIT/384 DSD DAC */
-	case USB_ID(0x20b1, 0x302d): /* Unison Research Unico CD Due */
-	case USB_ID(0x20b1, 0x307b): /* CH Precision C1 DAC */
-	case USB_ID(0x20b1, 0x3086): /* Singxer F-1 converter board */
 	case USB_ID(0x22d9, 0x0426): /* OPPO HA-2 */
 	case USB_ID(0x22e1, 0xca01): /* HDTA Serenade DSD */
 	case USB_ID(0x249c, 0x9326): /* M2Tech Young MkIII */
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] ALSA: usb-audio: Cleanup DSD whitelist
  2019-01-28 22:47       ` [PATCH] " Jussi Laako
@ 2019-01-29 10:08         ` Takashi Iwai
  0 siblings, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2019-01-29 10:08 UTC (permalink / raw)
  To: Jussi Laako; +Cc: alsa-devel

On Mon, 28 Jan 2019 23:47:01 +0100,
Jussi Laako wrote:
> 
> XMOS/Thesycon family of USB Audio Class firmware flags DSD altsetting
> separate from the PCM ones. Thus the DSD altsetting can be auto-detected
> based on the flag and doesn't need maintaining specific altsetting
> whitelist.
> 
> In addition, static VID:PID-to-altsetting whitelisting causes problems
> when firmware update changes the altsetting, or same VID:PID is reused
> for another device that has different kind of firmware.
> 
> This patch removes existing explicit whitelist mappings for XMOS VID
> (0x20b1) and Thesycon VID (0x152a).
> 
> Also corrects placement of Hegel HD12 and NuPrime DAC-10 to keep list
> sorted based on VID.
> 
> Signed-off-by: Jussi Laako <jussi@sonarnerd.net>

Applied, thanks.


Takashi

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-01-29 10:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-28 20:16 [PATCH] ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support Tony Das
2018-11-29  8:36 ` Takashi Iwai
2019-01-21 16:33 ` Jussi Laako
2019-01-21 21:34   ` Takashi Iwai
2019-01-28 22:47     ` [PATCH 0/1] ALSA: usb-audio: Cleanup DSD whitelist Jussi Laako
2019-01-28 22:47       ` [PATCH] " Jussi Laako
2019-01-29 10:08         ` Takashi Iwai

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.