summaryrefslogtreecommitdiffstats
path: root/include/uapi/sound/asequencer.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2024-08-06 09:00:23 +0200
committerTakashi Iwai <tiwai@suse.de>2024-08-06 09:01:23 +0200
commit0079c9d1e58a39148e6ce13bda55307ea6aa3a9e (patch)
tree6b8cc6fa3c284b298ed478be80ca12f691f9d015 /include/uapi/sound/asequencer.h
parentALSA: pcm_timer: use snd_pcm_direction_name() (diff)
downloadlinux-0079c9d1e58a39148e6ce13bda55307ea6aa3a9e.tar.xz
linux-0079c9d1e58a39148e6ce13bda55307ea6aa3a9e.zip
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>
Diffstat (limited to 'include/uapi/sound/asequencer.h')
-rw-r--r--include/uapi/sound/asequencer.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/uapi/sound/asequencer.h b/include/uapi/sound/asequencer.h
index 39b37edcf813..bc30c1f2a109 100644
--- a/include/uapi/sound/asequencer.h
+++ b/include/uapi/sound/asequencer.h
@@ -461,6 +461,8 @@ struct snd_seq_remove_events {
#define SNDRV_SEQ_PORT_FLG_TIMESTAMP (1<<1)
#define SNDRV_SEQ_PORT_FLG_TIME_REAL (1<<2)
+#define SNDRV_SEQ_PORT_FLG_IS_MIDI1 (1<<3) /* Keep MIDI 1.0 protocol */
+
/* port direction */
#define SNDRV_SEQ_PORT_DIR_UNKNOWN 0
#define SNDRV_SEQ_PORT_DIR_INPUT 1