#include "dice.h"
#define READY_TIMEOUT_MS …
#define NOTIFICATION_TIMEOUT_MS …
struct reg_params { … };
const unsigned int snd_dice_rates[SND_DICE_RATES_COUNT] = …;
int snd_dice_stream_get_rate_mode(struct snd_dice *dice, unsigned int rate,
enum snd_dice_rate_mode *mode)
{ … }
static int select_clock(struct snd_dice *dice, unsigned int rate)
{ … }
static int get_register_params(struct snd_dice *dice,
struct reg_params *tx_params,
struct reg_params *rx_params)
{ … }
static void release_resources(struct snd_dice *dice)
{ … }
static void stop_streams(struct snd_dice *dice, enum amdtp_stream_direction dir,
struct reg_params *params)
{ … }
static int keep_resources(struct snd_dice *dice, struct amdtp_stream *stream,
struct fw_iso_resources *resources, unsigned int rate,
unsigned int pcm_chs, unsigned int midi_ports)
{ … }
static int keep_dual_resources(struct snd_dice *dice, unsigned int rate,
enum amdtp_stream_direction dir,
struct reg_params *params)
{ … }
static void finish_session(struct snd_dice *dice, struct reg_params *tx_params,
struct reg_params *rx_params)
{ … }
int snd_dice_stream_reserve_duplex(struct snd_dice *dice, unsigned int rate,
unsigned int events_per_period,
unsigned int events_per_buffer)
{ … }
static int start_streams(struct snd_dice *dice, enum amdtp_stream_direction dir,
unsigned int rate, struct reg_params *params)
{ … }
int snd_dice_stream_start_duplex(struct snd_dice *dice)
{ … }
void snd_dice_stream_stop_duplex(struct snd_dice *dice)
{ … }
static int init_stream(struct snd_dice *dice, enum amdtp_stream_direction dir,
unsigned int index)
{ … }
static void destroy_stream(struct snd_dice *dice,
enum amdtp_stream_direction dir,
unsigned int index)
{ … }
int snd_dice_stream_init_duplex(struct snd_dice *dice)
{ … }
void snd_dice_stream_destroy_duplex(struct snd_dice *dice)
{ … }
void snd_dice_stream_update_duplex(struct snd_dice *dice)
{ … }
int snd_dice_stream_detect_current_formats(struct snd_dice *dice)
{ … }
static void dice_lock_changed(struct snd_dice *dice)
{ … }
int snd_dice_stream_lock_try(struct snd_dice *dice)
{ … }
void snd_dice_stream_lock_release(struct snd_dice *dice)
{ … }