Lines Matching refs:tscm

250 	struct snd_tscm *tscm = callback_data;  in handle_midi_tx()  local
259 if (offset != tscm->async_handler.offset) in handle_midi_tx()
268 if (port >= tscm->spec->midi_capture_ports) in handle_midi_tx()
284 substream = READ_ONCE(tscm->tx_midi_substreams[port]); in handle_midi_tx()
292 int snd_tscm_transaction_register(struct snd_tscm *tscm) in snd_tscm_transaction_register() argument
306 tscm->async_handler.length = 8 * 8; in snd_tscm_transaction_register()
307 tscm->async_handler.address_callback = handle_midi_tx; in snd_tscm_transaction_register()
308 tscm->async_handler.callback_data = tscm; in snd_tscm_transaction_register()
310 err = fw_core_add_address_handler(&tscm->async_handler, in snd_tscm_transaction_register()
315 err = snd_tscm_transaction_reregister(tscm); in snd_tscm_transaction_register()
320 tscm->out_ports[i].parent = fw_parent_device(tscm->unit); in snd_tscm_transaction_register()
321 tscm->out_ports[i].next_ktime = 0; in snd_tscm_transaction_register()
322 INIT_WORK(&tscm->out_ports[i].work, midi_port_work); in snd_tscm_transaction_register()
327 fw_core_remove_address_handler(&tscm->async_handler); in snd_tscm_transaction_register()
328 tscm->async_handler.callback_data = NULL; in snd_tscm_transaction_register()
333 int snd_tscm_transaction_reregister(struct snd_tscm *tscm) in snd_tscm_transaction_reregister() argument
335 struct fw_device *device = fw_parent_device(tscm->unit); in snd_tscm_transaction_reregister()
341 (tscm->async_handler.offset >> 32)); in snd_tscm_transaction_reregister()
342 err = snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_tscm_transaction_reregister()
348 reg = cpu_to_be32(tscm->async_handler.offset); in snd_tscm_transaction_reregister()
349 err = snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_tscm_transaction_reregister()
357 err = snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_tscm_transaction_reregister()
365 return snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_tscm_transaction_reregister()
370 void snd_tscm_transaction_unregister(struct snd_tscm *tscm) in snd_tscm_transaction_unregister() argument
374 if (tscm->async_handler.callback_data == NULL) in snd_tscm_transaction_unregister()
379 snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_tscm_transaction_unregister()
385 snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_tscm_transaction_unregister()
390 snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_tscm_transaction_unregister()
393 snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_tscm_transaction_unregister()
397 fw_core_remove_address_handler(&tscm->async_handler); in snd_tscm_transaction_unregister()
398 tscm->async_handler.callback_data = NULL; in snd_tscm_transaction_unregister()