| From 9e9733a84019b4652b6aeca06d2afe470e7f0402 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 28 Aug 2019 00:08:46 +0300 |
| Subject: ALSA: usb-audio: DSD auto-detection for Playback Designs |
| |
| From: Jussi Laako <jussi@sonarnerd.net> |
| |
| [ Upstream commit eb7505d52a2f8b0cfc3fd7146d8cb2dab5a73f0d ] |
| |
| Add DSD support auto-detection for newer Playback Designs devices. Older |
| device generations have a different USB interface implementation. |
| |
| Keep the auto-detection VID whitelist sorted. |
| |
| Signed-off-by: Jussi Laako <jussi@sonarnerd.net> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/usb/quirks.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c |
| index b6f7b13768a10..6f228b4ec8c3e 100644 |
| --- a/sound/usb/quirks.c |
| +++ b/sound/usb/quirks.c |
| @@ -1563,7 +1563,8 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, |
| struct usb_interface *iface; |
| |
| /* Playback Designs */ |
| - if (USB_ID_VENDOR(chip->usb_id) == 0x23ba) { |
| + if (USB_ID_VENDOR(chip->usb_id) == 0x23ba && |
| + USB_ID_PRODUCT(chip->usb_id) < 0x0110) { |
| switch (fp->altsetting) { |
| case 1: |
| fp->dsd_dop = true; |
| @@ -1651,8 +1652,9 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip, |
| * from XMOS/Thesycon |
| */ |
| switch (USB_ID_VENDOR(chip->usb_id)) { |
| - case 0x20b1: /* XMOS based devices */ |
| case 0x152a: /* Thesycon devices */ |
| + case 0x20b1: /* XMOS based devices */ |
| + case 0x23ba: /* Playback Designs */ |
| case 0x25ce: /* Mytek devices */ |
| case 0x2ab6: /* T+A devices */ |
| case 0x3842: /* EVGA */ |
| -- |
| 2.20.1 |
| |