Home
last modified time | relevance | path

Searched refs:tscm (Results 1 – 9 of 9) sorted by relevance

/openbmc/linux/sound/firewire/tascam/
H A Dtascam-stream.c348 err = init_stream(tscm, &tscm->tx_stream); in snd_tscm_stream_init_duplex()
352 err = init_stream(tscm, &tscm->rx_stream); in snd_tscm_stream_init_duplex()
354 destroy_stream(tscm, &tscm->tx_stream); in snd_tscm_stream_init_duplex()
360 destroy_stream(tscm, &tscm->tx_stream); in snd_tscm_stream_init_duplex()
361 destroy_stream(tscm, &tscm->rx_stream); in snd_tscm_stream_init_duplex()
382 destroy_stream(tscm, &tscm->rx_stream); in snd_tscm_stream_destroy_duplex()
383 destroy_stream(tscm, &tscm->tx_stream); in snd_tscm_stream_destroy_duplex()
409 err = keep_resources(tscm, rate, &tscm->tx_stream); in snd_tscm_stream_reserve_duplex()
413 err = keep_resources(tscm, rate, &tscm->rx_stream); in snd_tscm_stream_reserve_duplex()
469 err = amdtp_domain_add_stream(&tscm->domain, &tscm->rx_stream, in snd_tscm_stream_start_duplex()
[all …]
H A Dtascam-hwdep.c20 __releases(&tscm->lock) in tscm_hwdep_read_locked()
30 spin_unlock_irq(&tscm->lock); in tscm_hwdep_read_locked()
40 __releases(&tscm->lock) in tscm_hwdep_read_queue()
63 if (tscm->pull_pos == tscm->push_pos) in tscm_hwdep_read_queue()
65 else if (tscm->pull_pos < tscm->push_pos) in tscm_hwdep_read_queue()
69 head_pos = tscm->pull_pos; in tscm_hwdep_read_queue()
106 while (!tscm->dev_lock_changed && tscm->push_pos == tscm->pull_pos) { in hwdep_read()
119 } else if (tscm->push_pos != tscm->pull_pos) { in hwdep_read()
138 if (tscm->dev_lock_changed || tscm->push_pos != tscm->pull_pos) in hwdep_poll()
204 if (copy_to_user(arg, tscm->state, sizeof(tscm->state))) in tscm_hwdep_state()
[all …]
H A Dtascam-pcm.c20 stream = &tscm->tx_stream; in pcm_init_hw_params()
24 stream = &tscm->rx_stream; in pcm_init_hw_params()
28 if (tscm->spec->has_adat) in pcm_init_hw_params()
30 if (tscm->spec->has_spdif) in pcm_init_hw_params()
62 mutex_lock(&tscm->mutex); in pcm_open()
142 mutex_lock(&tscm->mutex); in pcm_hw_free()
228 return amdtp_domain_stream_pcm_pointer(&tscm->domain, &tscm->tx_stream); in pcm_capture_pointer()
235 return amdtp_domain_stream_pcm_pointer(&tscm->domain, &tscm->rx_stream); in pcm_playback_pointer()
242 return amdtp_domain_stream_pcm_ack(&tscm->domain, &tscm->tx_stream); in pcm_capture_ack()
249 return amdtp_domain_stream_pcm_ack(&tscm->domain, &tscm->rx_stream); in pcm_playback_ack()
[all …]
H A Dtascam.c73 if (tscm->spec == NULL) in identify_model()
79 snprintf(tscm->card->longname, sizeof(tscm->card->longname), in identify_model()
95 fw_unit_put(tscm->unit); in tscm_card_free()
102 struct snd_tscm *tscm; in snd_tscm_probe() local
110 tscm = card->private_data; in snd_tscm_probe()
113 tscm->card = card; in snd_tscm_probe()
115 mutex_init(&tscm->mutex); in snd_tscm_probe()
119 err = identify_model(tscm); in snd_tscm_probe()
131 snd_tscm_proc_init(tscm); in snd_tscm_probe()
161 mutex_lock(&tscm->mutex); in snd_tscm_update()
[all …]
H A Dtascam-midi.c48 spin_lock_irqsave(&tscm->lock, flags); in midi_capture_trigger()
55 spin_unlock_irqrestore(&tscm->lock, flags); in midi_capture_trigger()
63 spin_lock_irqsave(&tscm->lock, flags); in midi_playback_trigger()
69 spin_unlock_irqrestore(&tscm->lock, flags); in midi_playback_trigger()
90 err = snd_rawmidi_new(tscm->card, tscm->card->driver, 0, in snd_tscm_create_midi_devices()
91 tscm->spec->midi_playback_ports, in snd_tscm_create_midi_devices()
92 tscm->spec->midi_capture_ports, in snd_tscm_create_midi_devices()
98 "%s MIDI", tscm->card->shortname); in snd_tscm_create_midi_devices()
99 rmidi->private_data = tscm; in snd_tscm_create_midi_devices()
113 tscm->card->shortname, subs->number + 1); in snd_tscm_create_midi_devices()
[all …]
H A Dtascam-transaction.c250 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()
306 tscm->async_handler.length = 8 * 8; in snd_tscm_transaction_register()
308 tscm->async_handler.callback_data = tscm; 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()
328 tscm->async_handler.callback_data = NULL; in snd_tscm_transaction_register()
341 (tscm->async_handler.offset >> 32)); in snd_tscm_transaction_reregister()
[all …]
H A Dtascam.h165 int snd_tscm_stream_get_clock(struct snd_tscm *tscm,
167 int snd_tscm_stream_init_duplex(struct snd_tscm *tscm);
174 void snd_tscm_stream_stop_duplex(struct snd_tscm *tscm);
176 void snd_tscm_stream_lock_changed(struct snd_tscm *tscm);
177 int snd_tscm_stream_lock_try(struct snd_tscm *tscm);
178 void snd_tscm_stream_lock_release(struct snd_tscm *tscm);
200 int snd_tscm_transaction_register(struct snd_tscm *tscm);
204 void snd_tscm_proc_init(struct snd_tscm *tscm);
206 int snd_tscm_create_pcm_devices(struct snd_tscm *tscm);
208 int snd_tscm_create_midi_devices(struct snd_tscm *tscm);
[all …]
H A Dtascam-proc.c13 struct snd_tscm *tscm = entry->private_data; in proc_read_firmware() local
18 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in proc_read_firmware()
25 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in proc_read_firmware()
32 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in proc_read_firmware()
39 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in proc_read_firmware()
59 entry = snd_info_create_card_entry(tscm->card, name, root); in add_node()
61 snd_info_set_text_ops(entry, tscm, op); in add_node()
64 void snd_tscm_proc_init(struct snd_tscm *tscm) in snd_tscm_proc_init() argument
72 root = snd_info_create_card_entry(tscm->card, "firewire", in snd_tscm_proc_init()
73 tscm->card->proc_root); in snd_tscm_proc_init()
[all …]
H A Damdtp-tascam.c132 struct snd_tscm *tscm = container_of(s, struct snd_tscm, tx_stream); in read_status_messages() local
133 bool used = READ_ONCE(tscm->hwdep->used); in read_status_messages()
142 before = tscm->state[index]; in read_status_messages()
159 &tscm->queue[tscm->push_pos]; in read_status_messages()
162 spin_lock_irqsave(&tscm->lock, flag); in read_status_messages()
166 if (++tscm->push_pos >= SND_TSCM_QUEUE_COUNT) in read_status_messages()
167 tscm->push_pos = 0; in read_status_messages()
168 spin_unlock_irqrestore(&tscm->lock, flag); in read_status_messages()
170 wake_up(&tscm->hwdep_wait); in read_status_messages()
174 tscm->state[index] = after; in read_status_messages()