#include "motu.h"
#define READY_TIMEOUT_MS …
#define ISOC_COMM_CONTROL_OFFSET …
#define ISOC_COMM_CONTROL_MASK …
#define CHANGE_RX_ISOC_COMM_STATE …
#define RX_ISOC_COMM_IS_ACTIVATED …
#define RX_ISOC_COMM_CHANNEL_MASK …
#define RX_ISOC_COMM_CHANNEL_SHIFT …
#define CHANGE_TX_ISOC_COMM_STATE …
#define TX_ISOC_COMM_IS_ACTIVATED …
#define TX_ISOC_COMM_CHANNEL_MASK …
#define TX_ISOC_COMM_CHANNEL_SHIFT …
#define PACKET_FORMAT_OFFSET …
#define TX_PACKET_EXCLUDE_DIFFERED_DATA_CHUNKS …
#define RX_PACKET_EXCLUDE_DIFFERED_DATA_CHUNKS …
#define TX_PACKET_TRANSMISSION_SPEED_MASK …
static int keep_resources(struct snd_motu *motu, unsigned int rate,
struct amdtp_stream *stream)
{ … }
static int begin_session(struct snd_motu *motu)
{ … }
static void finish_session(struct snd_motu *motu)
{ … }
int snd_motu_stream_cache_packet_formats(struct snd_motu *motu)
{ … }
int snd_motu_stream_reserve_duplex(struct snd_motu *motu, unsigned int rate,
unsigned int frames_per_period,
unsigned int frames_per_buffer)
{ … }
static int ensure_packet_formats(struct snd_motu *motu)
{ … }
int snd_motu_stream_start_duplex(struct snd_motu *motu)
{ … }
void snd_motu_stream_stop_duplex(struct snd_motu *motu)
{ … }
static int init_stream(struct snd_motu *motu, struct amdtp_stream *s)
{ … }
static void destroy_stream(struct snd_motu *motu, struct amdtp_stream *s)
{ … }
int snd_motu_stream_init_duplex(struct snd_motu *motu)
{ … }
void snd_motu_stream_destroy_duplex(struct snd_motu *motu)
{ … }
static void motu_lock_changed(struct snd_motu *motu)
{ … }
int snd_motu_stream_lock_try(struct snd_motu *motu)
{ … }
void snd_motu_stream_lock_release(struct snd_motu *motu)
{ … }