Lines Matching full:fb

111 	struct snd_ump_block *fb;  in snd_ump_endpoint_free()  local
114 fb = list_first_entry(&ump->block_list, struct snd_ump_block, in snd_ump_endpoint_free()
116 list_del(&fb->list); in snd_ump_endpoint_free()
117 if (fb->private_free) in snd_ump_endpoint_free()
118 fb->private_free(fb); in snd_ump_endpoint_free()
119 kfree(fb); in snd_ump_endpoint_free()
243 struct snd_ump_block *fb; in snd_ump_get_block() local
245 list_for_each_entry(fb, &ump->block_list, list) { in snd_ump_get_block()
246 if (fb->info.block_id == id) in snd_ump_get_block()
247 return fb; in snd_ump_get_block()
403 struct snd_ump_block *fb, *p; in snd_ump_block_new() local
411 fb = kzalloc_obj(*fb); in snd_ump_block_new()
412 if (!fb) in snd_ump_block_new()
415 fb->ump = ump; in snd_ump_block_new()
416 fb->info.card = ump->info.card; in snd_ump_block_new()
417 fb->info.device = ump->info.device; in snd_ump_block_new()
418 fb->info.block_id = blk; in snd_ump_block_new()
421 fb->info.direction = direction; in snd_ump_block_new()
422 fb->info.active = 1; in snd_ump_block_new()
423 fb->info.first_group = first_group; in snd_ump_block_new()
424 fb->info.num_groups = num_groups; in snd_ump_block_new()
426 snprintf(fb->info.name, sizeof(fb->info.name), "Group %u-%u", in snd_ump_block_new()
432 list_add_tail(&fb->list, &p->list); in snd_ump_block_new()
436 list_add_tail(&fb->list, &ump->block_list); in snd_ump_block_new()
439 ump_dbg(ump, "Created a UMP Block #%d (%s)\n", blk, fb->info.name); in snd_ump_block_new()
440 *blk_ret = fb; in snd_ump_block_new()
448 struct snd_ump_block *fb; in snd_ump_ioctl_block() local
453 fb = snd_ump_get_block(ump, id); in snd_ump_ioctl_block()
454 if (!fb) in snd_ump_ioctl_block()
456 if (copy_to_user(argp, &fb->info, sizeof(fb->info))) in snd_ump_ioctl_block()
516 struct snd_ump_block *fb; in snd_ump_proc_read() local
534 list_for_each_entry(fb, &ump->block_list, list) { in snd_ump_proc_read()
535 snd_iprintf(buffer, "Block %d (%s)\n", fb->info.block_id, in snd_ump_proc_read()
536 fb->info.name); in snd_ump_proc_read()
538 ump_direction_string(fb->info.direction)); in snd_ump_proc_read()
540 fb->info.active ? "Yes" : "No"); in snd_ump_proc_read()
542 fb->info.first_group + 1, in snd_ump_proc_read()
543 fb->info.first_group + fb->info.num_groups); in snd_ump_proc_read()
545 (fb->info.flags & SNDRV_UMP_BLOCK_IS_MIDI1) ? "Yes" : "No", in snd_ump_proc_read()
546 (fb->info.flags & SNDRV_UMP_BLOCK_IS_LOWSPEED) ? " (Low Speed)" : ""); in snd_ump_proc_read()
549 fb->info.midi_ci_version); in snd_ump_proc_read()
551 fb->info.sysex8_streams); in snd_ump_proc_read()
553 ump_ui_hint_string(fb->info.ui_hint)); in snd_ump_proc_read()
562 struct snd_ump_block *fb; in snd_ump_update_group_attrs() local
576 list_for_each_entry(fb, &ump->block_list, list) { in snd_ump_update_group_attrs()
577 if (fb->info.first_group + fb->info.num_groups > SNDRV_UMP_MAX_GROUPS) in snd_ump_update_group_attrs()
579 group = &ump->groups[fb->info.first_group]; in snd_ump_update_group_attrs()
580 for (i = 0; i < fb->info.num_groups; i++, group++) { in snd_ump_update_group_attrs()
582 if (fb->info.active) in snd_ump_update_group_attrs()
584 if (fb->info.flags & SNDRV_UMP_BLOCK_IS_MIDI1) in snd_ump_update_group_attrs()
586 switch (fb->info.direction) { in snd_ump_update_group_attrs()
598 if (!*fb->info.name) in snd_ump_update_group_attrs()
603 fb->info.name, sizeof(fb->info.name)); in snd_ump_update_group_attrs()
861 …ump_dbg(ump, "FB %d: dir=%d, active=%d, first_gp=%d, num_gp=%d, midici=%d, sysex8=%d, flags=0x%x\n… in fill_fb_info()
868 ump_dbg(ump, "FB %d: corrected groups to 1 for MIDI1\n", in fill_fb_info()
873 /* check whether the FB info gets updated by the current message */
875 struct snd_ump_block *fb, in is_fb_info_updated() argument
881 ump_info(ump, "Skipping static FB info update (blk#%d)\n", in is_fb_info_updated()
882 fb->info.block_id); in is_fb_info_updated()
886 memcpy(tmpbuf, &fb->info, sizeof(tmpbuf)); in is_fb_info_updated()
888 return memcmp(&fb->info, tmpbuf, sizeof(tmpbuf)) != 0; in is_fb_info_updated()
891 /* notify the FB info/name change to sequencer */
893 struct snd_ump_block *fb) in seq_notify_fb_change() argument
897 ump->seq_ops->notify_fb_change(ump, fb); in seq_notify_fb_change()
901 /* handle FB info message; update FB info if the block is present */
906 struct snd_ump_block *fb; in ump_handle_fb_info_msg() local
909 fb = snd_ump_get_block(ump, blk); in ump_handle_fb_info_msg()
912 if (!fb && ump->parsed) { in ump_handle_fb_info_msg()
918 /* When updated after the initial parse, check the FB info update */ in ump_handle_fb_info_msg()
919 if (ump->parsed && !is_fb_info_updated(ump, fb, buf)) in ump_handle_fb_info_msg()
922 if (fb) { in ump_handle_fb_info_msg()
923 fill_fb_info(ump, &fb->info, buf); in ump_handle_fb_info_msg()
927 seq_notify_fb_change(ump, fb); in ump_handle_fb_info_msg()
934 /* handle FB name message; update the FB name string */
939 struct snd_ump_block *fb; in ump_handle_fb_name_msg() local
943 fb = snd_ump_get_block(ump, blk); in ump_handle_fb_name_msg()
944 if (!fb) in ump_handle_fb_name_msg()
949 ump_dbg(ump, "Skipping static FB name update (blk#%d)\n", in ump_handle_fb_name_msg()
950 fb->info.block_id); in ump_handle_fb_name_msg()
954 ret = ump_append_string(ump, fb->info.name, sizeof(fb->info.name), in ump_handle_fb_name_msg()
956 /* notify the FB name update to sequencer, too */ in ump_handle_fb_name_msg()
960 seq_notify_fb_change(ump, fb); in ump_handle_fb_name_msg()
967 struct snd_ump_block *fb; in create_block_from_fb_info() local
974 /* query the FB info once */ in create_block_from_fb_info()
979 ump_dbg(ump, "Unable to get FB info for block %d\n", blk); in create_block_from_fb_info()
983 /* the last input must be the FB info */ in create_block_from_fb_info()
994 &fb); in create_block_from_fb_info()
998 fill_fb_info(ump, &fb->info, buf); in create_block_from_fb_info()
1004 ump_dbg(ump, "Unable to get UMP FB name string #%d\n", blk); in create_block_from_fb_info()
1288 struct snd_ump_block *fb; in fill_legacy_mapping() local
1293 list_for_each_entry(fb, &ump->block_list, list) { in fill_legacy_mapping()
1294 for (i = 0; i < fb->info.num_groups; i++) in fill_legacy_mapping()
1295 group_maps |= 1U << (fb->info.first_group + i); in fill_legacy_mapping()
1298 ump_info(ump, "No UMP Group is found in FB\n"); in fill_legacy_mapping()