#include <linux/delay.h>
#include "tascam.h"
#define CLOCK_STATUS_MASK …
#define CLOCK_CONFIG_MASK …
#define READY_TIMEOUT_MS …
static int get_clock(struct snd_tscm *tscm, u32 *data)
{ … }
static int set_clock(struct snd_tscm *tscm, unsigned int rate,
enum snd_tscm_clock clock)
{ … }
int snd_tscm_stream_get_rate(struct snd_tscm *tscm, unsigned int *rate)
{ … }
int snd_tscm_stream_get_clock(struct snd_tscm *tscm, enum snd_tscm_clock *clock)
{ … }
static int enable_data_channels(struct snd_tscm *tscm)
{ … }
static int set_stream_formats(struct snd_tscm *tscm, unsigned int rate)
{ … }
static void finish_session(struct snd_tscm *tscm)
{ … }
static int begin_session(struct snd_tscm *tscm)
{ … }
static int keep_resources(struct snd_tscm *tscm, unsigned int rate,
struct amdtp_stream *stream)
{ … }
static int init_stream(struct snd_tscm *tscm, struct amdtp_stream *s)
{ … }
static void destroy_stream(struct snd_tscm *tscm, struct amdtp_stream *s)
{ … }
int snd_tscm_stream_init_duplex(struct snd_tscm *tscm)
{ … }
void snd_tscm_stream_update_duplex(struct snd_tscm *tscm)
{ … }
void snd_tscm_stream_destroy_duplex(struct snd_tscm *tscm)
{ … }
int snd_tscm_stream_reserve_duplex(struct snd_tscm *tscm, unsigned int rate,
unsigned int frames_per_period,
unsigned int frames_per_buffer)
{ … }
int snd_tscm_stream_start_duplex(struct snd_tscm *tscm, unsigned int rate)
{ … }
void snd_tscm_stream_stop_duplex(struct snd_tscm *tscm)
{ … }
void snd_tscm_stream_lock_changed(struct snd_tscm *tscm)
{ … }
int snd_tscm_stream_lock_try(struct snd_tscm *tscm)
{ … }
void snd_tscm_stream_lock_release(struct snd_tscm *tscm)
{ … }