Lines Matching refs:cvt

245 static int cvt_legacy_sysex_to_ump(struct ump_cvt_to_ump *cvt,  in cvt_legacy_sysex_to_ump()  argument
249 bool start = cvt->in_sysex == 1; in cvt_legacy_sysex_to_ump()
260 *data = ump_compose(UMP_MSG_TYPE_DATA, group, status, cvt->len); in cvt_legacy_sysex_to_ump()
262 for (i = 0; i < cvt->len; i++) { in cvt_legacy_sysex_to_ump()
263 *data |= cvt->buf[i] << offset; in cvt_legacy_sysex_to_ump()
270 cvt->len = 0; in cvt_legacy_sysex_to_ump()
272 cvt->in_sysex = 0; in cvt_legacy_sysex_to_ump()
274 cvt->in_sysex++; in cvt_legacy_sysex_to_ump()
279 static int cvt_legacy_system_to_ump(struct ump_cvt_to_ump *cvt, in cvt_legacy_system_to_ump() argument
282 data[0] = ump_compose(UMP_MSG_TYPE_SYSTEM, group, 0, cvt->buf[0]); in cvt_legacy_system_to_ump()
283 if (cvt->cmd_bytes > 1) in cvt_legacy_system_to_ump()
284 data[0] |= cvt->buf[1] << 8; in cvt_legacy_system_to_ump()
285 if (cvt->cmd_bytes > 2) in cvt_legacy_system_to_ump()
286 data[0] |= cvt->buf[2]; in cvt_legacy_system_to_ump()
329 static int cvt_legacy_cmd_to_ump(struct ump_cvt_to_ump *cvt, in cvt_legacy_cmd_to_ump() argument
334 const unsigned char *buf = cvt->buf; in cvt_legacy_cmd_to_ump()
355 cc = &cvt->bank[channel]; in cvt_legacy_cmd_to_ump()
446 static int do_convert_to_ump(struct ump_cvt_to_ump *cvt, unsigned char group, in do_convert_to_ump() argument
460 cvt->in_sysex = 1; in do_convert_to_ump()
461 cvt->len = 0; in do_convert_to_ump()
465 if (!cvt->in_sysex) in do_convert_to_ump()
467 return cvt_legacy_sysex_to_ump(cvt, group, data, true); in do_convert_to_ump()
478 cvt->buf[0] = c; in do_convert_to_ump()
479 cvt->len = 1; in do_convert_to_ump()
480 cvt->cmd_bytes = bytes; in do_convert_to_ump()
481 cvt->in_sysex = 0; /* abort SysEx */ in do_convert_to_ump()
487 cvt->buf[0] = c; in do_convert_to_ump()
488 cvt->len = 1; in do_convert_to_ump()
489 cvt->cmd_bytes = bytes; in do_convert_to_ump()
490 cvt->in_sysex = 0; /* abort SysEx */ in do_convert_to_ump()
494 if (cvt->in_sysex) { in do_convert_to_ump()
495 cvt->buf[cvt->len++] = c; in do_convert_to_ump()
496 if (cvt->len == 6) in do_convert_to_ump()
497 return cvt_legacy_sysex_to_ump(cvt, group, data, false); in do_convert_to_ump()
501 if (!cvt->len) in do_convert_to_ump()
504 cvt->buf[cvt->len++] = c; in do_convert_to_ump()
505 if (cvt->len < cvt->cmd_bytes) in do_convert_to_ump()
507 cvt->len = 1; in do_convert_to_ump()
508 if ((cvt->buf[0] & 0xf0) == UMP_MIDI1_MSG_REALTIME) in do_convert_to_ump()
509 return cvt_legacy_system_to_ump(cvt, group, data); in do_convert_to_ump()
510 return cvt_legacy_cmd_to_ump(cvt, group, protocol, data, cvt->cmd_bytes); in do_convert_to_ump()
523 void snd_ump_convert_to_ump(struct ump_cvt_to_ump *cvt, unsigned char group, in snd_ump_convert_to_ump() argument
526 cvt->ump_bytes = do_convert_to_ump(cvt, group, protocol, c, cvt->ump); in snd_ump_convert_to_ump()