Home
last modified time | relevance | path

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

/sound/firewire/tascam/
Dtascam-stream.c17 static int get_clock(struct snd_tscm *tscm, u32 *data) in get_clock() argument
24 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in get_clock()
45 static int set_clock(struct snd_tscm *tscm, unsigned int rate, in set_clock() argument
52 err = get_clock(tscm, &data); in set_clock()
82 err = snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in set_clock()
93 return snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in set_clock()
98 int snd_tscm_stream_get_rate(struct snd_tscm *tscm, unsigned int *rate) in snd_tscm_stream_get_rate() argument
103 err = get_clock(tscm, &data); in snd_tscm_stream_get_rate()
126 int snd_tscm_stream_get_clock(struct snd_tscm *tscm, enum snd_tscm_clock *clock) in snd_tscm_stream_get_clock() argument
131 err = get_clock(tscm, &data); in snd_tscm_stream_get_clock()
[all …]
Dtascam-pcm.c21 static int pcm_init_hw_params(struct snd_tscm *tscm, in pcm_init_hw_params() argument
48 stream = &tscm->tx_stream; in pcm_init_hw_params()
49 pcm_channels = tscm->spec->pcm_capture_analog_channels; in pcm_init_hw_params()
53 stream = &tscm->rx_stream; in pcm_init_hw_params()
54 pcm_channels = tscm->spec->pcm_playback_analog_channels; in pcm_init_hw_params()
57 if (tscm->spec->has_adat) in pcm_init_hw_params()
59 if (tscm->spec->has_spdif) in pcm_init_hw_params()
70 struct snd_tscm *tscm = substream->private_data; in pcm_open() local
75 err = snd_tscm_stream_lock_try(tscm); in pcm_open()
79 err = pcm_init_hw_params(tscm, substream); in pcm_open()
[all …]
Dtascam-hwdep.c22 struct snd_tscm *tscm = hwdep->private_data; in hwdep_read() local
28 spin_lock_irq(&tscm->lock); in hwdep_read()
30 while (!tscm->dev_lock_changed) { in hwdep_read()
31 prepare_to_wait(&tscm->hwdep_wait, &wait, TASK_INTERRUPTIBLE); in hwdep_read()
32 spin_unlock_irq(&tscm->lock); in hwdep_read()
34 finish_wait(&tscm->hwdep_wait, &wait); in hwdep_read()
37 spin_lock_irq(&tscm->lock); in hwdep_read()
40 event.lock_status.status = (tscm->dev_lock_count > 0); in hwdep_read()
41 tscm->dev_lock_changed = false; in hwdep_read()
43 spin_unlock_irq(&tscm->lock); in hwdep_read()
[all …]
Dtascam.c39 static int identify_model(struct snd_tscm *tscm) in identify_model() argument
41 struct fw_device *fw_dev = fw_parent_device(tscm->unit); in identify_model()
48 dev_err(&tscm->unit->device, in identify_model()
64 tscm->spec = &model_specs[i]; in identify_model()
68 if (tscm->spec == NULL) in identify_model()
71 strcpy(tscm->card->driver, "FW-TASCAM"); in identify_model()
72 strcpy(tscm->card->shortname, model); in identify_model()
73 strcpy(tscm->card->mixername, model); in identify_model()
74 snprintf(tscm->card->longname, sizeof(tscm->card->longname), in identify_model()
77 dev_name(&tscm->unit->device), 100 << fw_dev->max_speed); in identify_model()
[all …]
Dtascam-transaction.c63 struct snd_tscm *tscm = substream->rmidi->private_data; in fill_message() local
78 if (tscm->on_sysex[port]) { in fill_message()
82 tscm->on_sysex[port] = false; in fill_message()
88 if (!tscm->on_sysex[port]) { in fill_message()
104 tscm->on_sysex[port] = true; in fill_message()
109 status = tscm->running_status[port]; in fill_message()
127 msg[0] = tscm->running_status[port]; in fill_message()
134 tscm->running_status[port] = msg[0]; in fill_message()
152 struct snd_tscm *tscm = callback_data; in handle_midi_tx() local
161 if (offset != tscm->async_handler.offset) in handle_midi_tx()
[all …]
Dtascam-midi.c19 struct snd_tscm *tscm = substream->rmidi->private_data; in midi_playback_open() local
22 tscm->running_status[substream->number] = 0; in midi_playback_open()
23 tscm->on_sysex[substream->number] = 0; in midi_playback_open()
35 struct snd_tscm *tscm = substream->rmidi->private_data; in midi_playback_close() local
37 snd_fw_async_midi_port_finish(&tscm->out_ports[substream->number]); in midi_playback_close()
44 struct snd_tscm *tscm = substrm->rmidi->private_data; in midi_capture_trigger() local
47 spin_lock_irqsave(&tscm->lock, flags); in midi_capture_trigger()
50 tscm->tx_midi_substreams[substrm->number] = substrm; in midi_capture_trigger()
52 tscm->tx_midi_substreams[substrm->number] = NULL; in midi_capture_trigger()
54 spin_unlock_irqrestore(&tscm->lock, flags); in midi_capture_trigger()
[all …]
Dtascam.h122 int snd_tscm_stream_get_rate(struct snd_tscm *tscm, unsigned int *rate);
123 int snd_tscm_stream_get_clock(struct snd_tscm *tscm,
125 int snd_tscm_stream_init_duplex(struct snd_tscm *tscm);
126 void snd_tscm_stream_update_duplex(struct snd_tscm *tscm);
127 void snd_tscm_stream_destroy_duplex(struct snd_tscm *tscm);
128 int snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate);
129 void snd_tscm_stream_stop_duplex(struct snd_tscm *tscm);
131 void snd_tscm_stream_lock_changed(struct snd_tscm *tscm);
132 int snd_tscm_stream_lock_try(struct snd_tscm *tscm);
133 void snd_tscm_stream_lock_release(struct snd_tscm *tscm);
[all …]
Dtascam-proc.c14 struct snd_tscm *tscm = entry->private_data; in proc_read_firmware() local
19 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in proc_read_firmware()
26 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in proc_read_firmware()
33 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in proc_read_firmware()
40 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in proc_read_firmware()
53 static void add_node(struct snd_tscm *tscm, struct snd_info_entry *root, in add_node() argument
60 entry = snd_info_create_card_entry(tscm->card, name, root); in add_node()
64 snd_info_set_text_ops(entry, tscm, op); in add_node()
69 void snd_tscm_proc_init(struct snd_tscm *tscm) in snd_tscm_proc_init() argument
77 root = snd_info_create_card_entry(tscm->card, "firewire", in snd_tscm_proc_init()
[all …]