Lines Matching defs:motu

3  * motu-protocol-v3.c - a part of driver for MOTU FireWire series
9 #include "motu.h"
30 int snd_motu_protocol_v3_get_clock_rate(struct snd_motu *motu,
37 err = snd_motu_transaction_read(motu, V3_CLOCK_STATUS_OFFSET, &reg,
52 int snd_motu_protocol_v3_set_clock_rate(struct snd_motu *motu,
67 err = snd_motu_transaction_read(motu, V3_CLOCK_STATUS_OFFSET, &reg,
79 err = snd_motu_transaction_write(motu, V3_CLOCK_STATUS_OFFSET, &reg,
87 motu->msg = 0;
88 result = wait_event_interruptible_timeout(motu->hwdep_wait,
89 motu->msg & V3_MSG_FLAG_CLK_CHANGED,
100 static int detect_clock_source_828mk3(struct snd_motu *motu, u32 data,
123 err = snd_motu_transaction_read(motu,
151 static int v3_detect_clock_source(struct snd_motu *motu, u32 data,
175 int snd_motu_protocol_v3_get_clock_source(struct snd_motu *motu,
182 err = snd_motu_transaction_read(motu, V3_CLOCK_STATUS_OFFSET, &reg,
188 if (motu->spec == &snd_motu_spec_828mk3)
189 return detect_clock_source_828mk3(motu, data, src);
191 return v3_detect_clock_source(motu, data, src);
194 int snd_motu_protocol_v3_switch_fetching_mode(struct snd_motu *motu,
201 err = snd_motu_transaction_read(motu, V3_CLOCK_STATUS_OFFSET, &reg,
213 return snd_motu_transaction_write(motu, V3_CLOCK_STATUS_OFFSET, &reg,
217 static int detect_packet_formats_828mk3(struct snd_motu *motu, u32 data)
221 motu->tx_packet_formats.pcm_chunks[0] += 4;
222 motu->tx_packet_formats.pcm_chunks[1] += 4;
224 motu->tx_packet_formats.pcm_chunks[0] += 8;
225 motu->tx_packet_formats.pcm_chunks[1] += 4;
231 motu->tx_packet_formats.pcm_chunks[0] += 4;
232 motu->tx_packet_formats.pcm_chunks[1] += 4;
234 motu->tx_packet_formats.pcm_chunks[0] += 8;
235 motu->tx_packet_formats.pcm_chunks[1] += 4;
241 motu->rx_packet_formats.pcm_chunks[0] += 4;
242 motu->rx_packet_formats.pcm_chunks[1] += 4;
244 motu->rx_packet_formats.pcm_chunks[0] += 8;
245 motu->rx_packet_formats.pcm_chunks[1] += 4;
251 motu->rx_packet_formats.pcm_chunks[0] += 4;
252 motu->rx_packet_formats.pcm_chunks[1] += 4;
254 motu->rx_packet_formats.pcm_chunks[0] += 8;
255 motu->rx_packet_formats.pcm_chunks[1] += 4;
262 int snd_motu_protocol_v3_cache_packet_formats(struct snd_motu *motu)
268 motu->tx_packet_formats.pcm_byte_offset = 10;
269 motu->rx_packet_formats.pcm_byte_offset = 10;
271 motu->tx_packet_formats.msg_chunks = 2;
272 motu->rx_packet_formats.msg_chunks = 2;
274 err = snd_motu_transaction_read(motu, V3_OPT_IFACE_MODE_OFFSET, &reg,
280 memcpy(motu->tx_packet_formats.pcm_chunks,
281 motu->spec->tx_fixed_pcm_chunks,
282 sizeof(motu->tx_packet_formats.pcm_chunks));
283 memcpy(motu->rx_packet_formats.pcm_chunks,
284 motu->spec->rx_fixed_pcm_chunks,
285 sizeof(motu->rx_packet_formats.pcm_chunks));
287 if (motu->spec == &snd_motu_spec_828mk3)
288 return detect_packet_formats_828mk3(motu, data);