ALSA: ump: Add legacy raw MIDI support
authorTakashi Iwai <tiwai@suse.de>
Tue, 23 May 2023 07:53:35 +0000 (09:53 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 23 May 2023 10:11:09 +0000 (12:11 +0200)
commit0b5288f5fe63eab687c14e5940b9e0d532b129f2
tree8042905dfc0d2efc6c9cb41a08a994299123f33a
parent6b41e64a5d17ec01380bc7ad10afd90e63beca19
ALSA: ump: Add legacy raw MIDI support

This patch extends the UMP core code to support the legacy MIDI 1.0
rawmidi devices.  When the new kconfig CONFIG_SND_UMP_LEGACY_RAWMIDI
is set, the UMP core allows to attach an additional rawmidi device for
each UMP Endpoint.  The rawmidi device contains 16 substreams where
each substream corresponds to a UMP Group belonging to the EP.  The
device reads/writes the legacy MIDI 1.0 byte streams and translates
from/to UMP packets.

The legacy rawmidi devices are exclusive with the UMP rawmidi devices,
hence both of them can't be opened at the same time unless the UMP
rawmidi is opened in APPEND mode.

Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20230523075358.9672-15-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/ump.h
include/sound/ump_msg.h [new file with mode: 0644]
sound/core/Kconfig
sound/core/Makefile
sound/core/ump.c
sound/core/ump_convert.c [new file with mode: 0644]
sound/core/ump_convert.h [new file with mode: 0644]