| From 6e8596172ee1cd46ec0bfd5adcf4ff86371478b6 Mon Sep 17 00:00:00 2001 |
| From: Hector Martin <marcan@marcan.st> |
| Date: Mon, 10 Aug 2020 17:25:02 +0900 |
| Subject: ALSA: usb-audio: add quirk for Pioneer DDJ-RB |
| |
| From: Hector Martin <marcan@marcan.st> |
| |
| commit 6e8596172ee1cd46ec0bfd5adcf4ff86371478b6 upstream. |
| |
| This is just another Pioneer device with fixed endpoints. Input is dummy |
| but used as feedback (it always returns silence). |
| |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Hector Martin <marcan@marcan.st> |
| Link: https://lore.kernel.org/r/20200810082502.225979-1-marcan@marcan.st |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/usb/quirks-table.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++ |
| 1 file changed, 56 insertions(+) |
| |
| --- a/sound/usb/quirks-table.h |
| +++ b/sound/usb/quirks-table.h |
| @@ -3570,6 +3570,62 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge |
| } |
| } |
| }, |
| +{ |
| + /* |
| + * PIONEER DJ DDJ-RB |
| + * PCM is 4 channels out, 2 dummy channels in @ 44.1 fixed |
| + * The feedback for the output is the dummy input. |
| + */ |
| + USB_DEVICE_VENDOR_SPEC(0x2b73, 0x000e), |
| + .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { |
| + .ifnum = QUIRK_ANY_INTERFACE, |
| + .type = QUIRK_COMPOSITE, |
| + .data = (const struct snd_usb_audio_quirk[]) { |
| + { |
| + .ifnum = 0, |
| + .type = QUIRK_AUDIO_FIXED_ENDPOINT, |
| + .data = &(const struct audioformat) { |
| + .formats = SNDRV_PCM_FMTBIT_S24_3LE, |
| + .channels = 4, |
| + .iface = 0, |
| + .altsetting = 1, |
| + .altset_idx = 1, |
| + .endpoint = 0x01, |
| + .ep_attr = USB_ENDPOINT_XFER_ISOC| |
| + USB_ENDPOINT_SYNC_ASYNC, |
| + .rates = SNDRV_PCM_RATE_44100, |
| + .rate_min = 44100, |
| + .rate_max = 44100, |
| + .nr_rates = 1, |
| + .rate_table = (unsigned int[]) { 44100 } |
| + } |
| + }, |
| + { |
| + .ifnum = 0, |
| + .type = QUIRK_AUDIO_FIXED_ENDPOINT, |
| + .data = &(const struct audioformat) { |
| + .formats = SNDRV_PCM_FMTBIT_S24_3LE, |
| + .channels = 2, |
| + .iface = 0, |
| + .altsetting = 1, |
| + .altset_idx = 1, |
| + .endpoint = 0x82, |
| + .ep_attr = USB_ENDPOINT_XFER_ISOC| |
| + USB_ENDPOINT_SYNC_ASYNC| |
| + USB_ENDPOINT_USAGE_IMPLICIT_FB, |
| + .rates = SNDRV_PCM_RATE_44100, |
| + .rate_min = 44100, |
| + .rate_max = 44100, |
| + .nr_rates = 1, |
| + .rate_table = (unsigned int[]) { 44100 } |
| + } |
| + }, |
| + { |
| + .ifnum = -1 |
| + } |
| + } |
| + } |
| +}, |
| |
| #define ALC1220_VB_DESKTOP(vend, prod) { \ |
| USB_DEVICE(vend, prod), \ |