FreeBSD kernel sound device code
|
#include <sys/param.h>
#include <sys/types.h>
#include <sys/bus.h>
#include <machine/bus.h>
#include <sys/rman.h>
#include <sys/systm.h>
#include <sys/sbuf.h>
#include <sys/queue.h>
#include <sys/lock.h>
#include <sys/mutex.h>
#include <dev/sound/chip.h>
#include <dev/sound/pcm/sound.h>
#include <dev/sound/pcm/ac97.h>
#include "mixer_if.h"
#include <dev/sound/pci/emuxkireg.h>
#include <dev/sound/pci/emu10kx.h>
Go to the source code of this file.
Data Structures | |
struct | emu_pcm_pchinfo |
struct | emu_pcm_rchinfo |
struct | emu_pcm_info |
struct | emu_dspmix_props_k1 |
struct | emu_dspmix_props_k2 |
Macros | |
#define | MAX_CHANNELS 4 |
#define | AC97LEFT(x) ((x & 0x7F00)>>8) |
#define | AC97RIGHT(x) (x & 0x007F) |
#define | AC97MUTE(x) ((x & 0x8000)>>15) |
#define | BIT4_TO100(x) (100-(x)*100/(0x0f)) |
#define | BIT6_TO100(x) (100-(x)*100/(0x3f)) |
#define | BIT4_TO255(x) (255-(x)*255/(0x0f)) |
#define | BIT6_TO255(x) (255-(x)*255/(0x3f)) |
#define | V100_TOBIT6(x) (0x3f*(100-x)/100) |
#define | V100_TOBIT4(x) (0x0f*(100-x)/100) |
#define | AC97ENCODE(x_muted, x_left, x_right) (((x_muted & 1)<<15) | ((x_left & 0x3f)<<8) | (x_right & 0x3f)) |
Functions | |
static uint32_t | emu_pcm_intr (void *pcm, uint32_t stat) |
static int | emu_dspmixer_init (struct snd_mixer *m) |
static int | emu_dspmixer_uninit (struct snd_mixer *m) |
static int | emu_dspmixer_set (struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) |
static u_int32_t | emu_dspmixer_setrecsrc (struct snd_mixer *m, u_int32_t src) |
MIXER_DECLARE (emudspmixer) | |
static int | emu_efxmixer_init (struct snd_mixer *m) |
static int | emu_efxmixer_set (struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) |
static u_int32_t | emu_efxmixer_setrecsrc (struct snd_mixer *m __unused, u_int32_t src __unused) |
MIXER_DECLARE (emuefxmixer) | |
static int | emu_ac97_read_emulation (struct emu_pcm_info *sc, int regno) |
static void | emu_ac97_write_emulation (struct emu_pcm_info *sc, int regno, uint32_t data) |
static int | emu_erdcd (kobj_t obj __unused, void *devinfo, int regno) |
static int | emu_ewrcd (kobj_t obj __unused, void *devinfo, int regno, uint32_t data) |
AC97_DECLARE (emu_eac97) | |
static int | emu_rdcd (kobj_t obj __unused, void *devinfo, int regno) |
static int | emu_wrcd (kobj_t obj __unused, void *devinfo, int regno, uint32_t data) |
AC97_DECLARE (emu_ac97) | |
static int | emu_k1_recval (int speed) |
static int | emu_k2_recval (int speed) |
static void * | emupchan_init (kobj_t obj __unused, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir __unused) |
static int | emupchan_free (kobj_t obj __unused, void *c_devinfo) |
static int | emupchan_setformat (kobj_t obj __unused, void *c_devinfo, uint32_t format) |
static uint32_t | emupchan_setspeed (kobj_t obj __unused, void *c_devinfo, uint32_t speed) |
static uint32_t | emupchan_setblocksize (kobj_t obj __unused, void *c_devinfo, uint32_t blocksize) |
static int | emupchan_trigger (kobj_t obj __unused, void *c_devinfo, int go) |
static uint32_t | emupchan_getptr (kobj_t obj __unused, void *c_devinfo) |
static struct pcmchan_caps * | emupchan_getcaps (kobj_t obj __unused, void *c_devinfo __unused) |
CHANNEL_DECLARE (emupchan) | |
static void * | emurchan_init (kobj_t obj __unused, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir __unused) |
static int | emurchan_free (kobj_t obj __unused, void *c_devinfo) |
static int | emurchan_setformat (kobj_t obj __unused, void *c_devinfo, uint32_t format) |
static uint32_t | emurchan_setspeed (kobj_t obj __unused, void *c_devinfo, uint32_t speed) |
static uint32_t | emurchan_setblocksize (kobj_t obj __unused, void *c_devinfo, uint32_t blocksize) |
static int | emurchan_trigger (kobj_t obj __unused, void *c_devinfo, int go) |
static uint32_t | emurchan_getptr (kobj_t obj __unused, void *c_devinfo) |
static struct pcmchan_caps * | emurchan_getcaps (kobj_t obj __unused, void *c_devinfo __unused) |
CHANNEL_DECLARE (emurchan) | |
static void * | emufxrchan_init (kobj_t obj __unused, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir __unused) |
static int | emufxrchan_setformat (kobj_t obj __unused, void *c_devinfo __unused, uint32_t format) |
static uint32_t | emufxrchan_setspeed (kobj_t obj __unused, void *c_devinfo, uint32_t speed) |
static uint32_t | emufxrchan_setblocksize (kobj_t obj __unused, void *c_devinfo, uint32_t blocksize) |
static int | emufxrchan_trigger (kobj_t obj __unused, void *c_devinfo, int go) |
static uint32_t | emufxrchan_getptr (kobj_t obj __unused, void *c_devinfo) |
static struct pcmchan_caps * | emufxrchan_getcaps (kobj_t obj __unused, void *c_devinfo) |
static int | emufxrchan_getrates (kobj_t obj __unused, void *c_devinfo, int **rates) |
CHANNEL_DECLARE (emufxrchan) | |
static int | emu_pcm_init (struct emu_pcm_info *sc) |
static int | emu_pcm_uninit (struct emu_pcm_info *sc __unused) |
static int | emu_pcm_probe (device_t dev) |
static int | emu_pcm_attach (device_t dev) |
static int | emu_pcm_detach (device_t dev) |
DRIVER_MODULE (snd_emu10kx_pcm, emu10kx, emu_pcm_driver, pcm_devclass, 0, 0) | |
MODULE_DEPEND (snd_emu10kx_pcm, snd_emu10kx, SND_EMU10KX_MINVER, SND_EMU10KX_PREFVER, SND_EMU10KX_MAXVER) | |
MODULE_DEPEND (snd_emu10kx_pcm, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER) | |
MODULE_VERSION (snd_emu10kx_pcm, SND_EMU10KX_PREFVER) | |
Variables | |
static uint32_t | emu_rfmt_adc [] |
static struct pcmchan_caps | emu_reccaps_adc |
static uint32_t | emu_rfmt_efx [] |
static struct pcmchan_caps | emu_reccaps_efx_live |
static struct pcmchan_caps | emu_reccaps_efx_audigy |
static int | emu_rates_live [] |
static int | emu_rates_audigy [] |
static uint32_t | emu_pfmt [] |
static uint32_t | emu_pfmt_mono [] |
static struct pcmchan_caps | emu_playcaps = {4000, 48000, emu_pfmt, 0} |
static struct pcmchan_caps | emu_playcaps_mono = {4000, 48000, emu_pfmt_mono, 0} |
static int | emu10k1_adcspeed [8] = {48000, 44100, 32000, 24000, 22050, 16000, 11025, 8000} |
static int | emu10k2_adcspeed [9] = {48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000} |
static const struct emu_dspmix_props_k1 | dspmix_k1 [SOUND_MIXER_NRDEVICES] |
static const struct emu_dspmix_props_k2 | dspmix_k2 [SOUND_MIXER_NRDEVICES] |
static kobj_method_t | emudspmixer_methods [] |
static kobj_method_t | emuefxmixer_methods [] |
static kobj_method_t | emu_eac97_methods [] |
static kobj_method_t | emu_ac97_methods [] |
static kobj_method_t | emupchan_methods [] |
static kobj_method_t | emurchan_methods [] |
static kobj_method_t | emufxrchan_methods [] |
static device_method_t | emu_pcm_methods [] |
static driver_t | emu_pcm_driver |
#define AC97ENCODE | ( | x_muted, | |
x_left, | |||
x_right | |||
) | (((x_muted & 1)<<15) | ((x_left & 0x3f)<<8) | (x_right & 0x3f)) |
Definition at line 529 of file emu10kx-pcm.c.
#define AC97LEFT | ( | x | ) | ((x & 0x7F00)>>8) |
Definition at line 520 of file emu10kx-pcm.c.
#define AC97MUTE | ( | x | ) | ((x & 0x8000)>>15) |
Definition at line 522 of file emu10kx-pcm.c.
#define AC97RIGHT | ( | x | ) | (x & 0x007F) |
Definition at line 521 of file emu10kx-pcm.c.
#define BIT4_TO100 | ( | x | ) | (100-(x)*100/(0x0f)) |
Definition at line 523 of file emu10kx-pcm.c.
#define BIT4_TO255 | ( | x | ) | (255-(x)*255/(0x0f)) |
Definition at line 525 of file emu10kx-pcm.c.
#define BIT6_TO100 | ( | x | ) | (100-(x)*100/(0x3f)) |
Definition at line 524 of file emu10kx-pcm.c.
#define BIT6_TO255 | ( | x | ) | (255-(x)*255/(0x3f)) |
Definition at line 526 of file emu10kx-pcm.c.
#define MAX_CHANNELS 4 |
Definition at line 89 of file emu10kx-pcm.c.
#define V100_TOBIT4 | ( | x | ) | (0x0f*(100-x)/100) |
Definition at line 528 of file emu10kx-pcm.c.
#define V100_TOBIT6 | ( | x | ) | (0x3f*(100-x)/100) |
Definition at line 527 of file emu10kx-pcm.c.
AC97_DECLARE | ( | emu_ac97 | ) |
AC97_DECLARE | ( | emu_eac97 | ) |
CHANNEL_DECLARE | ( | emufxrchan | ) |
CHANNEL_DECLARE | ( | emupchan | ) |
CHANNEL_DECLARE | ( | emurchan | ) |
DRIVER_MODULE | ( | snd_emu10kx_pcm | , |
emu10kx | , | ||
emu_pcm_driver | , | ||
pcm_devclass | , | ||
0 | , | ||
0 | |||
) |
|
static |
Definition at line 532 of file emu10kx-pcm.c.
References AC97_MIX_MASTER, AC97_MIX_PCM, AC97_MIX_RGAIN, AC97_REG_RECSEL, emu_pcm_info::ac97_state, emu_pcm_info::card, EMU_AC97ADDR, EMU_AC97DATA, emu_rd(), emu_wr(), and regno.
Referenced by emu_erdcd().
|
static |
Definition at line 570 of file emu10kx-pcm.c.
References AC97_MIX_MASTER, AC97_MIX_PCM, AC97_MIX_RGAIN, AC97_REG_RECSEL, emu_pcm_info::ac97_state, AC97LEFT, AC97MUTE, AC97RIGHT, BIT4_TO100, BIT6_TO100, emu_pcm_info::card, data, EMU_AC97ADDR, EMU_AC97DATA, emu_wr(), emumix_set_volume(), left, M_FX0_FRONT_L, M_FX1_FRONT_R, M_MASTER_FRONT_L, M_MASTER_FRONT_R, M_MASTER_REC_L, M_MASTER_REC_R, regno, and right.
Referenced by emu_ewrcd().
|
static |
Definition at line 204 of file emu10kx-pcm.c.
References emu_pcm_info::ac97_mixerclass, emu_pcm_info::ac97_playdevs, emu_pcm_info::ac97_recdevs, emu_pcm_info::codec, emu_pcm_info::dev, dspmix_k1, dspmix_k2, emu_pcm_info::is_emu10k1, m, mix_getdevinfo(), mix_getdevs(), mix_getrecdevs(), mix_setdevs(), mix_setrecdevs(), mixer_create(), r, emu_pcm_info::route, RT_FRONT, and emu_pcm_info::sm.
|
static |
Definition at line 275 of file emu10kx-pcm.c.
References emu_pcm_info::card, emu_pcm_info::dev, dev, emu_pcm_info::emu10k1_volcache, emumix_set_volume(), emu_pcm_info::is_emu10k1, left, m, M_FX2_REAR_L, M_FX3_REAR_R, M_FX4_CENTER, M_FX5_SUBWOOFER, M_IN0_FRONT_L, M_IN0_FRONT_R, M_IN1_FRONT_L, M_IN1_FRONT_R, M_IN2_FRONT_L, M_IN2_FRONT_R, M_IN3_FRONT_L, M_IN3_FRONT_R, M_IN4_FRONT_L, M_IN4_FRONT_R, M_IN5_FRONT_L, M_IN5_FRONT_R, M_IN6_FRONT_L, M_IN6_FRONT_R, M_MASTER_CENTER, M_MASTER_REAR_L, M_MASTER_REAR_R, M_MASTER_SUBWOOFER, emu_pcm_info::mch_disabled, mix_getdevinfo(), mix_set(), right, emu_pcm_info::route, RT_CENTER, RT_FRONT, RT_REAR, RT_SUB, and emu_pcm_info::sm.
|
static |
Definition at line 395 of file emu10kx-pcm.c.
References emu_pcm_info::ac97_recdevs, emu_pcm_info::card, dspmix_k1, dspmix_k2, emumix_get_volume(), emumix_set_volume(), emu_dspmix_props_k1::input, emu_dspmix_props_k2::input, emu_pcm_info::is_emu10k1, m, M_FX0_FRONT_L, M_FX0_REC_L, M_FX1_FRONT_R, M_FX1_REC_R, M_IN0_REC_L, M_IN0_REC_R, M_IN1_REC_L, M_IN1_REC_R, M_IN2_REC_L, M_IN2_REC_R, M_IN3_REC_L, M_IN3_REC_R, M_IN4_REC_L, M_IN4_REC_R, M_IN5_REC_L, M_IN5_REC_R, M_IN6_REC_L, M_IN6_REC_R, mix_getdevinfo(), mix_setrecsrc(), recmask, emu_pcm_info::sm, and src.
|
static |
Definition at line 258 of file emu10kx-pcm.c.
References m, mix_getdevinfo(), mixer_delete(), and emu_pcm_info::sm.
|
static |
Definition at line 481 of file emu10kx-pcm.c.
References m, mix_setdevs(), and mix_setrecdevs().
|
static |
Definition at line 489 of file emu10kx-pcm.c.
|
static |
Definition at line 496 of file emu10kx-pcm.c.
|
static |
Definition at line 632 of file emu10kx-pcm.c.
References devinfo, emu_ac97_read_emulation(), and regno.
|
static |
Definition at line 640 of file emu10kx-pcm.c.
References data, devinfo, emu_ac97_write_emulation(), and regno.
|
static |
Definition at line 687 of file emu10kx-pcm.c.
References emu10k1_adcspeed, speed, and val.
Referenced by emurchan_setspeed(), and emurchan_trigger().
|
static |
Definition at line 698 of file emu10kx-pcm.c.
References emu10k2_adcspeed, speed, and val.
Referenced by emurchan_setspeed(), and emurchan_trigger().
|
static |
Definition at line 1339 of file emu10kx-pcm.c.
References AC97_CREATE, ac97_destroy(), ac97_getmixerclass(), emu_pcm_info::ac97_mixerclass, emu_route::amounts_left, emu_route::amounts_right, emu_pcm_info::card, emu_pcm_info::codec, emu_pcm_info::dev, dev, emu_pcm_info::emu10k1_volcache, EMU_INTE_INTERTIMERENB, emu_intr_register(), EMU_IPR_INTERVALTIMER, emu_pcm_init(), emu_pcm_intr(), EMU_VAR_ISEMU10K1, EMU_VAR_MCH_DISABLED, EMU_VAR_ROUTE, free, emu_pcm_info::ihandle, emu_pcm_info::is_emu10k1, emu_pcm_info::lock, MAX_CHANNELS, emu_pcm_info::mch_disabled, mixer_init(), pcm_addchan(), pcm_getflags(), pcm_register(), pcm_setflags(), pcm_setstatus(), PCMDIR_PLAY, PCMDIR_REC, emu_pcm_info::pnum, r, emu_pcm_info::route, emu_route::routing_left, emu_route::routing_right, emu_pcm_info::rt, RT_CENTER, RT_FRONT, RT_MCHRECORD, emu_pcm_info::rt_mono, RT_REAR, RT_SIDE, RT_SUB, SD_F_MPSAFE, snd_mtxcreate(), snd_mtxfree(), SND_STATUSLEN, and status.
|
static |
Definition at line 1497 of file emu10kx-pcm.c.
References dev, emu_pcm_uninit(), free, emu_pcm_info::lock, pcm_getdevinfo(), pcm_unregister(), r, and snd_mtxfree().
|
static |
Definition at line 1286 of file emu10kx-pcm.c.
References emu_pcm_info::bufsz, emu_pcm_info::dev, EMU_MAX_BUFSZ, EMU_REC_BUFSZ, EMUPAGESIZE, and pcm_getbuffersize().
Referenced by emu_pcm_attach().
|
static |
Definition at line 1230 of file emu10kx-pcm.c.
References emu_pcm_info::card, emu_pcm_pchinfo::channel, emu_pcm_rchinfo::channel, chn_intr(), EMU_IPR_ADCBUFFULL, EMU_IPR_ADCBUFHALFFULL, EMU_IPR_EFXBUFFULL, EMU_IPR_EFXBUFHALFFULL, EMU_IPR_INTERVALTIMER, emu_timer_enable(), emu_pcm_info::lock, MAX_CHANNELS, emu_pcm_info::pch, emu_pcm_info::rch_adc, emu_pcm_info::rch_efx, emu_pcm_pchinfo::run, emu_pcm_rchinfo::run, snd_mtxlock, snd_mtxunlock, and emu_pcm_pchinfo::timer.
Referenced by emu_pcm_attach(), emufxrchan_trigger(), and emurchan_trigger().
|
static |
Definition at line 1299 of file emu10kx-pcm.c.
References buffer, dev, EMU_VAR_FUNC, EMU_VAR_ROUTE, func, r, emu_pcm_info::route, emu_pcm_info::rt, RT_CENTER, RT_FRONT, RT_MCHRECORD, RT_REAR, RT_SIDE, RT_SUB, and SCF_PCM.
|
static |
Definition at line 1293 of file emu10kx-pcm.c.
Referenced by emu_pcm_detach().
|
static |
Definition at line 657 of file emu10kx-pcm.c.
References emu_pcm_info::card, devinfo, EMU_AC97ADDR, EMU_AC97DATA, emu_rd(), emu_wr(), and regno.
|
static |
Definition at line 669 of file emu10kx-pcm.c.
References emu_pcm_info::card, data, devinfo, EMU_AC97ADDR, EMU_AC97DATA, emu_wr(), and regno.
|
static |
Definition at line 1191 of file emu10kx-pcm.c.
References emu_reccaps_efx_audigy, emu_reccaps_efx_live, emu_pcm_info::is_emu10k1, and emu_pcm_rchinfo::pcm.
|
static |
Definition at line 1179 of file emu10kx-pcm.c.
References emu_pcm_info::card, emu_rdptr(), emu_pcm_rchinfo::idxreg, emu_pcm_rchinfo::pcm, and r.
|
static |
Definition at line 1203 of file emu10kx-pcm.c.
References emu_rates_audigy, emu_rates_live, emu_pcm_info::is_emu10k1, emu_pcm_rchinfo::pcm, and rates.
|
static |
Definition at line 1040 of file emu10kx-pcm.c.
References b, emu_pcm_rchinfo::basereg, emu_pcm_rchinfo::blksz, emu_pcm_rchinfo::buffer, emu_pcm_info::bufsz, c, emu_pcm_info::card, emu_pcm_rchinfo::channel, devinfo, dir, EMU_FXBA, EMU_FXBS, EMU_FXIDX, emu_gettag(), EMU_INTE_EFXBUFENABLE, EMU_IPR_EFXBUFFULL, EMU_IPR_EFXBUFHALFFULL, emu_wrptr(), emu_pcm_rchinfo::fmt, emu_pcm_rchinfo::idxreg, emu_pcm_rchinfo::iprmask, emu_pcm_rchinfo::irqmask, emu_pcm_info::is_emu10k1, emu_pcm_rchinfo::pcm, PCMDIR_REC, emu_pcm_info::rch_efx, emu_pcm_rchinfo::sizereg, SND_FORMAT, sndbuf_alloc(), sndbuf_getbufaddr(), and emu_pcm_rchinfo::spd.
|
static |
Definition at line 1088 of file emu10kx-pcm.c.
References emu_pcm_rchinfo::blksz, blocksize, emu_pcm_info::bufsz, and emu_pcm_rchinfo::pcm.
|
static |
Definition at line 1072 of file emu10kx-pcm.c.
References format, and SND_FORMAT.
|
static |
Definition at line 1079 of file emu10kx-pcm.c.
References emu_pcm_rchinfo::spd.
|
static |
Definition at line 1105 of file emu10kx-pcm.c.
References emu_pcm_info::bufsz, emu_pcm_info::card, EMU_A_FXWC1, EMU_A_FXWC2, EMU_FXWC, emu_intr_register(), emu_intr_unregister(), emu_pcm_intr(), EMU_RECBS_BUFSIZE_16384, EMU_RECBS_BUFSIZE_32768, EMU_RECBS_BUFSIZE_4096, EMU_RECBS_BUFSIZE_65536, EMU_RECBS_BUFSIZE_8192, emu_wrptr(), go, emu_pcm_rchinfo::ihandle, emu_pcm_rchinfo::iprmask, emu_pcm_rchinfo::irqmask, emu_pcm_info::is_emu10k1, emu_pcm_info::lock, emu_pcm_rchinfo::pcm, PCMTRIG_ABORT, PCMTRIG_COMMON, PCMTRIG_EMLDMARD, PCMTRIG_EMLDMAWR, PCMTRIG_START, PCMTRIG_STOP, emu_pcm_rchinfo::run, emu_pcm_rchinfo::sizereg, snd_mtxlock, and snd_mtxunlock.
|
static |
Definition at line 739 of file emu10kx-pcm.c.
References emu_pcm_info::card, emu_timer_clear(), emu_vfree(), emu_pcm_pchinfo::master, emu_pcm_pchinfo::pcm, emu_pcm_pchinfo::slave, and emu_pcm_pchinfo::timer.
|
static |
Definition at line 824 of file emu10kx-pcm.c.
References emu_playcaps, emu_playcaps_mono, emu_pcm_pchinfo::pcm, emu_pcm_info::route, RT_CENTER, RT_FRONT, RT_REAR, RT_SIDE, and RT_SUB.
|
static |
Definition at line 812 of file emu10kx-pcm.c.
References emu_pcm_info::card, emu_vpos(), emu_pcm_pchinfo::master, emu_pcm_pchinfo::pcm, and r.
|
static |
Definition at line 709 of file emu10kx-pcm.c.
References b, emu_pcm_pchinfo::blksz, emu_pcm_pchinfo::buffer, emu_pcm_info::bufsz, c, emu_pcm_info::card, emu_pcm_pchinfo::channel, devinfo, dir, EMU_PLAY_BUFSZ, emu_timer_create(), emu_valloc(), emu_vinit(), emu_pcm_pchinfo::fmt, emu_pcm_pchinfo::master, MAX_CHANNELS, emu_pcm_info::pch, emu_pcm_pchinfo::pcm, PCMDIR_PLAY, emu_pcm_info::pnum, r, emu_pcm_pchinfo::slave, SND_FORMAT, emu_pcm_pchinfo::spd, and emu_pcm_pchinfo::timer.
|
static |
Definition at line 770 of file emu10kx-pcm.c.
References emu_pcm_pchinfo::blksz, blocksize, emu_pcm_pchinfo::buffer, emu_pcm_info::bufsz, emu_pcm_info::card, emu_timer_set(), emu_pcm_info::lock, emu_pcm_pchinfo::pcm, snd_mtxlock, snd_mtxunlock, sndbuf_getalign(), and emu_pcm_pchinfo::timer.
|
static |
Definition at line 752 of file emu10kx-pcm.c.
References emu_pcm_pchinfo::fmt, and format.
|
static |
Definition at line 761 of file emu10kx-pcm.c.
References emu_pcm_pchinfo::spd, and speed.
|
static |
Definition at line 785 of file emu10kx-pcm.c.
References AFMT_CHANNEL, emu_pcm_pchinfo::blksz, emu_pcm_pchinfo::buffer, emu_pcm_info::card, emu_timer_enable(), emu_timer_set(), emu_vroute(), emu_vsetup(), emu_vtrigger(), emu_vwrite(), emu_pcm_pchinfo::fmt, go, emu_pcm_info::lock, emu_pcm_pchinfo::master, emu_pcm_pchinfo::pcm, PCMTRIG_COMMON, PCMTRIG_START, emu_pcm_info::rt, emu_pcm_info::rt_mono, emu_pcm_pchinfo::run, snd_mtxlock, snd_mtxunlock, sndbuf_getalign(), emu_pcm_pchinfo::spd, and emu_pcm_pchinfo::timer.
|
static |
Definition at line 891 of file emu10kx-pcm.c.
References emu_pcm_info::card, emu_timer_clear(), emu_pcm_rchinfo::pcm, and emu_pcm_rchinfo::timer.
|
static |
Definition at line 1021 of file emu10kx-pcm.c.
References emu_reccaps_adc.
|
static |
Definition at line 1009 of file emu10kx-pcm.c.
References emu_pcm_info::card, emu_rdptr(), emu_pcm_rchinfo::idxreg, emu_pcm_rchinfo::pcm, and r.
|
static |
Definition at line 860 of file emu10kx-pcm.c.
References b, emu_pcm_rchinfo::basereg, emu_pcm_rchinfo::blksz, emu_pcm_rchinfo::buffer, emu_pcm_info::bufsz, c, emu_pcm_info::card, emu_pcm_rchinfo::channel, devinfo, dir, EMU_A_ADCIDX, EMU_ADCBA, EMU_ADCBS, EMU_ADCCR, EMU_ADCIDX, emu_gettag(), EMU_INTE_ADCBUFENABLE, EMU_IPR_ADCBUFFULL, EMU_IPR_ADCBUFHALFFULL, emu_timer_create(), emu_wrptr(), emu_pcm_rchinfo::fmt, emu_pcm_rchinfo::idxreg, emu_pcm_rchinfo::iprmask, emu_pcm_rchinfo::irqmask, emu_pcm_info::is_emu10k1, emu_pcm_rchinfo::pcm, PCMDIR_REC, emu_pcm_info::rch_adc, emu_pcm_rchinfo::setupreg, emu_pcm_rchinfo::sizereg, SND_FORMAT, sndbuf_alloc(), sndbuf_getbufaddr(), emu_pcm_rchinfo::spd, and emu_pcm_rchinfo::timer.
|
static |
Definition at line 924 of file emu10kx-pcm.c.
References emu_pcm_rchinfo::blksz, blocksize, emu_pcm_rchinfo::buffer, emu_pcm_info::bufsz, emu_pcm_info::card, emu_timer_enable(), emu_timer_set(), emu_pcm_rchinfo::pcm, sndbuf_getalign(), and emu_pcm_rchinfo::timer.
|
static |
Definition at line 901 of file emu10kx-pcm.c.
References emu_pcm_rchinfo::fmt, and format.
|
static |
Definition at line 910 of file emu10kx-pcm.c.
References emu10k1_adcspeed, emu10k2_adcspeed, emu_k1_recval(), emu_k2_recval(), emu_pcm_info::is_emu10k1, emu_pcm_rchinfo::pcm, emu_pcm_rchinfo::spd, and speed.
|
static |
Definition at line 945 of file emu10kx-pcm.c.
References AFMT_CHANNEL, emu_pcm_info::bufsz, emu_pcm_info::card, EMU_A_ADCCR_LCHANENABLE, EMU_A_ADCCR_RCHANENABLE, EMU_ADCCR_LCHANENABLE, EMU_ADCCR_RCHANENABLE, emu_intr_register(), emu_intr_unregister(), emu_k1_recval(), emu_k2_recval(), emu_pcm_intr(), EMU_RECBS_BUFSIZE_16384, EMU_RECBS_BUFSIZE_32768, EMU_RECBS_BUFSIZE_4096, EMU_RECBS_BUFSIZE_65536, EMU_RECBS_BUFSIZE_8192, emu_wrptr(), emu_pcm_rchinfo::fmt, go, emu_pcm_rchinfo::ihandle, emu_pcm_rchinfo::iprmask, emu_pcm_rchinfo::irqmask, emu_pcm_info::is_emu10k1, emu_pcm_info::lock, emu_pcm_rchinfo::pcm, PCMTRIG_ABORT, PCMTRIG_COMMON, PCMTRIG_EMLDMARD, PCMTRIG_EMLDMAWR, PCMTRIG_START, PCMTRIG_STOP, emu_pcm_rchinfo::run, emu_pcm_rchinfo::setupreg, emu_pcm_rchinfo::sizereg, snd_mtxlock, snd_mtxunlock, emu_pcm_rchinfo::spd, and val.
MIXER_DECLARE | ( | emudspmixer | ) |
MIXER_DECLARE | ( | emuefxmixer | ) |
MODULE_DEPEND | ( | snd_emu10kx_pcm | , |
snd_emu10kx | , | ||
SND_EMU10KX_MINVER | , | ||
SND_EMU10KX_PREFVER | , | ||
SND_EMU10KX_MAXVER | |||
) |
MODULE_DEPEND | ( | snd_emu10kx_pcm | , |
sound | , | ||
SOUND_MINVER | , | ||
SOUND_PREFVER | , | ||
SOUND_MAXVER | |||
) |
MODULE_VERSION | ( | snd_emu10kx_pcm | , |
SND_EMU10KX_PREFVER | |||
) |
|
static |
Referenced by emu_dspmixer_init(), and emu_dspmixer_setrecsrc().
|
static |
Referenced by emu_dspmixer_init(), and emu_dspmixer_setrecsrc().
|
static |
Definition at line 165 of file emu10kx-pcm.c.
Referenced by emu_k1_recval(), and emurchan_setspeed().
|
static |
Definition at line 167 of file emu10kx-pcm.c.
Referenced by emu_k2_recval(), and emurchan_setspeed().
|
static |
Definition at line 679 of file emu10kx-pcm.c.
|
static |
Definition at line 648 of file emu10kx-pcm.c.
|
static |
Definition at line 1525 of file emu10kx-pcm.c.
|
static |
Definition at line 1517 of file emu10kx-pcm.c.
|
static |
Definition at line 149 of file emu10kx-pcm.c.
|
static |
Definition at line 156 of file emu10kx-pcm.c.
|
static |
Definition at line 162 of file emu10kx-pcm.c.
Referenced by emupchan_getcaps().
|
static |
Definition at line 163 of file emu10kx-pcm.c.
Referenced by emupchan_getcaps().
|
static |
Definition at line 145 of file emu10kx-pcm.c.
Referenced by emufxrchan_getrates().
|
static |
Definition at line 141 of file emu10kx-pcm.c.
Referenced by emufxrchan_getrates().
|
static |
Definition at line 124 of file emu10kx-pcm.c.
Referenced by emurchan_getcaps().
|
static |
Definition at line 137 of file emu10kx-pcm.c.
Referenced by emufxrchan_getcaps().
|
static |
Definition at line 133 of file emu10kx-pcm.c.
Referenced by emufxrchan_getcaps().
|
static |
Definition at line 119 of file emu10kx-pcm.c.
|
static |
Definition at line 128 of file emu10kx-pcm.c.
|
static |
Definition at line 471 of file emu10kx-pcm.c.
|
static |
Definition at line 501 of file emu10kx-pcm.c.
|
static |
Definition at line 1216 of file emu10kx-pcm.c.
|
static |
Definition at line 846 of file emu10kx-pcm.c.
|
static |
Definition at line 1026 of file emu10kx-pcm.c.