Lines Matching refs:info
150 ump->info.card = card->number;
151 ump->info.device = device;
210 if (fb->info.block_id == id)
380 fb->info.card = ump->info.card;
381 fb->info.device = ump->info.device;
382 fb->info.block_id = blk;
383 if (blk >= ump->info.num_blocks)
384 ump->info.num_blocks = blk + 1;
385 fb->info.direction = direction;
386 fb->info.active = 1;
387 fb->info.first_group = first_group;
388 fb->info.num_groups = num_groups;
390 snprintf(fb->info.name, sizeof(fb->info.name), "Group %d-%d",
395 if (p->info.block_id > blk) {
403 ump_dbg(ump, "Created a UMP Block #%d (%s)\n", blk, fb->info.name);
420 if (copy_to_user(argp, &fb->info, sizeof(fb->info)))
435 if (copy_to_user(argp, &ump->info, sizeof(ump->info)))
482 snd_iprintf(buffer, "EP Name: %s\n", ump->info.name);
483 snd_iprintf(buffer, "EP Product ID: %s\n", ump->info.product_id);
484 snd_iprintf(buffer, "UMP Version: 0x%04x\n", ump->info.version);
485 snd_iprintf(buffer, "Protocol Caps: 0x%08x\n", ump->info.protocol_caps);
486 snd_iprintf(buffer, "Protocol: 0x%08x\n", ump->info.protocol);
487 if (ump->info.version) {
489 ump->info.manufacturer_id);
490 snd_iprintf(buffer, "Family ID: 0x%04x\n", ump->info.family_id);
491 snd_iprintf(buffer, "Model ID: 0x%04x\n", ump->info.model_id);
493 ump->info.sw_revision[0],
494 ump->info.sw_revision[1],
495 ump->info.sw_revision[2],
496 ump->info.sw_revision[3]);
499 (ump->info.flags & SNDRV_UMP_EP_INFO_STATIC_BLOCKS) ? "Yes" : "No");
500 snd_iprintf(buffer, "Num Blocks: %d\n\n", ump->info.num_blocks);
503 snd_iprintf(buffer, "Block %d (%s)\n", fb->info.block_id,
504 fb->info.name);
506 ump_direction_string(fb->info.direction));
508 fb->info.active ? "Yes" : "No");
510 fb->info.first_group + 1,
511 fb->info.first_group + fb->info.num_groups);
513 (fb->info.flags & SNDRV_UMP_BLOCK_IS_MIDI1) ? "Yes" : "No",
514 (fb->info.flags & SNDRV_UMP_BLOCK_IS_LOWSPEED) ? " (Low Speed)" : "");
515 if (ump->info.version) {
517 fb->info.midi_ci_version);
519 fb->info.sysex8_streams);
521 ump_ui_hint_string(fb->info.ui_hint));
605 /* handle EP info stream message; update the UMP attributes */
609 ump->info.version = (buf->ep_info.ump_version_major << 8) |
611 ump->info.num_blocks = buf->ep_info.num_function_blocks;
612 if (ump->info.num_blocks > SNDRV_UMP_MAX_BLOCKS) {
614 ump->info.num_blocks);
615 ump->info.num_blocks = 1;
619 ump->info.flags |= SNDRV_UMP_EP_INFO_STATIC_BLOCKS;
621 ump->info.protocol_caps = (buf->ep_info.protocol << 8) |
624 ump_dbg(ump, "EP info: version=%x, num_blocks=%x, proto_caps=%x\n",
625 ump->info.version, ump->info.num_blocks, ump->info.protocol_caps);
629 /* handle EP device info stream message; update the UMP attributes */
633 ump->info.manufacturer_id = buf->device_info.manufacture_id & 0x7f7f7f;
634 ump->info.family_id = (buf->device_info.family_msb << 8) |
636 ump->info.model_id = (buf->device_info.model_msb << 8) |
638 ump->info.sw_revision[0] = (buf->device_info.sw_revision >> 24) & 0x7f;
639 ump->info.sw_revision[1] = (buf->device_info.sw_revision >> 16) & 0x7f;
640 ump->info.sw_revision[2] = (buf->device_info.sw_revision >> 8) & 0x7f;
641 ump->info.sw_revision[3] = buf->device_info.sw_revision & 0x7f;
643 ump->info.manufacturer_id,
644 ump->info.family_id,
645 ump->info.model_id,
646 ump->info.sw_revision[0],
647 ump->info.sw_revision[1],
648 ump->info.sw_revision[2],
649 ump->info.sw_revision[3]);
657 return ump_append_string(ump, ump->info.name, sizeof(ump->info.name),
665 return ump_append_string(ump, ump->info.product_id,
666 sizeof(ump->info.product_id),
688 protocol &= ump->info.protocol_caps;
689 if (protocol == ump->info.protocol)
692 ump->info.protocol = protocol;
694 protocol, ump->info.protocol_caps);
711 /* Extract Function Block info from UMP packet */
713 struct snd_ump_block_info *info,
716 info->direction = buf->fb_info.direction;
717 info->ui_hint = buf->fb_info.ui_hint;
718 info->first_group = buf->fb_info.first_group;
719 info->num_groups = buf->fb_info.num_groups;
720 info->flags = buf->fb_info.midi_10;
721 info->active = buf->fb_info.active;
722 info->midi_ci_version = buf->fb_info.midi_ci_version;
723 info->sysex8_streams = buf->fb_info.sysex8_streams;
726 info->block_id, info->direction, info->active,
727 info->first_group, info->num_groups, info->midi_ci_version,
728 info->sysex8_streams, info->flags);
731 /* check whether the FB info gets updated by the current message */
738 if (ump->info.flags & SNDRV_UMP_EP_INFO_STATIC_BLOCKS) {
739 ump_info(ump, "Skipping static FB info update (blk#%d)\n",
740 fb->info.block_id);
744 memcpy(tmpbuf, &fb->info, sizeof(tmpbuf));
746 return memcmp(&fb->info, tmpbuf, sizeof(tmpbuf)) != 0;
749 /* notify the FB info/name change to sequencer */
759 /* handle FB info message; update FB info if the block is present */
776 /* When updated after the initial parse, check the FB info update */
781 fill_fb_info(ump, &fb->info, buf);
802 ret = ump_append_string(ump, fb->info.name, sizeof(fb->info.name),
819 /* query the FB info once */
824 ump_dbg(ump, "Unable to get FB info for block %d\n", blk);
828 /* the last input must be the FB info */
843 fill_fb_info(ump, &fb->info, buf);
935 ump_dbg(ump, "Unable to get UMP EP info\n");
943 ump_dbg(ump, "Unable to get UMP EP device info\n");
964 for (blk = 0; blk < ump->info.num_blocks; blk++) {
1094 snd_ump_convert_to_ump(ctx, group, ump->info.protocol, c);
1133 if (ump->info.flags & SNDRV_UMP_EP_INFO_STATIC_BLOCKS) {
1135 for (i = 0; i < fb->info.num_groups; i++)
1136 group_maps |= 1U << (fb->info.first_group + i);
1161 ump->legacy_mapping[s->number] + 1, ump->info.name);
1195 ump->info.name);