Lines Matching defs:motu

2 // motu-protocol-v1.c - a part of driver for MOTU FireWire series
6 #include "motu.h"
12 // 0xffff0000: ISOC_COMM_CONTROL_MASK in motu-stream.c.
133 static int get_clock_rate_828(struct snd_motu *motu, unsigned int *rate)
138 err = snd_motu_transaction_read(motu, CLK_828_STATUS_OFFSET, &reg, sizeof(reg));
168 static int get_clock_rate_896(struct snd_motu *motu, unsigned int *rate)
173 err = snd_motu_transaction_read(motu, CLK_896_STATUS_OFFSET, &reg, sizeof(reg));
179 int snd_motu_protocol_v1_get_clock_rate(struct snd_motu *motu, unsigned int *rate)
181 if (motu->spec == &snd_motu_spec_828)
182 return get_clock_rate_828(motu, rate);
183 else if (motu->spec == &snd_motu_spec_896)
184 return get_clock_rate_896(motu, rate);
189 static int set_clock_rate_828(struct snd_motu *motu, unsigned int rate)
195 err = snd_motu_transaction_read(motu, CLK_828_STATUS_OFFSET, &reg, sizeof(reg));
205 return snd_motu_transaction_write(motu, CLK_828_STATUS_OFFSET, &reg, sizeof(reg));
208 static int set_clock_rate_896(struct snd_motu *motu, unsigned int rate)
215 err = snd_motu_transaction_read(motu, CLK_896_STATUS_OFFSET, &reg, sizeof(reg));
241 return snd_motu_transaction_write(motu, CLK_896_STATUS_OFFSET, &reg, sizeof(reg));
244 int snd_motu_protocol_v1_set_clock_rate(struct snd_motu *motu, unsigned int rate)
246 if (motu->spec == &snd_motu_spec_828)
247 return set_clock_rate_828(motu, rate);
248 else if (motu->spec == &snd_motu_spec_896)
249 return set_clock_rate_896(motu, rate);
254 static int get_clock_source_828(struct snd_motu *motu, enum snd_motu_clock_source *src)
260 err = snd_motu_transaction_read(motu, CLK_828_STATUS_OFFSET, &reg, sizeof(reg));
293 static int get_clock_source_896(struct snd_motu *motu, enum snd_motu_clock_source *src)
299 err = snd_motu_transaction_read(motu, CLK_896_STATUS_OFFSET, &reg, sizeof(reg));
330 int snd_motu_protocol_v1_get_clock_source(struct snd_motu *motu, enum snd_motu_clock_source *src)
332 if (motu->spec == &snd_motu_spec_828)
333 return get_clock_source_828(motu, src);
334 else if (motu->spec == &snd_motu_spec_896)
335 return get_clock_source_896(motu, src);
340 static int switch_fetching_mode_828(struct snd_motu *motu, bool enable)
346 err = snd_motu_transaction_read(motu, CLK_828_STATUS_OFFSET, &reg, sizeof(reg));
361 return snd_motu_transaction_write(motu, CLK_828_STATUS_OFFSET, &reg, sizeof(reg));
364 static int switch_fetching_mode_896(struct snd_motu *motu, bool enable)
370 err = snd_motu_transaction_read(motu, CLK_896_STATUS_OFFSET, &reg, sizeof(reg));
380 return snd_motu_transaction_write(motu, CLK_896_STATUS_OFFSET, &reg, sizeof(reg));
383 int snd_motu_protocol_v1_switch_fetching_mode(struct snd_motu *motu, bool enable)
385 if (motu->spec == &snd_motu_spec_828)
386 return switch_fetching_mode_828(motu, enable);
387 else if (motu->spec == &snd_motu_spec_896)
388 return switch_fetching_mode_896(motu, enable);
393 static int detect_packet_formats_828(struct snd_motu *motu)
399 motu->tx_packet_formats.pcm_byte_offset = 4;
400 motu->tx_packet_formats.msg_chunks = 2;
402 motu->rx_packet_formats.pcm_byte_offset = 4;
403 motu->rx_packet_formats.msg_chunks = 0;
405 err = snd_motu_transaction_read(motu, CLK_828_STATUS_OFFSET, &reg, sizeof(reg));
412 motu->tx_packet_formats.pcm_chunks[0] += 8;
415 motu->rx_packet_formats.pcm_chunks[0] += 8;
420 static int detect_packet_formats_896(struct snd_motu *motu)
423 motu->tx_packet_formats.pcm_byte_offset = 4;
424 motu->rx_packet_formats.pcm_byte_offset = 4;
427 motu->tx_packet_formats.msg_chunks = 0;
428 motu->rx_packet_formats.msg_chunks = 0;
432 motu->tx_packet_formats.pcm_chunks[0] += 8;
433 motu->tx_packet_formats.pcm_chunks[1] += 8;
435 motu->rx_packet_formats.pcm_chunks[0] += 8;
436 motu->rx_packet_formats.pcm_chunks[1] += 8;
441 int snd_motu_protocol_v1_cache_packet_formats(struct snd_motu *motu)
443 memcpy(motu->tx_packet_formats.pcm_chunks, motu->spec->tx_fixed_pcm_chunks,
444 sizeof(motu->tx_packet_formats.pcm_chunks));
445 memcpy(motu->rx_packet_formats.pcm_chunks, motu->spec->rx_fixed_pcm_chunks,
446 sizeof(motu->rx_packet_formats.pcm_chunks));
448 if (motu->spec == &snd_motu_spec_828)
449 return detect_packet_formats_828(motu);
450 else if (motu->spec == &snd_motu_spec_896)
451 return detect_packet_formats_896(motu);