Re: [PATCH] ALSA: usb-audio: Add Hiby R3 to quirks for native DSD support

From: Takashi Iwai
Date: Mon Aug 26 2019 - 12:12:38 EST


On Mon, 26 Aug 2019 18:05:05 +0200,
Sudo Kamikaze wrote:
>
> From: Sudokamikaze <sudokamikaze@xxxxxxxxxxxxxx>
>
> This patch adds quirk VID/PID IDs for Hiby R3 portable DSD player DSD support
>
> Signed-off-by: Sudokamikaze <sudokamikaze@xxxxxxxxxxxxxx>
> ---
> sound/usb/quirks.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
> index 78858918cbc1..f90418149e4e 100644
> --- a/sound/usb/quirks.c
> +++ b/sound/usb/quirks.c
> @@ -1588,6 +1588,12 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
> if (fp->altsetting == 2)
> return SNDRV_PCM_FMTBIT_DSD_U32_BE;
> break;
> +
> + /* ESS Sabre based USB DACs */
> + case USB_ID(0xc502, 0x0051): /* Hiby R3 */
> + if (fp->altsetting == 4)
> + return SNDRV_PCM_FMTBIT_DSD_U32_BE;
> + break;

Is fp->dsd_raw set for your device? IOW, instead of adding an
individual entry here, adding the vendor 0xc502 with fp->dsd_raw check
like below would work?


thanks,

Takashi

--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1658,6 +1658,7 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
case 0x152a: /* Thesycon devices */
case 0x25ce: /* Mytek devices */
case 0x2ab6: /* T+A devices */
+ case 0xc502: /* ESS Sabre */
if (fp->dsd_raw)
return SNDRV_PCM_FMTBIT_DSD_U32_BE;
break;