/linux/sound/firewire/motu/ |
A D | motu-stream.c | 170 err = keep_resources(motu, rate, &motu->tx_stream); in snd_motu_stream_reserve_duplex() 174 err = keep_resources(motu, rate, &motu->rx_stream); in snd_motu_stream_reserve_duplex() 189 motu->cache.event_offsets = kcalloc(motu->cache.size, sizeof(*motu->cache.event_offsets), in snd_motu_stream_reserve_duplex() 350 err = amdtp_motu_init(s, motu->unit, dir, motu->spec, &motu->cache); in init_stream() 371 err = init_stream(motu, &motu->tx_stream); in snd_motu_stream_init_duplex() 375 err = init_stream(motu, &motu->rx_stream); in snd_motu_stream_init_duplex() 377 destroy_stream(motu, &motu->tx_stream); in snd_motu_stream_init_duplex() 383 destroy_stream(motu, &motu->tx_stream); in snd_motu_stream_init_duplex() 384 destroy_stream(motu, &motu->rx_stream); in snd_motu_stream_init_duplex() 396 destroy_stream(motu, &motu->rx_stream); in snd_motu_stream_destroy_duplex() [all …]
|
A D | motu.h | 163 int snd_motu_transaction_register(struct snd_motu *motu); 167 int snd_motu_stream_init_duplex(struct snd_motu *motu); 173 int snd_motu_stream_start_duplex(struct snd_motu *motu); 174 void snd_motu_stream_stop_duplex(struct snd_motu *motu); 175 int snd_motu_stream_lock_try(struct snd_motu *motu); 176 void snd_motu_stream_lock_release(struct snd_motu *motu); 178 void snd_motu_proc_init(struct snd_motu *motu); 180 int snd_motu_create_pcm_devices(struct snd_motu *motu); 182 int snd_motu_create_midi_devices(struct snd_motu *motu); 184 int snd_motu_create_hwdep_device(struct snd_motu *motu); [all …]
|
A D | motu-protocol-v1.c | 184 if (motu->spec == &snd_motu_spec_828) in snd_motu_protocol_v1_get_clock_rate() 185 return get_clock_rate_828(motu, rate); in snd_motu_protocol_v1_get_clock_rate() 187 return get_clock_rate_896(motu, rate); in snd_motu_protocol_v1_get_clock_rate() 249 if (motu->spec == &snd_motu_spec_828) in snd_motu_protocol_v1_set_clock_rate() 250 return set_clock_rate_828(motu, rate); in snd_motu_protocol_v1_set_clock_rate() 252 return set_clock_rate_896(motu, rate); in snd_motu_protocol_v1_set_clock_rate() 335 if (motu->spec == &snd_motu_spec_828) in snd_motu_protocol_v1_get_clock_source() 388 if (motu->spec == &snd_motu_spec_828) in snd_motu_protocol_v1_switch_fetching_mode() 446 memcpy(motu->tx_packet_formats.pcm_chunks, motu->spec->tx_fixed_pcm_chunks, in snd_motu_protocol_v1_cache_packet_formats() 448 memcpy(motu->rx_packet_formats.pcm_chunks, motu->spec->rx_fixed_pcm_chunks, in snd_motu_protocol_v1_cache_packet_formats() [all …]
|
A D | motu-hwdep.c | 34 spin_lock_irq(&motu->lock); in hwdep_read() 36 while (!motu->dev_lock_changed && motu->msg == 0 && !has_dsp_event(motu)) { in hwdep_read() 43 spin_lock_irq(&motu->lock); in hwdep_read() 56 } else if (motu->msg > 0) { in hwdep_read() 59 motu->msg = 0; in hwdep_read() 104 if (motu->dev_lock_changed || motu->msg || has_dsp_event(motu)) in hwdep_poll() 157 motu->dev_lock_count = 0; in hwdep_unlock() 174 motu->dev_lock_count = 0; in hwdep_release() 189 return hwdep_lock(motu); in hwdep_ioctl() 285 err = snd_hwdep_new(motu->card, motu->card->driver, 0, &hwdep); in snd_motu_create_hwdep_device() [all …]
|
A D | motu.c | 45 strcpy(motu->card->shortname, motu->spec->name); in name_card() 46 strcpy(motu->card->mixername, motu->spec->name); in name_card() 47 snprintf(motu->card->longname, sizeof(motu->card->longname), in name_card() 49 motu->spec->name, version, in name_card() 62 fw_unit_put(motu->unit); in motu_card_free() 68 struct snd_motu *motu; in motu_probe() local 76 motu = card->private_data; in motu_probe() 79 motu->card = card; in motu_probe() 82 mutex_init(&motu->mutex); in motu_probe() 86 name_card(motu); in motu_probe() [all …]
|
A D | motu-pcm.c | 106 stream = &motu->tx_stream; in init_hw_info() 110 stream = &motu->rx_stream; in init_hw_info() 141 mutex_lock(&motu->mutex); in pcm_open() 233 mutex_lock(&motu->mutex); in pcm_hw_free() 250 mutex_lock(&motu->mutex); in capture_prepare() 263 mutex_lock(&motu->mutex); in playback_prepare() 311 return amdtp_domain_stream_pcm_pointer(&motu->domain, &motu->tx_stream); in capture_pointer() 317 return amdtp_domain_stream_pcm_pointer(&motu->domain, &motu->rx_stream); in playback_pointer() 324 return amdtp_domain_stream_pcm_ack(&motu->domain, &motu->tx_stream); in capture_ack() 331 return amdtp_domain_stream_pcm_ack(&motu->domain, &motu->rx_stream); in playback_ack() [all …]
|
A D | motu-midi.c | 14 err = snd_motu_stream_lock_try(motu); in midi_open() 18 mutex_lock(&motu->mutex); in midi_open() 22 ++motu->substreams_counter; in midi_open() 25 --motu->substreams_counter; in midi_open() 28 mutex_unlock(&motu->mutex); in midi_open() 40 mutex_lock(&motu->mutex); in midi_close() 42 --motu->substreams_counter; in midi_close() 43 snd_motu_stream_stop_duplex(motu); in midi_close() 45 mutex_unlock(&motu->mutex); in midi_close() 113 err = snd_rawmidi_new(motu->card, motu->card->driver, 0, 1, 1, &rmidi); in snd_motu_create_midi_devices() [all …]
|
A D | motu-protocol-v3.c | 94 motu->msg = 0; in snd_motu_protocol_v3_set_clock_rate() 96 motu->msg & V3_MSG_FLAG_CLK_CHANGED, in snd_motu_protocol_v3_set_clock_rate() 142 err = snd_motu_transaction_read(motu, in snd_motu_protocol_v3_get_clock_source() 196 motu->tx_packet_formats.pcm_chunks[0] += 4; in detect_packet_formats_with_opt_ifaces() 246 motu->tx_packet_formats.msg_chunks = 2; in snd_motu_protocol_v3_cache_packet_formats() 247 motu->rx_packet_formats.msg_chunks = 2; in snd_motu_protocol_v3_cache_packet_formats() 255 memcpy(motu->tx_packet_formats.pcm_chunks, in snd_motu_protocol_v3_cache_packet_formats() 256 motu->spec->tx_fixed_pcm_chunks, in snd_motu_protocol_v3_cache_packet_formats() 258 memcpy(motu->rx_packet_formats.pcm_chunks, in snd_motu_protocol_v3_cache_packet_formats() 259 motu->spec->rx_fixed_pcm_chunks, in snd_motu_protocol_v3_cache_packet_formats() [all …]
|
A D | motu-transaction.c | 27 return snd_fw_transaction(motu->unit, tcode, in snd_motu_transaction_read() 43 return snd_fw_transaction(motu->unit, tcode, in snd_motu_transaction_write() 52 struct snd_motu *motu = callback_data; in handle_message() local 66 spin_lock_irqsave(&motu->lock, flags); in handle_message() 67 motu->msg = be32_to_cpu(*buf); in handle_message() 68 spin_unlock_irqrestore(&motu->lock, flags); in handle_message() 72 wake_up(&motu->hwdep_wait); in handle_message() 86 (motu->async_handler.offset >> 32)); in snd_motu_transaction_reregister() 106 motu->async_handler.length = 4; in snd_motu_transaction_register() 108 motu->async_handler.callback_data = motu; in snd_motu_transaction_register() [all …]
|
A D | motu-protocol-v2.c | 101 motu->spec == &snd_motu_spec_traveler); in get_clock_source() 103 if (motu->spec == &snd_motu_spec_896hd) { in get_clock_source() 176 err = get_clock_source(motu, *data, &src); in switch_fetching_mode_spartan() 193 if (motu->spec == &snd_motu_spec_828mk2) { in snd_motu_protocol_v2_switch_fetching_mode() 214 if (motu->spec == &snd_motu_spec_traveler) in snd_motu_protocol_v2_switch_fetching_mode() 237 motu->tx_packet_formats.msg_chunks = 2; in snd_motu_protocol_v2_cache_packet_formats() 238 motu->rx_packet_formats.msg_chunks = 2; in snd_motu_protocol_v2_cache_packet_formats() 246 memcpy(motu->tx_packet_formats.pcm_chunks, in snd_motu_protocol_v2_cache_packet_formats() 247 motu->spec->tx_fixed_pcm_chunks, in snd_motu_protocol_v2_cache_packet_formats() 249 memcpy(motu->rx_packet_formats.pcm_chunks, in snd_motu_protocol_v2_cache_packet_formats() [all …]
|
A D | Makefile | 2 CFLAGS_amdtp-motu.o := -I$(src) 4 snd-firewire-motu-objs := motu.o amdtp-motu.o motu-transaction.o motu-stream.o \ 5 motu-proc.o motu-pcm.o motu-midi.o motu-hwdep.o \ 6 motu-protocol-v2.o motu-protocol-v3.o \ 7 motu-protocol-v1.o motu-register-dsp-message-parser.o \ 8 motu-command-dsp-message-parser.o 9 obj-$(CONFIG_SND_FIREWIRE_MOTU) += snd-firewire-motu.o
|
A D | motu-proc.c | 30 struct snd_motu *motu = entry->private_data; in proc_read_clock() local 46 struct snd_motu *motu = entry->private_data; in proc_read_format() local 58 formats = &motu->tx_packet_formats; in proc_read_format() 63 motu->spec->tx_fixed_pcm_chunks[mode], in proc_read_format() 71 formats = &motu->rx_packet_formats; in proc_read_format() 76 motu->spec->rx_fixed_pcm_chunks[mode], in proc_read_format() 90 snd_info_set_text_ops(entry, motu, op); in add_node() 93 void snd_motu_proc_init(struct snd_motu *motu) in snd_motu_proc_init() argument 102 motu->card->proc_root); in snd_motu_proc_init() 107 add_node(motu, root, "clock", proc_read_clock); in snd_motu_proc_init() [all …]
|
A D | motu-register-dsp-message-parser.c | 108 if (motu->spec == &snd_motu_spec_4pre || motu->spec == &snd_motu_spec_audio_express) in snd_motu_register_dsp_message_parser_new() 110 motu->message_parser = parser; in snd_motu_register_dsp_message_parser_new() 116 struct msg_parser *parser = motu->message_parser; in snd_motu_register_dsp_message_parser_init() 129 struct msg_parser *parser = motu->message_parser; in queue_event() 133 if (!motu->hwdep || motu->hwdep->used == 0) in queue_event() 266 queue_event(motu, msg_type, 0, 0, val); in snd_motu_register_dsp_message_parser_parse() 272 queue_event(motu, msg_type, 0, 0, val); in snd_motu_register_dsp_message_parser_parse() 278 queue_event(motu, msg_type, 0, 0, val); in snd_motu_register_dsp_message_parser_parse() 284 queue_event(motu, msg_type, 0, 0, val); in snd_motu_register_dsp_message_parser_parse() 290 queue_event(motu, msg_type, 0, 0, val); in snd_motu_register_dsp_message_parser_parse() [all …]
|
A D | motu-command-dsp-message-parser.c | 36 int snd_motu_command_dsp_message_parser_new(struct snd_motu *motu) in snd_motu_command_dsp_message_parser_new() argument 40 parser = devm_kzalloc(&motu->card->card_dev, sizeof(*parser), GFP_KERNEL); in snd_motu_command_dsp_message_parser_new() 44 motu->message_parser = parser; in snd_motu_command_dsp_message_parser_new() 49 int snd_motu_command_dsp_message_parser_init(struct snd_motu *motu, enum cip_sfc sfc) in snd_motu_command_dsp_message_parser_init() argument 51 struct msg_parser *parser = motu->message_parser; in snd_motu_command_dsp_message_parser_init() 83 void snd_motu_command_dsp_message_parser_parse(struct snd_motu *motu, const struct pkt_desc *descs, in snd_motu_command_dsp_message_parser_parse() argument 86 struct msg_parser *parser = motu->message_parser; in snd_motu_command_dsp_message_parser_parse() 172 void snd_motu_command_dsp_message_parser_copy_meter(struct snd_motu *motu, in snd_motu_command_dsp_message_parser_copy_meter() argument 175 struct msg_parser *parser = motu->message_parser; in snd_motu_command_dsp_message_parser_copy_meter()
|
A D | amdtp-motu.c | 336 struct snd_motu *motu = container_of(s, struct snd_motu, tx_stream); in process_ir_ctx_payloads() local 361 if (motu->spec->flags & SND_MOTU_SPEC_REGISTER_DSP) { in process_ir_ctx_payloads() 362 snd_motu_register_dsp_message_parser_parse(motu, descs, packets, in process_ir_ctx_payloads() 364 } else if (motu->spec->flags & SND_MOTU_SPEC_COMMAND_DSP) { in process_ir_ctx_payloads() 365 snd_motu_command_dsp_message_parser_parse(motu, descs, packets, in process_ir_ctx_payloads()
|
A D | amdtp-motu-trace.h | 84 #define TRACE_INCLUDE_FILE amdtp-motu-trace
|
/linux/sound/firewire/ |
A D | Makefile | 17 obj-$(CONFIG_SND_FIREWIRE_MOTU) += motu/
|
A D | Kconfig | 186 will be called snd-firewire-motu.
|