mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
ALSA: usb-audio: Set MIDI1 flag appropriately for GTB MIDI 1.0 entry
When a MIDI 1.0 protocol is specified in a GTB entry while others are set in MIDI 2.0, it should be seen as a legacy MIDI 1.0 port. Since recently we allow drivers to set a flag SNDRV_UMP_BLOCK_IS_MIDI1 to a FB for that purpose. This patch tries to set that flag when the device shows such a configuration. Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://patch.msgid.link/20240807092303.1935-4-tiwai@suse.de
This commit is contained in:
parent
b28654233f
commit
ac3a9185bd
@ -863,9 +863,23 @@ static int create_gtb_block(struct snd_usb_midi2_ump *rmidi, int dir, int blk)
|
||||
fb->info.flags |= SNDRV_UMP_BLOCK_IS_MIDI1 |
|
||||
SNDRV_UMP_BLOCK_IS_LOWSPEED;
|
||||
|
||||
/* if MIDI 2.0 protocol is supported and yet the GTB shows MIDI 1.0,
|
||||
* treat it as a MIDI 1.0-specific block
|
||||
*/
|
||||
if (rmidi->ump->info.protocol_caps & SNDRV_UMP_EP_INFO_PROTO_MIDI2) {
|
||||
switch (desc->bMIDIProtocol) {
|
||||
case USB_MS_MIDI_PROTO_1_0_64:
|
||||
case USB_MS_MIDI_PROTO_1_0_64_JRTS:
|
||||
case USB_MS_MIDI_PROTO_1_0_128:
|
||||
case USB_MS_MIDI_PROTO_1_0_128_JRTS:
|
||||
fb->info.flags |= SNDRV_UMP_BLOCK_IS_MIDI1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
usb_audio_dbg(umidi->chip,
|
||||
"Created a UMP block %d from GTB, name=%s\n",
|
||||
blk, fb->info.name);
|
||||
"Created a UMP block %d from GTB, name=%s, flags=0x%x\n",
|
||||
blk, fb->info.name, fb->info.flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user