Message ID | 20201110061742.78033-1-dmanlfc@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | ALSA: usb-audio : Add support for the Pioneer DJ DDJ-RR controller. | expand |
On Tue, 10 Nov 2020 07:17:40 +0100, Daniel wrote: > > --- > sound/usb/quirks-table.h | 56 +++++++++++++++++++++++++++++++++++++++- > 1 file changed, 55 insertions(+), 1 deletion(-) > > diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h > index 3c1697f6b60c..a39233cb4d72 100644 > --- a/sound/usb/quirks-table.h > +++ b/sound/usb/quirks-table.h > @@ -3530,7 +3530,61 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"), > } > } > }, > - > +{ > + /* > + * PIONEER DJ DDJ-RR > + * PCM is 6 channels out & 4 channels in @ 44.1 fixed > + */ > + USB_DEVICE_VENDOR_SPEC(0x2b73, 0x000d), > + .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 = 6, //Master, Headphones & Booth > + .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 = 4, //2x RCA inputs (CH1 & CH2) > + .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 > + } > + } > + } > +}, The code change itself looks reasonable, but the patch misses the description completely. Could you give the patch description? Also, a signed-off-by line is mandatory from the legal reason, so please add this together and resubmit the patch. Thanks! Takashi
Hi Takashi, It will be a while before I can amend as my Linux PC with the kernel git gave up the ghost this weekend. Currently I don't have a PC to access my Arch Linux drive for continuity. SInce this is just an audio quirk, can you make the necessary amendments for me in this patch? Description: Allows the Pioneer DJ DDJ-RR to be seen as a USB audio device under Linux and therefore usable in such applications as Mixxx. - Tested Master Audio out, headphones (both output jacks) and microphone input. All work perfectly. SIgn-Off-By: Daniel Martin <dmanlfc@gmail.com> Or alternatively, how can I do this via a web browser in a patch submission portal? Thanks in advance, Dan On Fri, 20 Nov 2020 at 01:44, Takashi Iwai <tiwai@suse.de> wrote: > On Tue, 10 Nov 2020 07:17:40 +0100, > Daniel wrote: > > > > --- > > sound/usb/quirks-table.h | 56 +++++++++++++++++++++++++++++++++++++++- > > 1 file changed, 55 insertions(+), 1 deletion(-) > > > > diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h > > index 3c1697f6b60c..a39233cb4d72 100644 > > --- a/sound/usb/quirks-table.h > > +++ b/sound/usb/quirks-table.h > > @@ -3530,7 +3530,61 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", > "HVR-950Q"), > > } > > } > > }, > > - > > +{ > > + /* > > + * PIONEER DJ DDJ-RR > > + * PCM is 6 channels out & 4 channels in @ 44.1 fixed > > + */ > > + USB_DEVICE_VENDOR_SPEC(0x2b73, 0x000d), > > + .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 = 6, //Master, > Headphones & Booth > > + .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 = 4, //2x RCA inputs > (CH1 & CH2) > > + .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 > > + } > > + } > > + } > > +}, > > The code change itself looks reasonable, but the patch misses the > description completely. Could you give the patch description? > Also, a signed-off-by line is mandatory from the legal reason, so > please add this together and resubmit the patch. > > > Thanks! > > Takashi >
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h index 3c1697f6b60c..a39233cb4d72 100644 --- a/sound/usb/quirks-table.h +++ b/sound/usb/quirks-table.h @@ -3530,7 +3530,61 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"), } } }, - +{ + /* + * PIONEER DJ DDJ-RR + * PCM is 6 channels out & 4 channels in @ 44.1 fixed + */ + USB_DEVICE_VENDOR_SPEC(0x2b73, 0x000d), + .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 = 6, //Master, Headphones & Booth + .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 = 4, //2x RCA inputs (CH1 & CH2) + .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 + } + } + } +}, { /* * Pioneer DJ DJM-900NXS2