Re: [PATCH 1/2] ALSA: usb-audio: Add quirk for RME Digiface USB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Mon, 02 Sep 2024 10:12:18 +0200,
Asahi Lina wrote:
> 
> 
> 
> On 9/2/24 3:10 PM, Takashi Iwai wrote:
> > On Sun, 01 Sep 2024 23:31:50 +0200,
> > Asahi Lina wrote:
> >>
> >> From: Cyan Nyan <cyan.vtb@xxxxxxxxx>
> >>
> >> Add trivial support for audio streaming on the RME Digiface USB. Binds
> >> only to the first interface to allow userspace to directly drive the
> >> complex I/O and matrix mixer controls.
> >>
> >> Signed-off-by: Cyan Nyan <cyan.vtb@xxxxxxxxx>
> >> [Lina: Added 2x/4x sample rate support & boot/format quirks]
> >> Co-developed-by: Asahi Lina <lina@xxxxxxxxxxxxx>
> >> Signed-off-by: Asahi Lina <lina@xxxxxxxxxxxxx>
> >> ---
> >>  sound/usb/quirks-table.h | 190 ++++++++++++++++++++++++++++++++++++++++++++++-
> >>  sound/usb/quirks.c       |  58 +++++++++++++++
> >>  2 files changed, 247 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
> >> index 73abc38a5400..47fd18791396 100644
> >> --- a/sound/usb/quirks-table.h
> >> +++ b/sound/usb/quirks-table.h
> >> @@ -4546,6 +4546,194 @@ YAMAHA_DEVICE(0x7010, "UB99"),
> >>  		}
> >>  	}
> >>  },
> >> -
> >> +{
> >> +	/* Only claim interface 0 */
> >> +	.match_flags = USB_DEVICE_ID_MATCH_VENDOR |
> >> +		       USB_DEVICE_ID_MATCH_PRODUCT |
> >> +		       USB_DEVICE_ID_MATCH_INT_CLASS |
> >> +		       USB_DEVICE_ID_MATCH_INT_NUMBER,
> >> +	.idVendor = 0x2a39,
> >> +	.idProduct = 0x3f8c,
> >> +	.bInterfaceClass = USB_CLASS_VENDOR_SPEC,
> >> +	.bInterfaceNumber = 0,
> >> +	.driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
> >> +		.ifnum = QUIRK_ANY_INTERFACE,
> >> +		.type = QUIRK_COMPOSITE,
> > (snip)
> > 
> > Recently the quirk tables are rewritten with macros.
> > See the commit d79e13f8e8abb5cd3a2a0f9fc9bc3fc750c5b06f
> >     ALSA: usb-audio: Replace complex quirk lines with macros
> > in for-next branch of sound.git tree.
> > 
> > Could you try to apply to your new entries, too?
> 
> Sure! Note that I open-coded the USB match because I need to add
> USB_DEVICE_ID_MATCH_INT_NUMBER (to stop the driver from binding to and
> claiming all interfaces, QUIRK_DATA_IGNORE() is not enough for that).
> Should I leave it like that (since it's the only case so far) or do you
> want me to introduce another macro for that case?

The open-code with match_flags is fine, you can keep that.
If we have other similar cases, we can introduce a macro for cleanup
later, too.


> I'll rewrite the quirk info stuff with the macros for v2. I'll also
> remove USB_ENDPOINT_USAGE_IMPLICIT_FB since I'm pretty sure that does
> nothing here (at first I thought I could get it to pick up the implicit
> FB with that but I ended up having to specify the sync/implicit_fb stuff
> explicitly).

Sounds good.  Thanks!


Takashi




[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux