On Tue, 13 Jun 2023 14:41:07 +0200, happy.debugging@xxxxxxxxx wrote: > > Hello I have a few questions: > > 1. As default, USB-audio driver will take the alternate setting for MIDI 2.0 interface: Does this mean that the ALSA driver will default to Alt Function 1 if it exists ? Yes. > 2. What happens when using a kernel that does not support Alt Function 1 (MIDI 2.0) and device with a (much longer) MIDI 2.0 descriptor is attached ? It falls back to MIDI 1.0 interface. > 3. " However, user may let the driver falling back to the old MIDI 1.0 interface by a module option, too." > Can or how it this done via the ALSA API ? You can't. Only via a module option or kconfig. > If the switch is made, does an ALSA client require to re-enumerate all the ports ? > 4. Is there a way to force a specific device (port) to Legacy MIDI 1.0 ? If demanded, we can implement a device-specific quirk for that. > 5. Is there a way , via ALSA, to select UMP MIDI 1.0 protocol instead of MIDI 2.0 UMP protocol. Use the UMP 1.1 Streaming command to switch the protocol. > 6. To which protocol does the driver default ? UMP MIDI 1.0 or UMP MIDI 2.0 ? Whatever the device sets as default. > 7. Does the driver do anything related to Jitter Reduction ? How/is this supported via the ALSA API ?a JRTS is sent as normal UMP packet (also as sequencer events). No particular API is provided for JRTS, so far. > 8. Does the driver do anything related to Bandwidth restriction ? How/is this supported via the ALSA API ? Currently no restriction is. The bandwidth is provided via the API, but it's only for information. > 9. Are/will UMP streaming messages be supported ? (new feature in MIDI 2.0 specification), if yes, how ? It was already implemented in kernel UMP core. See the recent posts. > 10. Is function block information supported via ALSA, i.e added in the ALSA Port information ? Ditto. Takashi