FreeBSD kernel sound device code
|
#include <dev/sound/pcm/sound.h>
#include <dev/sound/pcm/ac97.h>
#include <dev/sound/pci/emuxkireg.h>
#include <dev/pci/pcireg.h>
#include <dev/pci/pcivar.h>
#include <sys/queue.h>
#include <dev/sound/midi/mpu401.h>
#include "mpufoi_if.h"
Go to the source code of this file.
Data Structures | |
struct | emu_memblk |
struct | emu_mem |
struct | emu_voice |
struct | sc_pchinfo |
struct | sc_rchinfo |
struct | sc_info |
Macros | |
#define | NUM_G 64 /* use all channels */ |
#define | WAVEOUT_MAXBUFSIZE 32768 |
#define | EMUPAGESIZE 4096 /* don't change */ |
#define | EMUMAXPAGES (WAVEOUT_MAXBUFSIZE * NUM_G / EMUPAGESIZE) |
#define | EMU10K1_PCI_ID 0x00021102 /* 1102 => Creative Labs Vendor ID */ |
#define | EMU10K2_PCI_ID 0x00041102 |
#define | EMU10K3_PCI_ID 0x00081102 |
#define | EMU_DEFAULT_BUFSZ 4096 |
#define | EMU_MAX_CHANS 8 |
#define | EMU_CHANS 4 |
#define | MAXREQVOICES 8 |
#define | RESERVED 0 |
#define | NUM_MIDI 16 |
#define | NUM_FXSENDS 4 |
#define | TMEMSIZE 256*1024 |
#define | TMEMSIZEREG 4 |
#define | ENABLE 0xffffffff |
#define | DISABLE 0x00000000 |
#define | ENV_ON EMU_CHAN_DCYSUSV_CHANNELENABLE_MASK |
#define | ENV_OFF 0x00 /* XXX: should this be 1? */ |
#define | EMU_A_IOCFG_GPOUT_A 0x40 |
#define | EMU_A_IOCFG_GPOUT_D 0x04 |
#define | EMU_A_IOCFG_GPOUT_AD (EMU_A_IOCFG_GPOUT_A|EMU_A_IOCFG_GPOUT_D) /* EMU_A_IOCFG_GPOUT0 */ |
#define | EMU_HCFG_GPOUT1 0x00000800 |
#define | iACC3 0x06 |
#define | iMACINT0 0x04 |
#define | iINTERP 0x0e |
#define | C_00000000 0x40 |
#define | C_00000001 0x41 |
#define | C_00000004 0x44 |
#define | C_40000000 0x4d |
#define | A_C_00000000 0xc0 |
#define | A_C_40000000 0xcd |
#define | FXBUS(x) (0x00 + (x)) |
#define | EXTIN(x) (0x10 + (x)) |
#define | EXTOUT(x) (0x20 + (x)) |
#define | GPR(x) (EMU_FXGPREGBASE + (x)) |
#define | A_EXTIN(x) (0x40 + (x)) |
#define | A_FXBUS(x) (0x00 + (x)) |
#define | A_EXTOUT(x) (0x60 + (x)) |
#define | A_GPR(x) (EMU_A_FXGPREGBASE + (x)) |
#define | FXBUS_PCM_LEFT 0x00 |
#define | FXBUS_PCM_RIGHT 0x01 |
#define | FXBUS_MIDI_LEFT 0x04 |
#define | FXBUS_MIDI_RIGHT 0x05 |
#define | FXBUS_MIDI_REVERB 0x0c |
#define | FXBUS_MIDI_CHORUS 0x0d |
#define | EXTIN_AC97_L 0x00 |
#define | EXTIN_AC97_R 0x01 |
#define | EXTIN_SPDIF_CD_L 0x02 |
#define | EXTIN_SPDIF_CD_R 0x03 |
#define | EXTIN_TOSLINK_L 0x06 |
#define | EXTIN_TOSLINK_R 0x07 |
#define | EXTIN_COAX_SPDIF_L 0x0a |
#define | EXTIN_COAX_SPDIF_R 0x0b |
#define | A_EXTIN_AC97_L 0x00 |
#define | A_EXTIN_AC97_R 0x01 |
#define | EXTOUT_AC97_L 0x00 |
#define | EXTOUT_AC97_R 0x01 |
#define | EXTOUT_TOSLINK_L 0x02 |
#define | EXTOUT_TOSLINK_R 0x03 |
#define | EXTOUT_AC97_CENTER 0x04 |
#define | EXTOUT_AC97_LFE 0x05 |
#define | EXTOUT_HEADPHONE_L 0x06 |
#define | EXTOUT_HEADPHONE_R 0x07 |
#define | EXTOUT_REAR_L 0x08 |
#define | EXTOUT_REAR_R 0x09 |
#define | EXTOUT_ADC_CAP_L 0x0a |
#define | EXTOUT_ADC_CAP_R 0x0b |
#define | EXTOUT_ACENTER 0x11 |
#define | EXTOUT_ALFE 0x12 |
#define | A_EXTOUT_FRONT_L 0x00 |
#define | A_EXTOUT_FRONT_R 0x01 |
#define | A_EXTOUT_CENTER 0x02 |
#define | A_EXTOUT_LFE 0x03 |
#define | A_EXTOUT_HEADPHONE_L 0x04 |
#define | A_EXTOUT_HEADPHONE_R 0x05 |
#define | A_EXTOUT_REAR_L 0x06 |
#define | A_EXTOUT_REAR_R 0x07 |
#define | A_EXTOUT_AFRONT_L 0x08 |
#define | A_EXTOUT_AFRONT_R 0x09 |
#define | A_EXTOUT_ACENTER 0x0a |
#define | A_EXTOUT_ALFE 0x0b |
#define | A_EXTOUT_AREAR_L 0x0e |
#define | A_EXTOUT_AREAR_R 0x0f |
#define | A_EXTOUT_AC97_L 0x10 |
#define | A_EXTOUT_AC97_R 0x11 |
#define | A_EXTOUT_ADC_CAP_L 0x16 |
#define | A_EXTOUT_ADC_CAP_R 0x17 |
Functions | |
SND_DECLARE_FILE ("$FreeBSD$") | |
static int | emu_init (struct sc_info *) |
static void | emu_intr (void *) |
static void * | emu_malloc (struct sc_info *sc, u_int32_t sz, bus_addr_t *addr, bus_dmamap_t *map) |
static void * | emu_memalloc (struct sc_info *sc, u_int32_t sz, bus_addr_t *addr) |
static int | emu_memfree (struct sc_info *sc, void *buf) |
static int | emu_memstart (struct sc_info *sc, void *buf) |
static u_int32_t | emu_rd (struct sc_info *, int, int) |
static void | emu_wr (struct sc_info *, int, u_int32_t, int) |
static u_int32_t | emu_rdptr (struct sc_info *sc, int chn, int reg) |
static void | emu_wrptr (struct sc_info *sc, int chn, int reg, u_int32_t data) |
static void | emu_wrefx (struct sc_info *sc, unsigned int pc, unsigned int data) |
static int | emu_rdcd (kobj_t obj, void *devinfo, int regno) |
static int | emu_wrcd (kobj_t obj, void *devinfo, int regno, u_int32_t data) |
AC97_DECLARE (emu_ac97) | |
static int | emu_settimer (struct sc_info *sc) |
static int | emu_enatimer (struct sc_info *sc, int go) |
static void | emu_enastop (struct sc_info *sc, char channel, int enable) |
static int | emu_recval (int speed) |
static int | audigy_recval (int speed) |
static u_int32_t | emu_rate_to_pitch (u_int32_t rate) |
static u_int32_t | emu_rate_to_linearpitch (u_int32_t rate) |
static struct emu_voice * | emu_valloc (struct sc_info *sc) |
static int | emu_vinit (struct sc_info *sc, struct emu_voice *m, struct emu_voice *s, u_int32_t sz, struct snd_dbuf *b) |
static void | emu_vsetup (struct sc_pchinfo *ch) |
static void | emu_vwrite (struct sc_info *sc, struct emu_voice *v) |
static void | emu_vtrigger (struct sc_info *sc, struct emu_voice *v, int go) |
static int | emu_vpos (struct sc_info *sc, struct emu_voice *v) |
static void * | emupchan_init (kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir) |
static int | emupchan_free (kobj_t obj, void *data) |
static int | emupchan_setformat (kobj_t obj, void *data, u_int32_t format) |
static u_int32_t | emupchan_setspeed (kobj_t obj, void *data, u_int32_t speed) |
static u_int32_t | emupchan_setblocksize (kobj_t obj, void *data, u_int32_t blocksize) |
static int | emupchan_trigger (kobj_t obj, void *data, int go) |
static u_int32_t | emupchan_getptr (kobj_t obj, void *data) |
static struct pcmchan_caps * | emupchan_getcaps (kobj_t obj, void *data) |
CHANNEL_DECLARE (emupchan) | |
static void * | emurchan_init (kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir) |
static int | emurchan_setformat (kobj_t obj, void *data, u_int32_t format) |
static u_int32_t | emurchan_setspeed (kobj_t obj, void *data, u_int32_t speed) |
static u_int32_t | emurchan_setblocksize (kobj_t obj, void *data, u_int32_t blocksize) |
static int | emurchan_trigger (kobj_t obj, void *data, int go) |
static u_int32_t | emurchan_getptr (kobj_t obj, void *data) |
static struct pcmchan_caps * | emurchan_getcaps (kobj_t obj, void *data) |
CHANNEL_DECLARE (emurchan) | |
static unsigned char | emu_mread (struct mpu401 *arg, void *sc, int reg) |
static void | emu_mwrite (struct mpu401 *arg, void *sc, int reg, unsigned char b) |
static int | emu_muninit (struct mpu401 *arg, void *cookie) |
static | DEFINE_CLASS (emu_mpu, emu_mpu_methods, 0) |
static void | emu_intr2 (void *p) |
static void | emu_midiattach (struct sc_info *sc) |
static void | emu_setmap (void *arg, bus_dma_segment_t *segs, int nseg, int error) |
static void | emu_free (struct sc_info *sc, void *buf, bus_dmamap_t map) |
static void | emu_addefxop (struct sc_info *sc, int op, int z, int w, int x, int y, u_int32_t *pc) |
static void | audigy_addefxop (struct sc_info *sc, int op, int z, int w, int x, int y, u_int32_t *pc) |
static void | audigy_initefx (struct sc_info *sc) |
static void | emu_initefx (struct sc_info *sc) |
static int | emu_uninit (struct sc_info *sc) |
static int | emu_pci_probe (device_t dev) |
static int | emu_pci_attach (device_t dev) |
static int | emu_pci_detach (device_t dev) |
DRIVER_MODULE (snd_emu10k1, pci, emu_driver, pcm_devclass, NULL, NULL) | |
MODULE_DEPEND (snd_emu10k1, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER) | |
MODULE_VERSION (snd_emu10k1, 1) | |
MODULE_DEPEND (snd_emu10k1, midi, 1, 1, 1) | |
static int | emujoy_pci_probe (device_t dev) |
static int | emujoy_pci_attach (device_t dev) |
static int | emujoy_pci_detach (device_t dev) |
DRIVER_MODULE (emujoy, pci, emujoy_driver, emujoy_devclass, NULL, NULL) | |
Variables | |
static u_int32_t | emu_rfmt_ac97 [] |
static u_int32_t | emu_rfmt_mic [] |
static u_int32_t | emu_rfmt_efx [] |
static struct pcmchan_caps | emu_reccaps [3] |
static u_int32_t | emu_pfmt [] |
static struct pcmchan_caps | emu_playcaps = {4000, 48000, emu_pfmt, 0} |
static int | adcspeed [8] = {48000, 44100, 32000, 24000, 22050, 16000, 11025, 8000} |
static int | audigy_adcspeed [9] |
static kobj_method_t | emu_ac97_methods [] |
static kobj_method_t | emupchan_methods [] |
static kobj_method_t | emurchan_methods [] |
static kobj_method_t | emu_mpu_methods [] |
static device_method_t | emu_methods [] |
static driver_t | emu_driver |
static device_method_t | emujoy_methods [] |
static driver_t | emujoy_driver |
static devclass_t | emujoy_devclass |
#define A_GPR | ( | x | ) | (EMU_A_FXGPREGBASE + (x)) |
#define EMU10K1_PCI_ID 0x00021102 /* 1102 => Creative Labs Vendor ID */ |
#define EMU_A_IOCFG_GPOUT_AD (EMU_A_IOCFG_GPOUT_A|EMU_A_IOCFG_GPOUT_D) /* EMU_A_IOCFG_GPOUT0 */ |
#define EMUMAXPAGES (WAVEOUT_MAXBUFSIZE * NUM_G / EMUPAGESIZE) |
#define ENV_ON EMU_CHAN_DCYSUSV_CHANNELENABLE_MASK |
#define GPR | ( | x | ) | (EMU_FXGPREGBASE + (x)) |
AC97_DECLARE | ( | emu_ac97 | ) |
|
static |
Definition at line 1452 of file emu10k1.c.
References emu_wrefx().
Referenced by audigy_initefx().
|
static |
Definition at line 1461 of file emu10k1.c.
References A_C_00000000, A_C_40000000, A_EXTIN, A_EXTIN_AC97_L, A_EXTIN_AC97_R, A_EXTOUT, A_EXTOUT_AC97_L, A_EXTOUT_AC97_R, A_EXTOUT_ACENTER, A_EXTOUT_ADC_CAP_L, A_EXTOUT_ADC_CAP_R, A_EXTOUT_AFRONT_L, A_EXTOUT_AFRONT_R, A_EXTOUT_ALFE, A_EXTOUT_AREAR_L, A_EXTOUT_AREAR_R, A_EXTOUT_CENTER, A_EXTOUT_FRONT_L, A_EXTOUT_FRONT_R, A_EXTOUT_HEADPHONE_L, A_EXTOUT_HEADPHONE_R, A_EXTOUT_LFE, A_EXTOUT_REAR_L, A_EXTOUT_REAR_R, A_FXBUS, A_GPR, audigy_addefxop(), EMU_A_DBG, EMU_A_DBG_SINGLE_STEP, EMU_A_FXGPREGBASE, emu_wrptr(), EXTIN_COAX_SPDIF_L, EXTIN_COAX_SPDIF_R, FXBUS_PCM_LEFT, FXBUS_PCM_RIGHT, iACC3, and iINTERP.
Referenced by emu_init().
|
static |
Definition at line 481 of file emu10k1.c.
References audigy_adcspeed, speed, and val.
Referenced by emurchan_setspeed(), and emurchan_trigger().
CHANNEL_DECLARE | ( | emupchan | ) |
CHANNEL_DECLARE | ( | emurchan | ) |
|
static |
DRIVER_MODULE | ( | emujoy | , |
pci | , | ||
emujoy_driver | , | ||
emujoy_devclass | , | ||
NULL | , | ||
NULL | |||
) |
DRIVER_MODULE | ( | snd_emu10k1 | , |
pci | , | ||
emu_driver | , | ||
pcm_devclass | , | ||
NULL | , | ||
NULL | |||
) |
|
static |
Definition at line 1443 of file emu10k1.c.
References emu_wrefx().
Referenced by emu_initefx().
|
static |
Definition at line 461 of file emu10k1.c.
References channel, EMU_SOLEH, EMU_SOLEL, emu_wrptr(), enable, and reg.
Referenced by emu_vtrigger().
|
static |
Definition at line 442 of file emu10k1.c.
References EMU_INTE, EMU_INTE_INTERTIMERENB, emu_rd(), emu_wr(), go, and sc_info::timer.
Referenced by emu_intr(), and emupchan_trigger().
|
static |
Definition at line 1340 of file emu10k1.c.
References buf, and sc_info::parent_dmat.
Referenced by emu_init(), emu_memfree(), and emu_uninit().
|
static |
Definition at line 1752 of file emu10k1.c.
References sc_info::audigy, sc_info::audigy2, audigy_initefx(), emu_voice::b16, emu_voice::busy, emu_voice::channel, EMU_A_CHAN_FXRT1, EMU_A_CHAN_FXRT2, EMU_A_CHAN_SENDAMOUNTS, EMU_A_IOCFG, EMU_A_IOCFG_GPOUT_A, EMU_A_IOCFG_GPOUT_AD, EMU_A_SPDIF_SAMPLERATE, EMU_AC97SLOT, EMU_AC97SLOT_CENTER, EMU_AC97SLOT_LFE, EMU_ADCBA, EMU_ADCBS, EMU_CHAN_ATKHLDM, EMU_CHAN_ATKHLDV, EMU_CHAN_CCCA, EMU_CHAN_CCR, EMU_CHAN_CPF, EMU_CHAN_CVCF, EMU_CHAN_DCYSUSM, EMU_CHAN_DCYSUSV, EMU_CHAN_DSL, EMU_CHAN_ENVVAL, EMU_CHAN_ENVVOL, EMU_CHAN_FM2FRQ2, EMU_CHAN_FMMOD, EMU_CHAN_FXRT, EMU_CHAN_IFATN, EMU_CHAN_IP, EMU_CHAN_LFOVAL1, EMU_CHAN_LFOVAL2, EMU_CHAN_MAP_PTI_MASK, EMU_CHAN_MAPA, EMU_CHAN_MAPB, EMU_CHAN_PEFE, EMU_CHAN_PSST, EMU_CHAN_PTRX, EMU_CHAN_TEMPENV, EMU_CHAN_TREMFRQ, EMU_CHAN_VTFT, EMU_CHAN_Z1, EMU_CHAN_Z2, EMU_CLIEH, EMU_CLIEL, emu_free(), EMU_FXBA, EMU_FXBS, EMU_HCFG, EMU_HCFG_AC3ENABLE_CDSPDIF, EMU_HCFG_AC3ENABLE_GPSPDIF, EMU_HCFG_AUDIOENABLE, EMU_HCFG_AUTOMUTE, EMU_HCFG_GPINPUT0, EMU_HCFG_GPINPUT1, EMU_HCFG_GPOUT1, EMU_HCFG_JOYENABLE, EMU_HCFG_LOCKSOUNDCACHE, EMU_HCFG_LOCKTANKCACHE_MASK, EMU_HCFG_MUTEBUTTONENABLE, emu_initefx(), EMU_INTE, EMU_INTE_INTERTIMERENB, EMU_INTE_PCIERRENABLE, EMU_INTE_SAMPLERATER, emu_malloc(), EMU_MICBA, EMU_MICBS, EMU_PTB, emu_rd(), emu_rdptr(), EMU_RECBS_BUFSIZE_NONE, EMU_SOLEH, EMU_SOLEL, EMU_SPBYPASS, EMU_SPCS0, EMU_SPCS1, EMU_SPCS2, EMU_SPCS_CHANNELNUM_LEFT, EMU_SPCS_CLKACCY_1000PPM, EMU_SPCS_COPYRIGHT, EMU_SPCS_EMPHASIS_NONE, EMU_SPCS_GENERATIONSTATUS, EMU_SPCS_SAMPLERATE_48, EMU_SPCS_SOURCENUM_UNSPEC, EMU_TCB, EMU_TCBS, emu_wr(), emu_wrptr(), EMUMAXPAGES, EMUPAGESIZE, emu_voice::end, ENV_OFF, emu_voice::ismaster, sc_info::mem, NUM_G, sc_info::pnum, sc_info::rev, sc_info::rnum, emu_voice::running, emu_voice::slave, emu_voice::speed, emu_voice::start, emu_voice::stereo, sc_info::tos_link, emu_voice::vnum, and sc_info::voice.
Referenced by emu_pci_attach().
|
static |
Definition at line 1615 of file emu10k1.c.
References sc_info::APS, C_00000000, C_00000001, C_00000004, C_40000000, emu_addefxop(), EMU_DBG, EMU_FXGPREGBASE, emu_wrefx(), emu_wrptr(), EXTIN, EXTIN_AC97_L, EXTIN_AC97_R, EXTIN_SPDIF_CD_L, EXTIN_SPDIF_CD_R, EXTIN_TOSLINK_L, EXTIN_TOSLINK_R, EXTOUT, EXTOUT_AC97_CENTER, EXTOUT_AC97_L, EXTOUT_AC97_LFE, EXTOUT_AC97_R, EXTOUT_ACENTER, EXTOUT_ADC_CAP_L, EXTOUT_ADC_CAP_R, EXTOUT_ALFE, EXTOUT_HEADPHONE_L, EXTOUT_HEADPHONE_R, EXTOUT_REAR_L, EXTOUT_REAR_R, EXTOUT_TOSLINK_L, EXTOUT_TOSLINK_R, FXBUS, FXBUS_PCM_LEFT, FXBUS_PCM_RIGHT, GPR, iACC3, iINTERP, and iMACINT0.
Referenced by emu_init().
|
static |
Definition at line 1222 of file emu10k1.c.
References sc_chinfo::channel, chn_intr(), data, sc_info::dev, emu_enatimer(), EMU_IPR, EMU_IPR_ADCBUFFULL, EMU_IPR_ADCBUFHALFFULL, EMU_IPR_EFXBUFFULL, EMU_IPR_EFXBUFHALFFULL, EMU_IPR_INTERVALTIMER, EMU_IPR_MICBUFFULL, EMU_IPR_MICBUFHALFFULL, EMU_IPR_MIDIRECVBUFE, EMU_IPR_MIDITRANSBUFE, EMU_IPR_RATETRCHANGE, EMU_PCIERROR, emu_rd(), emu_wr(), sc_info::lock, sc_info::mpu, sc_info::mpu_intr, sc_info::nchans, sc_info::pch, sc_info::rch, sc_chinfo::run, snd_mtxlock, and snd_mtxunlock.
Referenced by emu_pci_attach().
|
static |
Definition at line 1199 of file emu10k1.c.
References sc_info::mpu, and sc_info::mpu_intr.
Referenced by emu_midiattach().
|
static |
Definition at line 1323 of file emu10k1.c.
References addr, buf, emu_setmap(), and sc_info::parent_dmat.
Referenced by emu_init(), and emu_memalloc().
|
static |
Definition at line 1347 of file emu10k1.c.
References addr, blksz, emu_mem::bmap, buf, emu_malloc(), EMUMAXPAGES, EMUPAGESIZE, free, sc_info::mem, emu_mem::ptb_pages, and start.
Referenced by emu_vinit().
|
static |
Definition at line 1402 of file emu10k1.c.
References emu_mem::bmap, buf, emu_free(), free, sc_info::mem, and emu_mem::ptb_pages.
Referenced by emupchan_free().
|
static |
Definition at line 1427 of file emu10k1.c.
References buf, and sc_info::mem.
Referenced by emu_vinit().
|
static |
Definition at line 1208 of file emu10k1.c.
References EMU_INTE, EMU_INTE_MIDIRXENABLE, emu_intr2(), emu_rd(), emu_wr(), sc_info::mpu, mpu401_init(), and sc_info::mpu_intr.
Referenced by emu_pci_attach().
|
static |
|
static |
Definition at line 1178 of file emu10k1.c.
References sc_info::lock, sc_info::mpu_intr, snd_mtxlock, and snd_mtxunlock.
|
static |
|
static |
Definition at line 2074 of file emu10k1.c.
References AC97_CAP_MICCHANNEL, AC97_CREATE, ac97_destroy(), ac97_getcaps(), ac97_getmixerclass(), sc_info::addrmask, sc_info::audigy, sc_info::audigy2, sc_info::bufsz, sc_info::codec, sc_info::dev, dev, EMU10K2_PCI_ID, EMU10K3_PCI_ID, EMU_A_PTR_ADDR_MASK, EMU_DEFAULT_BUFSZ, emu_init(), emu_intr(), emu_midiattach(), EMU_PTR_ADDR_MASK, free, sc_info::ih, sc_info::irq, sc_info::lock, mixer_init(), sc_info::nchans, sc_info::parent_dmat, PCIR_BAR, pcm_addchan(), pcm_getbuffersize(), PCM_KLDSTRING, pcm_register(), pcm_setstatus(), PCMDIR_PLAY, PCMDIR_REC, sc_info::reg, sc_info::rev, sc_info::sh, snd_mtxcreate(), snd_mtxfree(), snd_setup_intr(), SND_STATUSLEN, sc_info::st, status, and sc_info::type.
|
static |
Definition at line 2163 of file emu10k1.c.
References dev, emu_uninit(), free, sc_info::ih, sc_info::irq, sc_info::lock, sc_info::parent_dmat, PCIR_BAR, pcm_getdevinfo(), pcm_unregister(), r, sc_info::reg, and snd_mtxfree().
|
static |
Definition at line 2045 of file emu10k1.c.
References dev, EMU10K1_PCI_ID, EMU10K2_PCI_ID, and EMU10K3_PCI_ID.
|
static |
Definition at line 548 of file emu10k1.c.
References rate.
Referenced by emu_vtrigger().
|
static |
Definition at line 491 of file emu10k1.c.
References rate.
Referenced by emu_vtrigger().
|
static |
Definition at line 302 of file emu10k1.c.
References regno, sc_info::sh, size, and sc_info::st.
Referenced by emu_ac97_read_emulation(), emu_enatimer(), emu_init(), emu_intr(), emu_midiattach(), emu_mread(), emu_rdcd(), emu_rdptr(), emu_wrptr(), and emurchan_trigger().
|
static |
Definition at line 380 of file emu10k1.c.
References devinfo, EMU_AC97ADDR, EMU_AC97DATA, emu_rd(), emu_wr(), and regno.
|
static |
Definition at line 333 of file emu10k1.c.
References sc_info::addrmask, EMU_DATA, EMU_PTR, EMU_PTR_CHNO_MASK, emu_rd(), emu_wr(), mask, offset, reg, size, and val.
Referenced by emu_init(), emu_mread(), emu_vpos(), emufxrchan_getptr(), and emurchan_getptr().
|
static |
Definition at line 471 of file emu10k1.c.
References adcspeed, speed, and val.
Referenced by emurchan_setspeed(), and emurchan_trigger().
|
static |
Definition at line 1309 of file emu10k1.c.
References error.
Referenced by emu_malloc().
|
static |
Definition at line 408 of file emu10k1.c.
References sc_pchinfo::blksz, sc_rchinfo::blksz, sc_pchinfo::buffer, sc_rchinfo::buffer, EMU_TIMER, emu_wr(), sc_info::nchans, sc_info::pch, RANGE, rate, sc_info::rch, sndbuf_getalign(), sc_pchinfo::spd, sc_rchinfo::spd, and sc_info::timerinterval.
Referenced by emupchan_setblocksize(), emupchan_trigger(), and emurchan_setblocksize().
|
static |
Definition at line 1992 of file emu10k1.c.
References sc_info::audigy, sc_info::dev, EMU_A_DBG, EMU_A_DBG_SINGLE_STEP, EMU_ADCBA, EMU_ADCBS, EMU_CHAN_CPF, EMU_CHAN_CVCF, EMU_CHAN_DCYSUSV, EMU_CHAN_PTRX, EMU_CHAN_VTFT, EMU_CLIEH, EMU_CLIEL, emu_free(), EMU_FXBA, EMU_FXBS, EMU_FXWC, EMU_HCFG, EMU_HCFG_LOCKSOUNDCACHE, EMU_HCFG_LOCKTANKCACHE_MASK, EMU_HCFG_MUTEBUTTONENABLE, EMU_INTE, EMU_MICBA, EMU_MICBS, EMU_PTB, EMU_RECBS_BUFSIZE_NONE, EMU_SOLEH, EMU_SOLEL, EMU_TCB, EMU_TCBS, emu_wr(), emu_wrptr(), ENV_OFF, sc_info::mem, sc_info::mpu, mpu401_uninit(), and NUM_G.
Referenced by emu_pci_detach().
Definition at line 555 of file emu10k1.c.
References emu_voice::busy, and sc_info::voice.
Referenced by emupchan_init().
|
static |
Definition at line 570 of file emu10k1.c.
References sc_info::audigy, b, emu_voice::b16, emu_voice::buf, buf, emu_voice::channel, emu_memalloc(), emu_memstart(), EMUPAGESIZE, emu_voice::end, FXBUS_MIDI_CHORUS, FXBUS_MIDI_REVERB, FXBUS_PCM_LEFT, FXBUS_PCM_RIGHT, emu_voice::fxrt1, emu_voice::fxrt2, emu_voice::ismaster, m, emu_voice::running, emu_voice::slave, sndbuf_setup(), emu_voice::speed, emu_voice::start, emu_voice::stereo, and emu_voice::vol.
Referenced by emupchan_init().
Definition at line 751 of file emu10k1.c.
References emu_voice::b16, EMU_CHAN_CCCA_CURRADDR, emu_rdptr(), emu_voice::start, emu_voice::stereo, and emu_voice::vnum.
Referenced by emupchan_getptr().
|
static |
Definition at line 621 of file emu10k1.c.
References AFMT_16BIT, AFMT_CHANNEL, emu_voice::b16, sc_pchinfo::fmt, sc_pchinfo::master, emu_voice::slave, sc_pchinfo::spd, emu_voice::speed, and emu_voice::stereo.
Referenced by emupchan_trigger().
Definition at line 707 of file emu10k1.c.
References emu_voice::b16, EMU_CHAN_CCR_CACHEINVALIDSIZE, EMU_CHAN_CCR_READADDRESS, EMU_CHAN_CD0, EMU_CHAN_CPF_PITCH, EMU_CHAN_CVCF, EMU_CHAN_DCYSUSV, EMU_CHAN_IFATN, EMU_CHAN_IP, EMU_CHAN_PTRX_PITCHTARGET, EMU_CHAN_VTFT, emu_enastop(), emu_rate_to_linearpitch(), emu_rate_to_pitch(), emu_vtrigger(), emu_wrptr(), go, emu_voice::slave, emu_voice::speed, emu_voice::stereo, and emu_voice::vnum.
Referenced by emu_vtrigger(), and emupchan_trigger().
Definition at line 641 of file emu10k1.c.
References sc_info::audigy, emu_voice::b16, emu_voice::ea, EMU_A_CHAN_FXRT1, EMU_A_CHAN_FXRT2, EMU_A_CHAN_SENDAMOUNTS, EMU_CHAN_ATKHLDM, EMU_CHAN_ATKHLDV, EMU_CHAN_ATKHLDV_ATTACKTIME_MASK, EMU_CHAN_ATKHLDV_HOLDTIME_MASK, EMU_CHAN_CCCA, EMU_CHAN_CCCA_8BITSELECT, EMU_CHAN_CPF, EMU_CHAN_CPF_STEREO_MASK, EMU_CHAN_CVCF, EMU_CHAN_CVCF_CURRFILTER_MASK, EMU_CHAN_DCYSUSM, EMU_CHAN_DCYSUSM_DECAYTIME_MASK, EMU_CHAN_DSL, EMU_CHAN_ENVVAL, EMU_CHAN_ENVVOL, EMU_CHAN_FM2FRQ2, EMU_CHAN_FMMOD, EMU_CHAN_FXRT, EMU_CHAN_LFOVAL1, EMU_CHAN_LFOVAL2, EMU_CHAN_MAP_PTI_MASK, EMU_CHAN_MAPA, EMU_CHAN_MAPB, EMU_CHAN_PEFE_FILTERAMOUNT, EMU_CHAN_PEFE_PITCHAMOUNT, EMU_CHAN_PSST, EMU_CHAN_PTRX, EMU_CHAN_TREMFRQ, EMU_CHAN_VTFT, EMU_CHAN_VTFT_FILTERTARGET_MASK, EMU_CHAN_Z1, EMU_CHAN_Z2, emu_vwrite(), emu_wrptr(), emu_voice::end, emu_voice::fxrt1, emu_voice::fxrt2, emu_voice::ismaster, sc_info::mem, r, emu_voice::sa, emu_voice::slave, emu_voice::start, emu_voice::stereo, val, emu_voice::vnum, and emu_voice::vol.
Referenced by emu_vwrite(), and emupchan_trigger().
|
static |
Definition at line 317 of file emu10k1.c.
References data, regno, sc_info::sh, size, and sc_info::st.
Referenced by emu_ac97_read_emulation(), emu_ac97_write_emulation(), emu_enatimer(), emu_init(), emu_intr(), emu_midiattach(), emu_mwrite(), emu_rdcd(), emu_rdptr(), emu_settimer(), emu_uninit(), emu_wrcd(), emu_wrptr(), and emurchan_trigger().
|
static |
Definition at line 389 of file emu10k1.c.
References data, devinfo, EMU_AC97ADDR, EMU_AC97DATA, emu_wr(), and regno.
|
static |
Definition at line 369 of file emu10k1.c.
References sc_info::audigy, data, EMU_A_MICROCODEBASE, EMU_MICROCODEBASE, and emu_wrptr().
Referenced by audigy_addefxop(), emu_addefxop(), and emu_initefx().
|
static |
Definition at line 351 of file emu10k1.c.
References sc_info::addrmask, data, EMU_DATA, EMU_PTR, EMU_PTR_CHNO_MASK, emu_rd(), emu_wr(), mask, offset, reg, and size.
Referenced by audigy_initefx(), emu_enastop(), emu_init(), emu_initefx(), emu_mwrite(), emu_uninit(), emu_vtrigger(), emu_vwrite(), emu_wrefx(), emufxrchan_init(), emufxrchan_trigger(), emurchan_init(), and emurchan_trigger().
|
static |
|
static |
Definition at line 836 of file emu10k1.c.
References sc_chinfo::buffer, sc_info::ch, data, emu_memfree(), sc_info::lock, sc_chinfo::parent, r, snd_mtxlock, snd_mtxunlock, and sndbuf_getbuf().
|
static |
Definition at line 928 of file emu10k1.c.
References emu_playcaps.
|
static |
Definition at line 914 of file emu10k1.c.
References sc_info::ch, data, emu_vpos(), sc_info::lock, sc_chinfo::parent, r, snd_mtxlock, and snd_mtxunlock.
|
static |
Definition at line 810 of file emu10k1.c.
References b, sc_pchinfo::blksz, sc_pchinfo::buffer, sc_info::bufsz, c, sc_pchinfo::channel, devinfo, dir, emu_valloc(), emu_vinit(), sc_pchinfo::fmt, sc_info::lock, sc_pchinfo::master, sc_pchinfo::parent, sc_info::pch, PCMDIR_PLAY, sc_info::pnum, r, sc_pchinfo::slave, SND_FORMAT, snd_mtxlock, snd_mtxunlock, and sc_pchinfo::spd.
|
static |
Definition at line 868 of file emu10k1.c.
References sc_chinfo::blksz, blksz, blocksize, sc_chinfo::buffer, sc_info::ch, data, emu_settimer(), sc_info::lock, sc_chinfo::parent, snd_mtxlock, snd_mtxunlock, sndbuf_getalign(), sc_chinfo::spd, and sc_info::timerinterval.
|
static |
Definition at line 850 of file emu10k1.c.
References data, sc_pchinfo::fmt, and format.
|
static |
Definition at line 859 of file emu10k1.c.
References data, sc_pchinfo::spd, and speed.
|
static |
Definition at line 884 of file emu10k1.c.
References sc_info::ch, data, emu_enatimer(), emu_settimer(), emu_vsetup(), emu_vtrigger(), emu_vwrite(), go, sc_info::lock, sc_chinfo::parent, PCMTRIG_COMMON, PCMTRIG_START, sc_chinfo::run, snd_mtxlock, snd_mtxunlock, and sc_chinfo::speed.
|
static |
Definition at line 1142 of file emu10k1.c.
References data, emu_reccaps, and sc_rchinfo::num.
|
static |
Definition at line 1128 of file emu10k1.c.
References sc_info::ch, data, emu_rdptr(), sc_info::lock, sc_chinfo::parent, r, snd_mtxlock, and snd_mtxunlock.
|
static |
Definition at line 948 of file emu10k1.c.
References sc_info::audigy, b, sc_rchinfo::basereg, sc_rchinfo::blksz, sc_rchinfo::buffer, sc_info::bufsz, c, sc_rchinfo::channel, devinfo, dir, EMU_A_ADCIDX, EMU_ADCBA, EMU_ADCBS, EMU_ADCCR, EMU_ADCIDX, EMU_FXBA, EMU_FXBS, EMU_FXIDX, EMU_FXWC, EMU_INTE_ADCBUFENABLE, EMU_INTE_EFXBUFENABLE, EMU_INTE_MICBUFENABLE, EMU_MICBA, EMU_MICBS, EMU_MICIDX, emu_wrptr(), sc_rchinfo::fmt, sc_rchinfo::idxreg, sc_rchinfo::irqmask, sc_info::lock, sc_rchinfo::num, sc_rchinfo::parent, sc_info::parent_dmat, PCMDIR_REC, sc_info::rch, sc_info::rnum, sc_rchinfo::setupreg, sc_rchinfo::sizereg, SND_FORMAT, snd_mtxlock, snd_mtxunlock, sndbuf_alloc(), sndbuf_getbufaddr(), and sc_rchinfo::spd.
|
static |
Definition at line 1029 of file emu10k1.c.
References sc_chinfo::blksz, blksz, blocksize, sc_chinfo::buffer, sc_info::ch, data, emu_settimer(), sc_info::lock, sc_chinfo::parent, snd_mtxlock, snd_mtxunlock, sndbuf_getalign(), sc_chinfo::spd, and sc_info::timerinterval.
|
static |
Definition at line 1001 of file emu10k1.c.
References data, sc_rchinfo::fmt, and format.
|
static |
Definition at line 1010 of file emu10k1.c.
References adcspeed, sc_info::audigy, audigy_adcspeed, audigy_recval(), data, emu_recval(), sc_rchinfo::num, sc_rchinfo::parent, sc_rchinfo::spd, and speed.
|
static |
Definition at line 1046 of file emu10k1.c.
References AFMT_CHANNEL, sc_info::audigy, audigy_recval(), sc_info::bufsz, sc_info::ch, data, EMU_A_ADCCR_LCHANENABLE, EMU_A_ADCCR_RCHANENABLE, EMU_ADCCR_LCHANENABLE, EMU_ADCCR_RCHANENABLE, EMU_INTE, emu_rd(), EMU_RECBS_BUFSIZE_16384, EMU_RECBS_BUFSIZE_32768, EMU_RECBS_BUFSIZE_4096, EMU_RECBS_BUFSIZE_65536, EMU_RECBS_BUFSIZE_8192, emu_recval(), emu_wr(), emu_wrptr(), sc_chinfo::fmt, go, sc_info::lock, sc_chinfo::num, sc_chinfo::parent, PCMTRIG_ABORT, PCMTRIG_COMMON, PCMTRIG_EMLDMARD, PCMTRIG_EMLDMAWR, PCMTRIG_START, PCMTRIG_STOP, sc_chinfo::run, snd_mtxlock, snd_mtxunlock, sc_chinfo::spd, and val.
MODULE_DEPEND | ( | snd_emu10k1 | , |
midi | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
MODULE_DEPEND | ( | snd_emu10k1 | , |
sound | , | ||
SOUND_MINVER | , | ||
SOUND_PREFVER | , | ||
SOUND_MAXVER | |||
) |
MODULE_VERSION | ( | snd_emu10k1 | , |
1 | |||
) |
SND_DECLARE_FILE | ( | "$FreeBSD$" | ) |
|
static |
Definition at line 293 of file emu10k1.c.
Referenced by emu_recval(), and emurchan_setspeed().
|
static |
Definition at line 295 of file emu10k1.c.
Referenced by audigy_recval(), and emurchan_setspeed().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 291 of file emu10k1.c.
Referenced by emupchan_getcaps().
|
static |
Definition at line 277 of file emu10k1.c.
Referenced by emurchan_getcaps().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |