/openbmc/linux/sound/firewire/tascam/ |
H A D | tascam-stream.c | 348 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 D | tascam-hwdep.c | 20 __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 D | tascam-pcm.c | 20 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 D | tascam.c | 73 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 D | tascam-midi.c | 48 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 D | tascam-transaction.c | 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() 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 D | tascam.h | 165 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 D | tascam-proc.c | 13 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 D | amdtp-tascam.c | 132 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()
|