• Takashi Iwai's avatar
    ALSA: seq: Bind UMP device · 81fd444a
    Takashi Iwai authored
    This patch introduces a new ALSA sequencer client for the kernel UMP
    object, snd-seq-ump-client.  It's a UMP version of snd-seq-midi
    driver, while this driver creates a sequencer client per UMP endpoint
    which contains (fixed) 16 ports.
    
    The UMP rawmidi device is opened in APPEND mode for output, so that
    multiple sequencer clients can share the same UMP endpoint, as well as
    the legacy UMP rawmidi devices that are opened in APPEND mode, too.
    For input, on the other hand, the incoming data is processed on the
    fly in the dedicated hook, hence it doesn't open a rawmidi device.
    
    The UMP packet group is updated upon delivery depending on the target
    sequencer port (which corresponds to the actual UMP group).
    
    Each sequencer port sets a new port type bit,
    SNDRV_SEQ_PORT_TYPE_MIDI_UMP, in addition to the other standard
    types for MIDI.
    Reviewed-by: default avatarJaroslav Kysela <perex@perex.cz>
    Link: https://lore.kernel.org/r/20230523075358.9672-33-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    81fd444a
ump.c 18.5 KB