ALSA: ump: Add no_process_stream flag
authorTakashi Iwai <tiwai@suse.de>
Wed, 21 Jun 2023 11:02:40 +0000 (13:02 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 21 Jun 2023 11:06:18 +0000 (13:06 +0200)
This is another preliminary patch for USB MIDI 2.0 gadget driver.
Add a new flag, no_process_stream, to snd_ump for suppressing the UMP
Stream message handling in UMP core.

Link: https://lore.kernel.org/r/20230621110241.4751-3-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/ump.h
sound/core/ump.c

index 3c7e674..2f6a994 100644 (file)
@@ -28,6 +28,7 @@ struct snd_ump_endpoint {
        u32 stream_wait_for;    /* expected stream message status */
        bool stream_finished;   /* set when message has been processed */
        bool parsed;            /* UMP / FB parse finished? */
+       bool no_process_stream; /* suppress UMP stream messages handling */
        wait_queue_head_t stream_wait;
        struct snd_rawmidi_file stream_rfile;
 
index 4150b9c..5e73c9c 100644 (file)
@@ -854,6 +854,10 @@ static void ump_handle_stream_msg(struct snd_ump_endpoint *ump,
        unsigned int status;
        int ret;
 
+       /* UMP stream message suppressed (for gadget UMP)? */
+       if (ump->no_process_stream)
+               return;
+
        BUILD_BUG_ON(sizeof(*msg) != 16);
        ump_dbg(ump, "Stream msg: %08x %08x %08x %08x\n",
                buf[0], buf[1], buf[2], buf[3]);