Lines Matching defs:motu

3  * motu-protocol-v2.c - a part of driver for MOTU FireWire series
8 #include "motu.h"
38 int snd_motu_protocol_v2_get_clock_rate(struct snd_motu *motu,
44 err = snd_motu_transaction_read(motu, V2_CLOCK_STATUS_OFFSET, &reg,
52 int snd_motu_protocol_v2_set_clock_rate(struct snd_motu *motu,
67 err = snd_motu_transaction_read(motu, V2_CLOCK_STATUS_OFFSET, &reg,
77 return snd_motu_transaction_write(motu, V2_CLOCK_STATUS_OFFSET, &reg,
81 static int detect_clock_source_optical_model(struct snd_motu *motu, u32 data,
96 int err = snd_motu_transaction_read(motu, V2_IN_OUT_CONF_OFFSET, &reg, sizeof(reg));
123 static int v2_detect_clock_source(struct snd_motu *motu, u32 data,
147 static int get_clock_source(struct snd_motu *motu, u32 data,
151 if (motu->spec == &snd_motu_spec_828mk2 ||
152 motu->spec == &snd_motu_spec_traveler)
153 return detect_clock_source_optical_model(motu, data, src);
155 return v2_detect_clock_source(motu, data, src);
158 int snd_motu_protocol_v2_get_clock_source(struct snd_motu *motu,
164 err = snd_motu_transaction_read(motu, V2_CLOCK_STATUS_OFFSET, &reg,
169 return get_clock_source(motu, be32_to_cpu(reg), src);
173 static int switch_fetching_mode_cyclone(struct snd_motu *motu, u32 *data,
182 static int switch_fetching_mode_spartan(struct snd_motu *motu, u32 *data,
189 err = get_clock_source(motu, *data, &src);
203 int snd_motu_protocol_v2_switch_fetching_mode(struct snd_motu *motu,
206 if (motu->spec == &snd_motu_spec_828mk2) {
214 err = snd_motu_transaction_read(motu, V2_CLOCK_STATUS_OFFSET,
224 if (motu->spec == &snd_motu_spec_traveler)
225 err = switch_fetching_mode_cyclone(motu, &data, enable);
227 err = switch_fetching_mode_spartan(motu, &data, enable);
232 return snd_motu_transaction_write(motu, V2_CLOCK_STATUS_OFFSET,
237 static int detect_packet_formats_828mk2(struct snd_motu *motu, u32 data)
241 motu->tx_packet_formats.pcm_chunks[0] += 8;
242 motu->tx_packet_formats.pcm_chunks[1] += 4;
247 motu->rx_packet_formats.pcm_chunks[0] += 8;
248 motu->rx_packet_formats.pcm_chunks[1] += 4;
254 static int detect_packet_formats_traveler(struct snd_motu *motu, u32 data)
258 motu->tx_packet_formats.pcm_chunks[0] += 8;
259 motu->tx_packet_formats.pcm_chunks[1] += 4;
264 motu->rx_packet_formats.pcm_chunks[0] += 8;
265 motu->rx_packet_formats.pcm_chunks[1] += 4;
271 static int detect_packet_formats_8pre(struct snd_motu *motu, u32 data)
275 motu->tx_packet_formats.pcm_chunks[0] += 8;
276 motu->tx_packet_formats.pcm_chunks[1] += 8;
281 motu->rx_packet_formats.pcm_chunks[0] += 8;
282 motu->rx_packet_formats.pcm_chunks[1] += 8;
288 int snd_motu_protocol_v2_cache_packet_formats(struct snd_motu *motu)
294 motu->tx_packet_formats.pcm_byte_offset = 10;
295 motu->rx_packet_formats.pcm_byte_offset = 10;
297 motu->tx_packet_formats.msg_chunks = 2;
298 motu->rx_packet_formats.msg_chunks = 2;
300 err = snd_motu_transaction_read(motu, V2_IN_OUT_CONF_OFFSET, &reg,
306 memcpy(motu->tx_packet_formats.pcm_chunks,
307 motu->spec->tx_fixed_pcm_chunks,
308 sizeof(motu->tx_packet_formats.pcm_chunks));
309 memcpy(motu->rx_packet_formats.pcm_chunks,
310 motu->spec->rx_fixed_pcm_chunks,
311 sizeof(motu->rx_packet_formats.pcm_chunks));
313 if (motu->spec == &snd_motu_spec_828mk2)
314 return detect_packet_formats_828mk2(motu, data);
315 else if (motu->spec == &snd_motu_spec_traveler)
316 return detect_packet_formats_traveler(motu, data);
317 else if (motu->spec == &snd_motu_spec_8pre)
318 return detect_packet_formats_8pre(motu, data);