Lines Matching refs:rmidi
59 struct snd_usb_midi2_ump *rmidi; /* assigned UMP EP pair */ member
338 struct snd_usb_midi2_ump *rmidi = ump->private_data; in ump_to_endpoint() local
340 return rmidi->eps[dir]; in ump_to_endpoint()
588 static int parse_group_terminal_block(struct snd_usb_midi2_ump *rmidi, in parse_group_terminal_block() argument
591 struct snd_ump_endpoint *ump = rmidi->ump; in parse_group_terminal_block()
630 struct snd_usb_midi2_ump *rmidi; in parse_group_terminal_blocks() local
640 list_for_each_entry(rmidi, &umidi->rawmidi_list, list) { in parse_group_terminal_blocks()
641 desc = find_group_terminal_block(umidi, rmidi->usb_block_id); in parse_group_terminal_blocks()
644 err = parse_group_terminal_block(rmidi, desc); in parse_group_terminal_blocks()
683 struct snd_usb_midi2_ump *rmidi; in free_all_midi2_umps() local
686 rmidi = list_first_entry(&umidi->rawmidi_list, in free_all_midi2_umps()
688 list_del(&rmidi->list); in free_all_midi2_umps()
689 kfree(rmidi); in free_all_midi2_umps()
698 struct snd_usb_midi2_ump *rmidi; in create_midi2_ump() local
704 rmidi = kzalloc(sizeof(*rmidi), GFP_KERNEL); in create_midi2_ump()
705 if (!rmidi) in create_midi2_ump()
707 INIT_LIST_HEAD(&rmidi->list); in create_midi2_ump()
708 rmidi->dev = umidi->chip->dev; in create_midi2_ump()
709 rmidi->umidi = umidi; in create_midi2_ump()
710 rmidi->usb_block_id = blk_id; in create_midi2_ump()
712 rmidi->index = umidi->chip->num_rawmidis; in create_midi2_ump()
713 snprintf(idstr, sizeof(idstr), "UMP %d", rmidi->index); in create_midi2_ump()
716 err = snd_ump_endpoint_new(umidi->chip->card, idstr, rmidi->index, in create_midi2_ump()
720 kfree(rmidi); in create_midi2_ump()
724 rmidi->ump = ump; in create_midi2_ump()
727 ump->private_data = rmidi; in create_midi2_ump()
730 rmidi->eps[STR_IN] = ep_in; in create_midi2_ump()
731 rmidi->eps[STR_OUT] = ep_out; in create_midi2_ump()
734 ep_in->rmidi = rmidi; in create_midi2_ump()
739 ep_out->rmidi = rmidi; in create_midi2_ump()
743 list_add_tail(&rmidi->list, &umidi->rawmidi_list); in create_midi2_ump()
751 struct snd_usb_midi2_ump *rmidi; in find_midi2_ump() local
753 list_for_each_entry(rmidi, &umidi->rawmidi_list, list) { in find_midi2_ump()
754 if (rmidi->usb_block_id == blk_id) in find_midi2_ump()
755 return rmidi; in find_midi2_ump()
793 struct snd_usb_midi2_ump *rmidi; in parse_ump_endpoints() local
796 list_for_each_entry(rmidi, &umidi->rawmidi_list, list) { in parse_ump_endpoints()
797 if (!rmidi->ump || in parse_ump_endpoints()
798 !(rmidi->ump->core.info_flags & SNDRV_RAWMIDI_INFO_DUPLEX)) in parse_ump_endpoints()
800 err = snd_ump_parse_endpoint(rmidi->ump); in parse_ump_endpoints()
802 rmidi->ump_parsed = true; in parse_ump_endpoints()
813 static int create_gtb_block(struct snd_usb_midi2_ump *rmidi, int dir, int blk) in create_gtb_block() argument
815 struct snd_usb_midi2_interface *umidi = rmidi->umidi; in create_gtb_block()
849 err = snd_ump_block_new(rmidi->ump, blk - 1, type, in create_gtb_block()
858 usb_string(rmidi->dev, desc->iBlockItem, in create_gtb_block()
869 if (rmidi->ump->info.protocol_caps & SNDRV_UMP_EP_INFO_PROTO_MIDI2) { in create_gtb_block()
880 snd_ump_update_group_attrs(rmidi->ump); in create_gtb_block()
891 struct snd_usb_midi2_ump *rmidi; in create_blocks_from_gtb() local
894 list_for_each_entry(rmidi, &umidi->rawmidi_list, list) { in create_blocks_from_gtb()
895 if (!rmidi->ump) in create_blocks_from_gtb()
898 if (rmidi->ump_parsed || rmidi->ump->info.num_blocks) in create_blocks_from_gtb()
901 rmidi->ump->info.flags |= SNDRV_UMP_EP_INFO_STATIC_BLOCKS; in create_blocks_from_gtb()
904 if (!rmidi->eps[dir]) in create_blocks_from_gtb()
906 for (i = 0; i < rmidi->eps[dir]->ms_ep->bNumGrpTrmBlock; i++) { in create_blocks_from_gtb()
907 blk = rmidi->eps[dir]->ms_ep->baAssoGrpTrmBlkID[i]; in create_blocks_from_gtb()
908 err = create_gtb_block(rmidi, dir, blk); in create_blocks_from_gtb()
922 struct snd_usb_midi2_ump *rmidi; in attach_legacy_rawmidi() local
925 list_for_each_entry(rmidi, &umidi->rawmidi_list, list) { in attach_legacy_rawmidi()
926 err = snd_ump_attach_legacy_rawmidi(rmidi->ump, in attach_legacy_rawmidi()
983 if (ep->rmidi) in parse_midi_2_0()
1049 struct snd_usb_midi2_ump *rmidi; in set_fallback_rawmidi_names() local
1052 list_for_each_entry(rmidi, &umidi->rawmidi_list, list) { in set_fallback_rawmidi_names()
1053 ump = rmidi->ump; in set_fallback_rawmidi_names()
1061 sprintf(ump->info.name, "USB MIDI %d", rmidi->index); in set_fallback_rawmidi_names()