Lines Matching defs:motu
3 * motu-protocol-v2.c - a part of driver for MOTU FireWire series
8 #include "motu.h"
45 int snd_motu_protocol_v2_get_clock_rate(struct snd_motu *motu,
51 err = snd_motu_transaction_read(motu, V2_CLOCK_STATUS_OFFSET, ®,
59 int snd_motu_protocol_v2_set_clock_rate(struct snd_motu *motu,
74 err = snd_motu_transaction_read(motu, V2_CLOCK_STATUS_OFFSET, ®,
84 return snd_motu_transaction_write(motu, V2_CLOCK_STATUS_OFFSET, ®,
88 static int get_clock_source(struct snd_motu *motu, u32 data,
100 bool support_iec60958_on_opt = (motu->spec == &snd_motu_spec_828mk2 ||
101 motu->spec == &snd_motu_spec_traveler);
103 if (motu->spec == &snd_motu_spec_896hd) {
111 int err = snd_motu_transaction_read(motu, V2_IN_OUT_CONF_OFFSET, ®,
145 int snd_motu_protocol_v2_get_clock_source(struct snd_motu *motu,
151 err = snd_motu_transaction_read(motu, V2_CLOCK_STATUS_OFFSET, ®,
156 return get_clock_source(motu, be32_to_cpu(reg), src);
160 static int switch_fetching_mode_cyclone(struct snd_motu *motu, u32 *data,
169 static int switch_fetching_mode_spartan(struct snd_motu *motu, u32 *data,
176 err = get_clock_source(motu, *data, &src);
190 int snd_motu_protocol_v2_switch_fetching_mode(struct snd_motu *motu,
193 if (motu->spec == &snd_motu_spec_828mk2) {
196 } else if (motu->spec == &snd_motu_spec_896hd) {
204 err = snd_motu_transaction_read(motu, V2_CLOCK_STATUS_OFFSET,
214 if (motu->spec == &snd_motu_spec_traveler)
215 err = switch_fetching_mode_cyclone(motu, &data, enable);
217 err = switch_fetching_mode_spartan(motu, &data, enable);
222 return snd_motu_transaction_write(motu, V2_CLOCK_STATUS_OFFSET,
227 int snd_motu_protocol_v2_cache_packet_formats(struct snd_motu *motu)
229 bool has_two_opt_ifaces = (motu->spec == &snd_motu_spec_8pre);
234 motu->tx_packet_formats.pcm_byte_offset = 10;
235 motu->rx_packet_formats.pcm_byte_offset = 10;
237 motu->tx_packet_formats.msg_chunks = 2;
238 motu->rx_packet_formats.msg_chunks = 2;
240 err = snd_motu_transaction_read(motu, V2_IN_OUT_CONF_OFFSET, ®,
246 memcpy(motu->tx_packet_formats.pcm_chunks,
247 motu->spec->tx_fixed_pcm_chunks,
248 sizeof(motu->tx_packet_formats.pcm_chunks));
249 memcpy(motu->rx_packet_formats.pcm_chunks,
250 motu->spec->rx_fixed_pcm_chunks,
251 sizeof(motu->rx_packet_formats.pcm_chunks));
254 motu->tx_packet_formats.pcm_chunks[0] += 8;
257 motu->tx_packet_formats.pcm_chunks[1] += 4;
259 motu->tx_packet_formats.pcm_chunks[1] += 8;
263 motu->rx_packet_formats.pcm_chunks[0] += 8;
266 motu->rx_packet_formats.pcm_chunks[1] += 4;
268 motu->rx_packet_formats.pcm_chunks[1] += 8;