]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ALSA: ump: Handle MIDI 1.0 Function Block in MIDI 2.0 protocol
authorTakashi Iwai <tiwai@suse.de>
Tue, 6 Aug 2024 07:00:23 +0000 (09:00 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 6 Aug 2024 07:01:23 +0000 (09:01 +0200)
commit0079c9d1e58a39148e6ce13bda55307ea6aa3a9e
tree6b8cc6fa3c284b298ed478be80ca12f691f9d015
parenta48fee68a8fa35fc1a9b924c06d3e023d067ff41
ALSA: ump: Handle MIDI 1.0 Function Block in MIDI 2.0 protocol

The UMP v1.1 spec says in the section 6.2.1:
"If a UMP Endpoint declares MIDI 2.0 Protocol but a Function Block
represents a MIDI 1.0 connection, then may optionally be used for
messages to/from that Function Block."

It implies that the driver can (and should) keep MIDI 1.0 CVM
exceptionally for those FBs even if UMP Endpoint is running in MIDI
2.0 protocol, and the current driver lacks of it.

This patch extends the sequencer port info to indicate a MIDI 1.0
port, and tries to send/receive MIDI 1.0 CVM as is when this port is
the source or sink.  The sequencer port flag is set by the driver at
parsing FBs and GTBs although application can set it to its own
user-space clients, too.

Link: https://patch.msgid.link/20240806070024.14301-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/ump.h
include/uapi/sound/asequencer.h
sound/core/seq/seq_ports.c
sound/core/seq/seq_ports.h
sound/core/seq/seq_ump_client.c
sound/core/seq/seq_ump_convert.c
sound/core/ump.c