/linux-master/sound/firewire/tascam/ |
H A D | tascam-stream.c | 16 static int get_clock(struct snd_tscm *tscm, u32 *data) argument 23 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, 44 static int set_clock(struct snd_tscm *tscm, unsigned int rate, argument 51 err = get_clock(tscm, &data); 81 err = snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, 92 return snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, 97 int snd_tscm_stream_get_rate(struct snd_tscm *tscm, unsigned int *rate) argument 102 err = get_clock(tscm, &data); 125 int snd_tscm_stream_get_clock(struct snd_tscm *tscm, enum snd_tscm_clock *clock) argument 130 err = get_clock(tscm, 141 enable_data_channels(struct snd_tscm *tscm) argument 177 set_stream_formats(struct snd_tscm *tscm, unsigned int rate) argument 193 finish_session(struct snd_tscm *tscm) argument 222 begin_session(struct snd_tscm *tscm) argument 281 keep_resources(struct snd_tscm *tscm, unsigned int rate, struct amdtp_stream *stream) argument 301 init_stream(struct snd_tscm *tscm, struct amdtp_stream *s) argument 334 destroy_stream(struct snd_tscm *tscm, struct amdtp_stream *s) argument 344 snd_tscm_stream_init_duplex(struct snd_tscm *tscm) argument 368 snd_tscm_stream_update_duplex(struct snd_tscm *tscm) argument 378 snd_tscm_stream_destroy_duplex(struct snd_tscm *tscm) argument 386 snd_tscm_stream_reserve_duplex(struct snd_tscm *tscm, unsigned int rate, unsigned int frames_per_period, unsigned int frames_per_buffer) argument 433 snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate) argument 509 snd_tscm_stream_stop_duplex(struct snd_tscm *tscm) argument 522 snd_tscm_stream_lock_changed(struct snd_tscm *tscm) argument 528 snd_tscm_stream_lock_try(struct snd_tscm *tscm) argument 549 snd_tscm_stream_lock_release(struct snd_tscm *tscm) argument [all...] |
H A D | tascam-hwdep.c | 18 static long tscm_hwdep_read_locked(struct snd_tscm *tscm, char __user *buf, 20 __releases(&tscm->lock) 26 event.status = (tscm->dev_lock_count > 0); 27 tscm->dev_lock_changed = false; 30 spin_unlock_irq(&tscm->lock); 38 static long tscm_hwdep_read_queue(struct snd_tscm *tscm, char __user *buf, 40 __releases(&tscm->lock) 44 struct snd_firewire_tascam_change *entries = tscm->queue; 49 spin_unlock_irq(&tscm->lock); 63 if (tscm 101 struct snd_tscm *tscm = hwdep->private_data; local 132 struct snd_tscm *tscm = hwdep->private_data; local 147 hwdep_get_info(struct snd_tscm *tscm, void __user *arg) argument 166 hwdep_lock(struct snd_tscm *tscm) argument 184 hwdep_unlock(struct snd_tscm *tscm) argument 202 tscm_hwdep_state(struct snd_tscm *tscm, void __user *arg) argument 212 struct snd_tscm *tscm = hwdep->private_data; local 225 struct snd_tscm *tscm = hwdep->private_data; local 252 snd_tscm_create_hwdep_device(struct snd_tscm *tscm) argument [all...] |
H A D | tascam-pcm.c | 10 static int pcm_init_hw_params(struct snd_tscm *tscm, argument 20 stream = &tscm->tx_stream; 21 pcm_channels = tscm->spec->pcm_capture_analog_channels; 24 stream = &tscm->rx_stream; 25 pcm_channels = tscm->spec->pcm_playback_analog_channels; 28 if (tscm->spec->has_adat) 30 if (tscm->spec->has_spdif) 45 struct snd_tscm *tscm = substream->private_data; local 46 struct amdtp_domain *d = &tscm->domain; 50 err = snd_tscm_stream_lock_try(tscm); 109 struct snd_tscm *tscm = substream->private_data; local 119 struct snd_tscm *tscm = substream->private_data; local 140 struct snd_tscm *tscm = substream->private_data; local 156 struct snd_tscm *tscm = substream->private_data; local 173 struct snd_tscm *tscm = substream->private_data; local 190 struct snd_tscm *tscm = substream->private_data; local 208 struct snd_tscm *tscm = substream->private_data; local 226 struct snd_tscm *tscm = sbstrm->private_data; local 233 struct snd_tscm *tscm = sbstrm->private_data; local 240 struct snd_tscm *tscm = substream->private_data; local 247 struct snd_tscm *tscm = substream->private_data; local 252 snd_tscm_create_pcm_devices(struct snd_tscm *tscm) argument [all...] |
H A D | tascam.c | 44 static int identify_model(struct snd_tscm *tscm) argument 46 struct fw_device *fw_dev = fw_parent_device(tscm->unit); 53 dev_err(&tscm->unit->device, 69 tscm->spec = &model_specs[i]; 73 if (tscm->spec == NULL) 76 strcpy(tscm->card->driver, "FW-TASCAM"); 77 strcpy(tscm->card->shortname, model); 78 strcpy(tscm->card->mixername, model); 79 snprintf(tscm->card->longname, sizeof(tscm 89 struct snd_tscm *tscm = card->private_data; local 102 struct snd_tscm *tscm; local 157 struct snd_tscm *tscm = dev_get_drvdata(&unit->device); local 168 struct snd_tscm *tscm = dev_get_drvdata(&unit->device); local [all...] |
H A D | tascam-midi.c | 18 struct snd_tscm *tscm = substream->rmidi->private_data; local 20 snd_fw_async_midi_port_init(&tscm->out_ports[substream->number]); 38 struct snd_tscm *tscm = substream->rmidi->private_data; local 40 snd_fw_async_midi_port_finish(&tscm->out_ports[substream->number]); 45 struct snd_tscm *tscm = substrm->rmidi->private_data; local 48 spin_lock_irqsave(&tscm->lock, flags); 51 tscm->tx_midi_substreams[substrm->number] = substrm; 53 tscm->tx_midi_substreams[substrm->number] = NULL; 55 spin_unlock_irqrestore(&tscm->lock, flags); 60 struct snd_tscm *tscm local 72 snd_tscm_create_midi_devices(struct snd_tscm *tscm) argument [all...] |
H A D | tascam-proc.c | 13 struct snd_tscm *tscm = entry->private_data; local 18 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, 25 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, 32 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, 39 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, 52 static void add_node(struct snd_tscm *tscm, struct snd_info_entry *root, argument 59 entry = snd_info_create_card_entry(tscm->card, name, root); 61 snd_info_set_text_ops(entry, tscm, op); 64 void snd_tscm_proc_init(struct snd_tscm *tscm) argument 72 root = snd_info_create_card_entry(tscm [all...] |
H A D | tascam.h | 164 int snd_tscm_stream_get_rate(struct snd_tscm *tscm, unsigned int *rate); 165 int snd_tscm_stream_get_clock(struct snd_tscm *tscm, 167 int snd_tscm_stream_init_duplex(struct snd_tscm *tscm); 168 void snd_tscm_stream_update_duplex(struct snd_tscm *tscm); 169 void snd_tscm_stream_destroy_duplex(struct snd_tscm *tscm); 170 int snd_tscm_stream_reserve_duplex(struct snd_tscm *tscm, unsigned int rate, 173 int snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate); 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); [all...] |
H A D | tascam-transaction.c | 250 struct snd_tscm *tscm = callback_data; local 259 if (offset != tscm->async_handler.offset) 268 if (port >= tscm->spec->midi_capture_ports) 284 substream = READ_ONCE(tscm->tx_midi_substreams[port]); 292 int snd_tscm_transaction_register(struct snd_tscm *tscm) argument 306 tscm->async_handler.length = 8 * 8; 307 tscm->async_handler.address_callback = handle_midi_tx; 308 tscm->async_handler.callback_data = tscm; 310 err = fw_core_add_address_handler(&tscm 333 snd_tscm_transaction_reregister(struct snd_tscm *tscm) argument 370 snd_tscm_transaction_unregister(struct snd_tscm *tscm) argument [all...] |
H A D | amdtp-tascam.c | 132 struct snd_tscm *tscm = container_of(s, struct snd_tscm, tx_stream); local 133 bool used = READ_ONCE(tscm->hwdep->used); 142 before = tscm->state[index]; 159 &tscm->queue[tscm->push_pos]; 162 spin_lock_irqsave(&tscm->lock, flag); 166 if (++tscm->push_pos >= SND_TSCM_QUEUE_COUNT) 167 tscm->push_pos = 0; 168 spin_unlock_irqrestore(&tscm->lock, flag); 170 wake_up(&tscm [all...] |