FreeBSD kernel sound device code
|
Go to the source code of this file.
Data Structures | |
struct | spicds_info |
Macros | |
#define | SPICDS_NAMELEN 16 |
Functions | |
static | MALLOC_DEFINE (M_SPICDS, "spicds", "SPI codec") |
static void | spicds_wrbit (struct spicds_info *codec, int bit) |
static void | spicds_wrcd (struct spicds_info *codec, int reg, u_int16_t val) |
struct spicds_info * | spicds_create (device_t dev, void *devinfo, int num, spicds_ctrl ctrl) |
void | spicds_destroy (struct spicds_info *codec) |
void | spicds_settype (struct spicds_info *codec, unsigned int type) |
void | spicds_setcif (struct spicds_info *codec, unsigned int cif) |
void | spicds_setformat (struct spicds_info *codec, unsigned int format) |
void | spicds_setdvc (struct spicds_info *codec, unsigned int dvc) |
void | spicds_init (struct spicds_info *codec) |
void | spicds_reinit (struct spicds_info *codec) |
void | spicds_set (struct spicds_info *codec, int dir, unsigned int left, unsigned int right) |
MODULE_DEPEND (snd_spicds, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER) | |
MODULE_VERSION (snd_spicds, 1) | |
|
static |
MODULE_DEPEND | ( | snd_spicds | , |
sound | , | ||
SOUND_MINVER | , | ||
SOUND_PREFVER | , | ||
SOUND_MAXVER | |||
) |
MODULE_VERSION | ( | snd_spicds | , |
1 | |||
) |
struct spicds_info * spicds_create | ( | device_t | dev, |
void * | devinfo, | ||
int | num, | ||
spicds_ctrl | ctrl | ||
) |
Definition at line 142 of file spicds.c.
References AK452X_DVC_DEMOFF, AK452X_DVC_ZCE, AK452X_DVC_ZTM1024, AK452X_FORMAT_1X, AK452X_FORMAT_256FSN, AK452X_FORMAT_I2S, spicds_info::cif, spicds_info::ctrl, spicds_info::dev, dev, spicds_info::devinfo, devinfo, spicds_info::dvc, spicds_info::format, spicds_info::lock, spicds_info::name, spicds_info::num, snd_mtxcreate(), SPICDS_NAMELEN, SPICDS_TYPE_AK4524, and spicds_info::type.
Referenced by envy24_delta_ak4524_create(), and envy24ht_spi_create().
void spicds_destroy | ( | struct spicds_info * | codec | ) |
Definition at line 168 of file spicds.c.
References free, spicds_info::lock, and snd_mtxfree().
Referenced by envy24_delta_ak4524_destroy(), and envy24ht_spi_destroy().
void spicds_init | ( | struct spicds_info * | codec | ) |
Definition at line 207 of file spicds.c.
References AK4524_DVC, AK4524_FORMAT, AK4524_POWER, AK4524_RESET, AK452X_POWER_PWAD, AK452X_POWER_PWDA, AK452X_POWER_PWVR, AK452X_RESET_RSAD, AK452X_RESET_RSDA, spicds_info::dev, spicds_info::dvc, spicds_info::format, spicds_info::lock, snd_mtxlock, snd_mtxunlock, SPICDS_TYPE_AK4358, SPICDS_TYPE_AK4381, SPICDS_TYPE_AK4396, SPICDS_TYPE_AK4524, SPICDS_TYPE_AK4528, SPICDS_TYPE_WM8770, spicds_wrcd(), and spicds_info::type.
Referenced by envy24_delta_ak4524_init(), and envy24ht_spi_init().
void spicds_reinit | ( | struct spicds_info * | codec | ) |
Definition at line 253 of file spicds.c.
References AK4524_DVC, AK4524_FORMAT, AK4524_RESET, AK452X_RESET_RSAD, AK452X_RESET_RSDA, spicds_info::dvc, spicds_info::format, spicds_info::lock, snd_mtxlock, snd_mtxunlock, SPICDS_TYPE_WM8770, spicds_wrcd(), and spicds_info::type.
Referenced by envy24_delta_ak4524_reinit(), and envy24ht_spi_reinit().
void spicds_set | ( | struct spicds_info * | codec, |
int | dir, | ||
unsigned int | left, | ||
unsigned int | right | ||
) |
Definition at line 274 of file spicds.c.
References AK4358_LO1ATT, AK4358_OATT_ENABLE, AK4358_RO1ATT, AK4381_LOATT, AK4381_ROATT, AK4396_LOATT, AK4396_ROATT, AK4524_LIPGA, AK4524_LOATT, AK4524_RIPGA, AK4524_ROATT, AK4528_LOATT, AK4528_ROATT, spicds_info::dev, dir, left, spicds_info::lock, PCMDIR_PLAY, PCMDIR_REC, right, snd_mtxlock, snd_mtxunlock, SPICDS_TYPE_AK4358, SPICDS_TYPE_AK4381, SPICDS_TYPE_AK4396, SPICDS_TYPE_AK4524, SPICDS_TYPE_AK4528, SPICDS_TYPE_WM8770, spicds_wrcd(), spicds_info::type, WM8770_AOATT_L1, WM8770_AOATT_R1, and WM8770_AOATT_UPDATE.
Referenced by envy24_delta_ak4524_setvolume(), and envy24ht_spi_setvolume().
void spicds_setcif | ( | struct spicds_info * | codec, |
unsigned int | cif | ||
) |
Definition at line 183 of file spicds.c.
References spicds_info::cif, spicds_info::lock, snd_mtxlock, and snd_mtxunlock.
Referenced by envy24_delta_ak4524_init(), and envy24ht_spi_init().
void spicds_setdvc | ( | struct spicds_info * | codec, |
unsigned int | dvc | ||
) |
Definition at line 199 of file spicds.c.
References spicds_info::dvc, spicds_info::lock, snd_mtxlock, and snd_mtxunlock.
Referenced by envy24_delta_ak4524_init(), and envy24ht_spi_init().
void spicds_setformat | ( | struct spicds_info * | codec, |
unsigned int | format | ||
) |
Definition at line 191 of file spicds.c.
References format, spicds_info::format, spicds_info::lock, snd_mtxlock, and snd_mtxunlock.
Referenced by envy24_delta_ak4524_init(), and envy24ht_spi_init().
void spicds_settype | ( | struct spicds_info * | codec, |
unsigned int | type | ||
) |
Definition at line 175 of file spicds.c.
References spicds_info::lock, snd_mtxlock, snd_mtxunlock, spicds_info::type, and type.
Referenced by envy24_delta_ak4524_init(), and envy24ht_spi_init().
|
static |
Definition at line 58 of file spicds.c.
References spicds_info::cif, spicds_info::ctrl, and spicds_info::devinfo.
Referenced by spicds_wrcd().
|
static |
Definition at line 78 of file spicds.c.
References spicds_info::cif, spicds_info::ctrl, spicds_info::dev, spicds_info::devinfo, mask, reg, SPICDS_TYPE_AK4381, SPICDS_TYPE_AK4396, SPICDS_TYPE_WM8770, spicds_wrbit(), spicds_info::type, and val.
Referenced by spicds_init(), spicds_reinit(), and spicds_set().