Home
last modified time | relevance | path

Searched refs:tscm (Results 1 - 18 of 18) sorted by relevance

/kernel/linux/linux-6.6/sound/firewire/tascam/
H A Dtascam-stream.c16 static int get_clock(struct snd_tscm *tscm, u32 *data) in get_clock() argument
23 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in get_clock()
44 static int set_clock(struct snd_tscm *tscm, unsigned int rate, in set_clock() argument
51 err = get_clock(tscm, &data); in set_clock()
81 err = snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in set_clock()
92 return snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in set_clock()
97 int snd_tscm_stream_get_rate(struct snd_tscm *tscm, unsigned int *rate) in snd_tscm_stream_get_rate() argument
102 err = get_clock(tscm, &data); in snd_tscm_stream_get_rate()
125 int snd_tscm_stream_get_clock(struct snd_tscm *tscm, enum snd_tscm_clock *clock) in snd_tscm_stream_get_clock() argument
130 err = get_clock(tscm, in snd_tscm_stream_get_clock()
141 enable_data_channels(struct snd_tscm *tscm) enable_data_channels() argument
177 set_stream_formats(struct snd_tscm *tscm, unsigned int rate) set_stream_formats() argument
193 finish_session(struct snd_tscm *tscm) finish_session() argument
222 begin_session(struct snd_tscm *tscm) begin_session() argument
281 keep_resources(struct snd_tscm *tscm, unsigned int rate, struct amdtp_stream *stream) keep_resources() argument
301 init_stream(struct snd_tscm *tscm, struct amdtp_stream *s) init_stream() argument
334 destroy_stream(struct snd_tscm *tscm, struct amdtp_stream *s) destroy_stream() argument
344 snd_tscm_stream_init_duplex(struct snd_tscm *tscm) snd_tscm_stream_init_duplex() argument
368 snd_tscm_stream_update_duplex(struct snd_tscm *tscm) snd_tscm_stream_update_duplex() argument
378 snd_tscm_stream_destroy_duplex(struct snd_tscm *tscm) snd_tscm_stream_destroy_duplex() argument
386 snd_tscm_stream_reserve_duplex(struct snd_tscm *tscm, unsigned int rate, unsigned int frames_per_period, unsigned int frames_per_buffer) snd_tscm_stream_reserve_duplex() argument
433 snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate) snd_tscm_stream_start_duplex() argument
509 snd_tscm_stream_stop_duplex(struct snd_tscm *tscm) snd_tscm_stream_stop_duplex() argument
522 snd_tscm_stream_lock_changed(struct snd_tscm *tscm) snd_tscm_stream_lock_changed() argument
528 snd_tscm_stream_lock_try(struct snd_tscm *tscm) snd_tscm_stream_lock_try() argument
549 snd_tscm_stream_lock_release(struct snd_tscm *tscm) snd_tscm_stream_lock_release() argument
[all...]
H A Dtascam-hwdep.c18 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; hwdep_read() local
132 struct snd_tscm *tscm = hwdep->private_data; hwdep_poll() local
147 hwdep_get_info(struct snd_tscm *tscm, void __user *arg) hwdep_get_info() argument
166 hwdep_lock(struct snd_tscm *tscm) hwdep_lock() argument
184 hwdep_unlock(struct snd_tscm *tscm) hwdep_unlock() argument
202 tscm_hwdep_state(struct snd_tscm *tscm, void __user *arg) tscm_hwdep_state() argument
212 struct snd_tscm *tscm = hwdep->private_data; hwdep_release() local
225 struct snd_tscm *tscm = hwdep->private_data; hwdep_ioctl() local
252 snd_tscm_create_hwdep_device(struct snd_tscm *tscm) snd_tscm_create_hwdep_device() argument
[all...]
H A Dtascam-pcm.c10 static int pcm_init_hw_params(struct snd_tscm *tscm, in pcm_init_hw_params() argument
20 stream = &tscm->tx_stream; in pcm_init_hw_params()
21 pcm_channels = tscm->spec->pcm_capture_analog_channels; in pcm_init_hw_params()
24 stream = &tscm->rx_stream; in pcm_init_hw_params()
25 pcm_channels = tscm->spec->pcm_playback_analog_channels; 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()
45 struct snd_tscm *tscm = substream->private_data; in pcm_open() local
46 struct amdtp_domain *d = &tscm->domain; in pcm_open()
50 err = snd_tscm_stream_lock_try(tscm); in pcm_open()
109 struct snd_tscm *tscm = substream->private_data; pcm_close() local
119 struct snd_tscm *tscm = substream->private_data; pcm_hw_params() local
140 struct snd_tscm *tscm = substream->private_data; pcm_hw_free() local
156 struct snd_tscm *tscm = substream->private_data; pcm_capture_prepare() local
173 struct snd_tscm *tscm = substream->private_data; pcm_playback_prepare() local
190 struct snd_tscm *tscm = substream->private_data; pcm_capture_trigger() local
208 struct snd_tscm *tscm = substream->private_data; pcm_playback_trigger() local
226 struct snd_tscm *tscm = sbstrm->private_data; pcm_capture_pointer() local
233 struct snd_tscm *tscm = sbstrm->private_data; pcm_playback_pointer() local
240 struct snd_tscm *tscm = substream->private_data; pcm_capture_ack() local
247 struct snd_tscm *tscm = substream->private_data; pcm_playback_ack() local
252 snd_tscm_create_pcm_devices(struct snd_tscm *tscm) snd_tscm_create_pcm_devices() argument
[all...]
H A Dtascam.c44 static int identify_model(struct snd_tscm *tscm) in identify_model() argument
46 struct fw_device *fw_dev = fw_parent_device(tscm->unit); in identify_model()
53 dev_err(&tscm->unit->device, in identify_model()
69 tscm->spec = &model_specs[i]; in identify_model()
73 if (tscm->spec == NULL) in identify_model()
76 strcpy(tscm->card->driver, "FW-TASCAM"); in identify_model()
77 strcpy(tscm->card->shortname, model); in identify_model()
78 strcpy(tscm->card->mixername, model); in identify_model()
79 snprintf(tscm->card->longname, sizeof(tscm in identify_model()
89 struct snd_tscm *tscm = card->private_data; tscm_card_free() local
102 struct snd_tscm *tscm; snd_tscm_probe() local
157 struct snd_tscm *tscm = dev_get_drvdata(&unit->device); snd_tscm_update() local
168 struct snd_tscm *tscm = dev_get_drvdata(&unit->device); snd_tscm_remove() local
[all...]
H A Dtascam-midi.c18 struct snd_tscm *tscm = substream->rmidi->private_data; in midi_playback_open() local
20 snd_fw_async_midi_port_init(&tscm->out_ports[substream->number]); in midi_playback_open()
38 struct snd_tscm *tscm = substream->rmidi->private_data; in midi_playback_drain() local
40 snd_fw_async_midi_port_finish(&tscm->out_ports[substream->number]); in midi_playback_drain()
45 struct snd_tscm *tscm = substrm->rmidi->private_data; in midi_capture_trigger() local
48 spin_lock_irqsave(&tscm->lock, flags); in midi_capture_trigger()
51 tscm->tx_midi_substreams[substrm->number] = substrm; in midi_capture_trigger()
53 tscm->tx_midi_substreams[substrm->number] = NULL; in midi_capture_trigger()
55 spin_unlock_irqrestore(&tscm->lock, flags); in midi_capture_trigger()
60 struct snd_tscm *tscm in midi_playback_trigger() local
72 snd_tscm_create_midi_devices(struct snd_tscm *tscm) snd_tscm_create_midi_devices() argument
[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()
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 in snd_tscm_transaction_register()
333 snd_tscm_transaction_reregister(struct snd_tscm *tscm) snd_tscm_transaction_reregister() argument
370 snd_tscm_transaction_unregister(struct snd_tscm *tscm) snd_tscm_transaction_unregister() argument
[all...]
H A Dtascam.h164 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 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()
52 static void add_node(struct snd_tscm *tscm, struct snd_info_entry *root, in add_node() argument
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 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 in read_status_messages()
[all...]
/kernel/linux/linux-5.10/sound/firewire/tascam/
H A Dtascam-stream.c16 static int get_clock(struct snd_tscm *tscm, u32 *data) in get_clock() argument
23 err = snd_fw_transaction(tscm->unit, TCODE_READ_QUADLET_REQUEST, in get_clock()
44 static int set_clock(struct snd_tscm *tscm, unsigned int rate, in set_clock() argument
51 err = get_clock(tscm, &data); in set_clock()
81 err = snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in set_clock()
92 return snd_fw_transaction(tscm->unit, TCODE_WRITE_QUADLET_REQUEST, in set_clock()
97 int snd_tscm_stream_get_rate(struct snd_tscm *tscm, unsigned int *rate) in snd_tscm_stream_get_rate() argument
102 err = get_clock(tscm, &data); in snd_tscm_stream_get_rate()
125 int snd_tscm_stream_get_clock(struct snd_tscm *tscm, enum snd_tscm_clock *clock) in snd_tscm_stream_get_clock() argument
130 err = get_clock(tscm, in snd_tscm_stream_get_clock()
141 enable_data_channels(struct snd_tscm *tscm) enable_data_channels() argument
177 set_stream_formats(struct snd_tscm *tscm, unsigned int rate) set_stream_formats() argument
193 finish_session(struct snd_tscm *tscm) finish_session() argument
222 begin_session(struct snd_tscm *tscm) begin_session() argument
281 keep_resources(struct snd_tscm *tscm, unsigned int rate, struct amdtp_stream *stream) keep_resources() argument
301 init_stream(struct snd_tscm *tscm, struct amdtp_stream *s) init_stream() argument
334 destroy_stream(struct snd_tscm *tscm, struct amdtp_stream *s) destroy_stream() argument
344 snd_tscm_stream_init_duplex(struct snd_tscm *tscm) snd_tscm_stream_init_duplex() argument
368 snd_tscm_stream_update_duplex(struct snd_tscm *tscm) snd_tscm_stream_update_duplex() argument
378 snd_tscm_stream_destroy_duplex(struct snd_tscm *tscm) snd_tscm_stream_destroy_duplex() argument
386 snd_tscm_stream_reserve_duplex(struct snd_tscm *tscm, unsigned int rate, unsigned int frames_per_period, unsigned int frames_per_buffer) snd_tscm_stream_reserve_duplex() argument
431 snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate) snd_tscm_stream_start_duplex() argument
497 snd_tscm_stream_stop_duplex(struct snd_tscm *tscm) snd_tscm_stream_stop_duplex() argument
508 snd_tscm_stream_lock_changed(struct snd_tscm *tscm) snd_tscm_stream_lock_changed() argument
514 snd_tscm_stream_lock_try(struct snd_tscm *tscm) snd_tscm_stream_lock_try() argument
535 snd_tscm_stream_lock_release(struct snd_tscm *tscm) snd_tscm_stream_lock_release() argument
[all...]
H A Dtascam-hwdep.c18 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; hwdep_read() local
132 struct snd_tscm *tscm = hwdep->private_data; hwdep_poll() local
147 hwdep_get_info(struct snd_tscm *tscm, void __user *arg) hwdep_get_info() argument
166 hwdep_lock(struct snd_tscm *tscm) hwdep_lock() argument
184 hwdep_unlock(struct snd_tscm *tscm) hwdep_unlock() argument
202 tscm_hwdep_state(struct snd_tscm *tscm, void __user *arg) tscm_hwdep_state() argument
212 struct snd_tscm *tscm = hwdep->private_data; hwdep_release() local
225 struct snd_tscm *tscm = hwdep->private_data; hwdep_ioctl() local
252 snd_tscm_create_hwdep_device(struct snd_tscm *tscm) snd_tscm_create_hwdep_device() argument
[all...]
H A Dtascam.c44 static int identify_model(struct snd_tscm *tscm) in identify_model() argument
46 struct fw_device *fw_dev = fw_parent_device(tscm->unit); in identify_model()
53 dev_err(&tscm->unit->device, in identify_model()
69 tscm->spec = &model_specs[i]; in identify_model()
73 if (tscm->spec == NULL) in identify_model()
76 strcpy(tscm->card->driver, "FW-TASCAM"); in identify_model()
77 strcpy(tscm->card->shortname, model); in identify_model()
78 strcpy(tscm->card->mixername, model); in identify_model()
79 snprintf(tscm->card->longname, sizeof(tscm in identify_model()
89 struct snd_tscm *tscm = card->private_data; tscm_card_free() local
97 struct snd_tscm *tscm = container_of(work, struct snd_tscm, dwork.work); do_registration() local
149 struct snd_tscm *tscm; snd_tscm_probe() local
171 struct snd_tscm *tscm = dev_get_drvdata(&unit->device); snd_tscm_update() local
192 struct snd_tscm *tscm = dev_get_drvdata(&unit->device); snd_tscm_remove() local
[all...]
H A Dtascam-pcm.c10 static int pcm_init_hw_params(struct snd_tscm *tscm, in pcm_init_hw_params() argument
20 stream = &tscm->tx_stream; in pcm_init_hw_params()
21 pcm_channels = tscm->spec->pcm_capture_analog_channels; in pcm_init_hw_params()
24 stream = &tscm->rx_stream; in pcm_init_hw_params()
25 pcm_channels = tscm->spec->pcm_playback_analog_channels; 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()
45 struct snd_tscm *tscm = substream->private_data; in pcm_open() local
46 struct amdtp_domain *d = &tscm->domain; in pcm_open()
50 err = snd_tscm_stream_lock_try(tscm); in pcm_open()
109 struct snd_tscm *tscm = substream->private_data; pcm_close() local
119 struct snd_tscm *tscm = substream->private_data; pcm_hw_params() local
140 struct snd_tscm *tscm = substream->private_data; pcm_hw_free() local
156 struct snd_tscm *tscm = substream->private_data; pcm_capture_prepare() local
173 struct snd_tscm *tscm = substream->private_data; pcm_playback_prepare() local
190 struct snd_tscm *tscm = substream->private_data; pcm_capture_trigger() local
208 struct snd_tscm *tscm = substream->private_data; pcm_playback_trigger() local
226 struct snd_tscm *tscm = sbstrm->private_data; pcm_capture_pointer() local
233 struct snd_tscm *tscm = sbstrm->private_data; pcm_playback_pointer() local
240 struct snd_tscm *tscm = substream->private_data; pcm_capture_ack() local
247 struct snd_tscm *tscm = substream->private_data; pcm_playback_ack() local
252 snd_tscm_create_pcm_devices(struct snd_tscm *tscm) snd_tscm_create_pcm_devices() argument
[all...]
H A Dtascam-midi.c18 struct snd_tscm *tscm = substream->rmidi->private_data; in midi_playback_open() local
20 snd_fw_async_midi_port_init(&tscm->out_ports[substream->number]); in midi_playback_open()
38 struct snd_tscm *tscm = substream->rmidi->private_data; in midi_playback_drain() local
40 snd_fw_async_midi_port_finish(&tscm->out_ports[substream->number]); in midi_playback_drain()
45 struct snd_tscm *tscm = substrm->rmidi->private_data; in midi_capture_trigger() local
48 spin_lock_irqsave(&tscm->lock, flags); in midi_capture_trigger()
51 tscm->tx_midi_substreams[substrm->number] = substrm; in midi_capture_trigger()
53 tscm->tx_midi_substreams[substrm->number] = NULL; in midi_capture_trigger()
55 spin_unlock_irqrestore(&tscm->lock, flags); in midi_capture_trigger()
60 struct snd_tscm *tscm in midi_playback_trigger() local
72 snd_tscm_create_midi_devices(struct snd_tscm *tscm) snd_tscm_create_midi_devices() argument
[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()
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 in snd_tscm_transaction_register()
333 snd_tscm_transaction_reregister(struct snd_tscm *tscm) snd_tscm_transaction_reregister() argument
370 snd_tscm_transaction_unregister(struct snd_tscm *tscm) snd_tscm_transaction_unregister() argument
[all...]
H A Dtascam.h165 int snd_tscm_stream_get_rate(struct snd_tscm *tscm, unsigned int *rate);
166 int snd_tscm_stream_get_clock(struct snd_tscm *tscm,
168 int snd_tscm_stream_init_duplex(struct snd_tscm *tscm);
169 void snd_tscm_stream_update_duplex(struct snd_tscm *tscm);
170 void snd_tscm_stream_destroy_duplex(struct snd_tscm *tscm);
171 int snd_tscm_stream_reserve_duplex(struct snd_tscm *tscm, unsigned int rate,
174 int snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate);
175 void snd_tscm_stream_stop_duplex(struct snd_tscm *tscm);
177 void snd_tscm_stream_lock_changed(struct snd_tscm *tscm);
178 int snd_tscm_stream_lock_try(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()
52 static void add_node(struct snd_tscm *tscm, struct snd_info_entry *root, in add_node() argument
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 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 in read_status_messages()
[all...]

Completed in 8 milliseconds