FreeBSD kernel sound device code
emu10kx.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  emu_midiinfo
 
struct  emu_pcminfo
 
struct  emu_route
 

Macros

#define SND_EMU10KX_MINVER   1
 
#define SND_EMU10KX_PREFVER   1
 
#define SND_EMU10KX_MAXVER   1
 
#define EMUPAGESIZE   4096
 
#define NUM_G   64
 
#define EMU_PLAY_BUFSZ   EMUPAGESIZE
 
#define EMU_REC_BUFSZ   EMUPAGESIZE*16
 
#define EMU_MAX_BUFSZ   EMUPAGESIZE*16
 
#define EMU_MAXPAGES   8192
 
#define EMU_VAR_FUNC   0
 
#define EMU_VAR_ROUTE   1
 
#define EMU_VAR_ISEMU10K1   2
 
#define EMU_VAR_MCH_DISABLED   3
 
#define EMU_VAR_MCH_REC   4
 
#define EMU_A_IOCFG_DISABLE_ANALOG   0x0040 /* = 'enable' for Audigy2 */
 
#define EMU_A_IOCFG_GPOUT2   0x0001
 
#define EMU_AC97SLOT_REAR_RIGHT   0x01
 
#define EMU_AC97SLOT_REAR_LEFT   0x02
 
#define EMU_HCFG_GPOUT0   0x00001000
 
#define EMU_HCFG_GPOUT1   0x00000800
 
#define EMU_HCFG_GPOUT2   0x00000400
 
#define RT_FRONT   0
 
#define RT_REAR   1
 
#define RT_CENTER   2
 
#define RT_SUB   3
 
#define RT_SIDE   4
 
#define RT_MCHRECORD   5
 
#define RT_COUNT   6
 
#define M_FX0_FRONT_L   0
 
#define M_FX1_FRONT_R   1
 
#define M_FX2_REAR_L   2
 
#define M_FX3_REAR_R   3
 
#define M_FX4_CENTER   4
 
#define M_FX5_SUBWOOFER   5
 
#define M_FX6_SIDE_L   6
 
#define M_FX7_SIDE_R   7
 
#define M_FX0_REC_L   8
 
#define M_FX1_REC_R   9
 
#define M_IN0_FRONT_L   10
 
#define M_IN0_FRONT_R   11
 
#define M_IN1_FRONT_L   12
 
#define M_IN1_FRONT_R   13
 
#define M_IN2_FRONT_L   14
 
#define M_IN2_FRONT_R   15
 
#define M_IN3_FRONT_L   16
 
#define M_IN3_FRONT_R   17
 
#define M_IN4_FRONT_L   18
 
#define M_IN4_FRONT_R   19
 
#define M_IN5_FRONT_L   20
 
#define M_IN5_FRONT_R   21
 
#define M_IN6_FRONT_L   22
 
#define M_IN6_FRONT_R   23
 
#define M_IN7_FRONT_L   24
 
#define M_IN7_FRONT_R   25
 
#define M_IN0_REC_L   26
 
#define M_IN0_REC_R   27
 
#define M_IN1_REC_L   28
 
#define M_IN1_REC_R   29
 
#define M_IN2_REC_L   30
 
#define M_IN2_REC_R   31
 
#define M_IN3_REC_L   32
 
#define M_IN3_REC_R   33
 
#define M_IN4_REC_L   34
 
#define M_IN4_REC_R   35
 
#define M_IN5_REC_L   36
 
#define M_IN5_REC_R   37
 
#define M_IN6_REC_L   38
 
#define M_IN6_REC_R   39
 
#define M_IN7_REC_L   40
 
#define M_IN7_REC_R   41
 
#define M_MASTER_FRONT_L   42
 
#define M_MASTER_FRONT_R   43
 
#define M_MASTER_REAR_L   44
 
#define M_MASTER_REAR_R   45
 
#define M_MASTER_CENTER   46
 
#define M_MASTER_SUBWOOFER   47
 
#define M_MASTER_SIDE_L   48
 
#define M_MASTER_SIDE_R   49
 
#define M_MASTER_REC_L   50
 
#define M_MASTER_REC_R   51
 
#define NUM_MIXERS   52
 

Functions

int emu_intr_register (struct emu_sc_info *sc, uint32_t inte_mask, uint32_t intr_mask, uint32_t(*func)(void *softc, uint32_t irq), void *isc)
 
int emu_intr_unregister (struct emu_sc_info *sc, int ihandle)
 
uint32_t emu_rd (struct emu_sc_info *sc, unsigned int regno, unsigned int size)
 
void emu_wr (struct emu_sc_info *sc, unsigned int regno, uint32_t data, unsigned int size)
 
uint32_t emu_rdptr (struct emu_sc_info *sc, unsigned int chn, unsigned int reg)
 
void emu_wrptr (struct emu_sc_info *sc, unsigned int chn, unsigned int reg, uint32_t data)
 
uint32_t emu_rd_p16vptr (struct emu_sc_info *sc, uint16_t chn, uint16_t reg)
 
void emu_wr_p16vptr (struct emu_sc_info *sc, uint16_t chn, uint16_t reg, uint32_t data)
 
int emu_timer_create (struct emu_sc_info *sc)
 
int emu_timer_set (struct emu_sc_info *sc, int timer, int delay)
 
int emu_timer_enable (struct emu_sc_info *sc, int timer, int go)
 
int emu_timer_clear (struct emu_sc_info *sc, int timer)
 
struct emu_voiceemu_valloc (struct emu_sc_info *sc)
 
void emu_vfree (struct emu_sc_info *sc, struct emu_voice *v)
 
int emu_vinit (struct emu_sc_info *sc, struct emu_voice *m, struct emu_voice *s, uint32_t sz, struct snd_dbuf *b)
 
void emu_vroute (struct emu_sc_info *sc, struct emu_route *rt, struct emu_voice *v)
 
void emu_vsetup (struct emu_voice *v, int fmt, int spd)
 
void emu_vwrite (struct emu_sc_info *sc, struct emu_voice *v)
 
void emu_vtrigger (struct emu_sc_info *sc, struct emu_voice *v, int go)
 
int emu_vpos (struct emu_sc_info *sc, struct emu_voice *v)
 
bus_dma_tag_t emu_gettag (struct emu_sc_info *sc)
 
void emumix_set_volume (struct emu_sc_info *sc, int mixer_idx, int volume)
 
int emumix_get_volume (struct emu_sc_info *sc, int mixer_idx)
 
void emu_enable_ir (struct emu_sc_info *sc)
 

Macro Definition Documentation

◆ EMU_A_IOCFG_DISABLE_ANALOG

#define EMU_A_IOCFG_DISABLE_ANALOG   0x0040 /* = 'enable' for Audigy2 */

Definition at line 56 of file emu10kx.h.

◆ EMU_A_IOCFG_GPOUT2

#define EMU_A_IOCFG_GPOUT2   0x0001

Definition at line 57 of file emu10kx.h.

◆ EMU_AC97SLOT_REAR_LEFT

#define EMU_AC97SLOT_REAR_LEFT   0x02

Definition at line 59 of file emu10kx.h.

◆ EMU_AC97SLOT_REAR_RIGHT

#define EMU_AC97SLOT_REAR_RIGHT   0x01

Definition at line 58 of file emu10kx.h.

◆ EMU_HCFG_GPOUT0

#define EMU_HCFG_GPOUT0   0x00001000

Definition at line 60 of file emu10kx.h.

◆ EMU_HCFG_GPOUT1

#define EMU_HCFG_GPOUT1   0x00000800

Definition at line 61 of file emu10kx.h.

◆ EMU_HCFG_GPOUT2

#define EMU_HCFG_GPOUT2   0x00000400

Definition at line 62 of file emu10kx.h.

◆ EMU_MAX_BUFSZ

#define EMU_MAX_BUFSZ   EMUPAGESIZE*16

Definition at line 47 of file emu10kx.h.

◆ EMU_MAXPAGES

#define EMU_MAXPAGES   8192

Definition at line 48 of file emu10kx.h.

◆ EMU_PLAY_BUFSZ

#define EMU_PLAY_BUFSZ   EMUPAGESIZE

Definition at line 44 of file emu10kx.h.

◆ EMU_REC_BUFSZ

#define EMU_REC_BUFSZ   EMUPAGESIZE*16

Definition at line 46 of file emu10kx.h.

◆ EMU_VAR_FUNC

#define EMU_VAR_FUNC   0

Definition at line 50 of file emu10kx.h.

◆ EMU_VAR_ISEMU10K1

#define EMU_VAR_ISEMU10K1   2

Definition at line 52 of file emu10kx.h.

◆ EMU_VAR_MCH_DISABLED

#define EMU_VAR_MCH_DISABLED   3

Definition at line 53 of file emu10kx.h.

◆ EMU_VAR_MCH_REC

#define EMU_VAR_MCH_REC   4

Definition at line 54 of file emu10kx.h.

◆ EMU_VAR_ROUTE

#define EMU_VAR_ROUTE   1

Definition at line 51 of file emu10kx.h.

◆ EMUPAGESIZE

#define EMUPAGESIZE   4096

Definition at line 41 of file emu10kx.h.

◆ M_FX0_FRONT_L

#define M_FX0_FRONT_L   0

Definition at line 74 of file emu10kx.h.

◆ M_FX0_REC_L

#define M_FX0_REC_L   8

Definition at line 83 of file emu10kx.h.

◆ M_FX1_FRONT_R

#define M_FX1_FRONT_R   1

Definition at line 75 of file emu10kx.h.

◆ M_FX1_REC_R

#define M_FX1_REC_R   9

Definition at line 84 of file emu10kx.h.

◆ M_FX2_REAR_L

#define M_FX2_REAR_L   2

Definition at line 76 of file emu10kx.h.

◆ M_FX3_REAR_R

#define M_FX3_REAR_R   3

Definition at line 77 of file emu10kx.h.

◆ M_FX4_CENTER

#define M_FX4_CENTER   4

Definition at line 78 of file emu10kx.h.

◆ M_FX5_SUBWOOFER

#define M_FX5_SUBWOOFER   5

Definition at line 79 of file emu10kx.h.

◆ M_FX6_SIDE_L

#define M_FX6_SIDE_L   6

Definition at line 80 of file emu10kx.h.

◆ M_FX7_SIDE_R

#define M_FX7_SIDE_R   7

Definition at line 81 of file emu10kx.h.

◆ M_IN0_FRONT_L

#define M_IN0_FRONT_L   10

Definition at line 86 of file emu10kx.h.

◆ M_IN0_FRONT_R

#define M_IN0_FRONT_R   11

Definition at line 87 of file emu10kx.h.

◆ M_IN0_REC_L

#define M_IN0_REC_L   26

Definition at line 103 of file emu10kx.h.

◆ M_IN0_REC_R

#define M_IN0_REC_R   27

Definition at line 104 of file emu10kx.h.

◆ M_IN1_FRONT_L

#define M_IN1_FRONT_L   12

Definition at line 88 of file emu10kx.h.

◆ M_IN1_FRONT_R

#define M_IN1_FRONT_R   13

Definition at line 89 of file emu10kx.h.

◆ M_IN1_REC_L

#define M_IN1_REC_L   28

Definition at line 105 of file emu10kx.h.

◆ M_IN1_REC_R

#define M_IN1_REC_R   29

Definition at line 106 of file emu10kx.h.

◆ M_IN2_FRONT_L

#define M_IN2_FRONT_L   14

Definition at line 90 of file emu10kx.h.

◆ M_IN2_FRONT_R

#define M_IN2_FRONT_R   15

Definition at line 91 of file emu10kx.h.

◆ M_IN2_REC_L

#define M_IN2_REC_L   30

Definition at line 107 of file emu10kx.h.

◆ M_IN2_REC_R

#define M_IN2_REC_R   31

Definition at line 108 of file emu10kx.h.

◆ M_IN3_FRONT_L

#define M_IN3_FRONT_L   16

Definition at line 92 of file emu10kx.h.

◆ M_IN3_FRONT_R

#define M_IN3_FRONT_R   17

Definition at line 93 of file emu10kx.h.

◆ M_IN3_REC_L

#define M_IN3_REC_L   32

Definition at line 109 of file emu10kx.h.

◆ M_IN3_REC_R

#define M_IN3_REC_R   33

Definition at line 110 of file emu10kx.h.

◆ M_IN4_FRONT_L

#define M_IN4_FRONT_L   18

Definition at line 94 of file emu10kx.h.

◆ M_IN4_FRONT_R

#define M_IN4_FRONT_R   19

Definition at line 95 of file emu10kx.h.

◆ M_IN4_REC_L

#define M_IN4_REC_L   34

Definition at line 111 of file emu10kx.h.

◆ M_IN4_REC_R

#define M_IN4_REC_R   35

Definition at line 112 of file emu10kx.h.

◆ M_IN5_FRONT_L

#define M_IN5_FRONT_L   20

Definition at line 96 of file emu10kx.h.

◆ M_IN5_FRONT_R

#define M_IN5_FRONT_R   21

Definition at line 97 of file emu10kx.h.

◆ M_IN5_REC_L

#define M_IN5_REC_L   36

Definition at line 113 of file emu10kx.h.

◆ M_IN5_REC_R

#define M_IN5_REC_R   37

Definition at line 114 of file emu10kx.h.

◆ M_IN6_FRONT_L

#define M_IN6_FRONT_L   22

Definition at line 98 of file emu10kx.h.

◆ M_IN6_FRONT_R

#define M_IN6_FRONT_R   23

Definition at line 99 of file emu10kx.h.

◆ M_IN6_REC_L

#define M_IN6_REC_L   38

Definition at line 115 of file emu10kx.h.

◆ M_IN6_REC_R

#define M_IN6_REC_R   39

Definition at line 116 of file emu10kx.h.

◆ M_IN7_FRONT_L

#define M_IN7_FRONT_L   24

Definition at line 100 of file emu10kx.h.

◆ M_IN7_FRONT_R

#define M_IN7_FRONT_R   25

Definition at line 101 of file emu10kx.h.

◆ M_IN7_REC_L

#define M_IN7_REC_L   40

Definition at line 117 of file emu10kx.h.

◆ M_IN7_REC_R

#define M_IN7_REC_R   41

Definition at line 118 of file emu10kx.h.

◆ M_MASTER_CENTER

#define M_MASTER_CENTER   46

Definition at line 124 of file emu10kx.h.

◆ M_MASTER_FRONT_L

#define M_MASTER_FRONT_L   42

Definition at line 120 of file emu10kx.h.

◆ M_MASTER_FRONT_R

#define M_MASTER_FRONT_R   43

Definition at line 121 of file emu10kx.h.

◆ M_MASTER_REAR_L

#define M_MASTER_REAR_L   44

Definition at line 122 of file emu10kx.h.

◆ M_MASTER_REAR_R

#define M_MASTER_REAR_R   45

Definition at line 123 of file emu10kx.h.

◆ M_MASTER_REC_L

#define M_MASTER_REC_L   50

Definition at line 129 of file emu10kx.h.

◆ M_MASTER_REC_R

#define M_MASTER_REC_R   51

Definition at line 130 of file emu10kx.h.

◆ M_MASTER_SIDE_L

#define M_MASTER_SIDE_L   48

Definition at line 126 of file emu10kx.h.

◆ M_MASTER_SIDE_R

#define M_MASTER_SIDE_R   49

Definition at line 127 of file emu10kx.h.

◆ M_MASTER_SUBWOOFER

#define M_MASTER_SUBWOOFER   47

Definition at line 125 of file emu10kx.h.

◆ NUM_G

#define NUM_G   64

Definition at line 42 of file emu10kx.h.

◆ NUM_MIXERS

#define NUM_MIXERS   52

Definition at line 132 of file emu10kx.h.

◆ RT_CENTER

#define RT_CENTER   2

Definition at line 66 of file emu10kx.h.

◆ RT_COUNT

#define RT_COUNT   6

Definition at line 70 of file emu10kx.h.

◆ RT_FRONT

#define RT_FRONT   0

Definition at line 64 of file emu10kx.h.

◆ RT_MCHRECORD

#define RT_MCHRECORD   5

Definition at line 69 of file emu10kx.h.

◆ RT_REAR

#define RT_REAR   1

Definition at line 65 of file emu10kx.h.

◆ RT_SIDE

#define RT_SIDE   4

Definition at line 68 of file emu10kx.h.

◆ RT_SUB

#define RT_SUB   3

Definition at line 67 of file emu10kx.h.

◆ SND_EMU10KX_MAXVER

#define SND_EMU10KX_MAXVER   1

Definition at line 37 of file emu10kx.h.

◆ SND_EMU10KX_MINVER

#define SND_EMU10KX_MINVER   1

Definition at line 35 of file emu10kx.h.

◆ SND_EMU10KX_PREFVER

#define SND_EMU10KX_PREFVER   1

Definition at line 36 of file emu10kx.h.

Function Documentation

◆ emu_enable_ir()

void emu_enable_ir ( struct emu_sc_info sc)

Definition at line 779 of file emu10kx.c.

References emu_sc_info::dev, EMU_A_IOCFG, EMU_A_IOCFG_GPOUT1, EMU_A_IOCFG_GPOUT2, EMU_HCFG, EMU_HCFG_GPOUT1, EMU_HCFG_GPOUT2, emu_rd_nolock(), emu_wr_nolock(), emu_sc_info::enable_ir, emu_sc_info::is_ca0102, emu_sc_info::is_emu10k1, and emu_sc_info::is_emu10k2.

Referenced by emu_midi_attach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_gettag()

bus_dma_tag_t emu_gettag ( struct emu_sc_info sc)

Definition at line 1037 of file emu10kx.c.

References emu_mem::dmat, and emu_sc_info::mem.

Referenced by emufxrchan_init(), and emurchan_init().

Here is the caller graph for this function:

◆ emu_intr_register()

int emu_intr_register ( struct emu_sc_info sc,
uint32_t  inte_mask,
uint32_t  intr_mask,
uint32_t(*)(void *softc, uint32_t irq func,
void *  isc 
)

◆ emu_intr_unregister()

int emu_intr_unregister ( struct emu_sc_info sc,
int  ihandle 
)

◆ emu_rd()

uint32_t emu_rd ( struct emu_sc_info sc,
unsigned int  regno,
unsigned int  size 
)

Definition at line 763 of file emu10kx.c.

References EMU_DATA, EMU_DATA2, emu_rd_nolock(), regno, and size.

Referenced by emu_init(), emu_intr(), emu_intr_register(), emu_intr_unregister(), emu_timer_enable(), and emumix_set_mode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_rd_p16vptr()

uint32_t emu_rd_p16vptr ( struct emu_sc_info sc,
uint16_t  chn,
uint16_t  reg 
)

Definition at line 706 of file emu10kx.c.

References EMU_A2_PTR, EMU_DATA2, emu_rd_nolock(), EMU_RWLOCK, EMU_RWUNLOCK, emu_wr_nolock(), reg, and val.

Here is the call graph for this function:

◆ emu_rdptr()

uint32_t emu_rdptr ( struct emu_sc_info sc,
unsigned int  chn,
unsigned int  reg 
)

Definition at line 649 of file emu10kx.c.

References emu_sc_info::address_mask, EMU_DATA, EMU_PTR, EMU_PTR_CHNO_MASK, emu_rd_nolock(), EMU_RWLOCK, EMU_RWUNLOCK, emu_wr_nolock(), mask, offset, reg, size, and val.

Referenced by emu_init(), and emu_vpos().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_timer_clear()

int emu_timer_clear ( struct emu_sc_info sc,
int  timer 
)

Definition at line 897 of file emu10kx.c.

References EMU_MAX_IRQ_CONSUMERS, emu_timer_enable(), emu_sc_info::lock, RANGE, and emu_sc_info::timer.

Referenced by emupchan_free(), and emurchan_free().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_timer_create()

int emu_timer_create ( struct emu_sc_info sc)

Definition at line 811 of file emu10kx.c.

References EMU_MAX_IRQ_CONSUMERS, emu_sc_info::lock, and emu_sc_info::timer.

Referenced by emupchan_init(), and emurchan_init().

Here is the caller graph for this function:

◆ emu_timer_enable()

int emu_timer_enable ( struct emu_sc_info sc,
int  timer,
int  go 
)

Definition at line 855 of file emu10kx.c.

References EMU_INTE, EMU_INTE_INTERTIMERENB, EMU_MAX_IRQ_CONSUMERS, emu_rd(), EMU_TIMER, emu_wr(), go, emu_sc_info::lock, RANGE, emu_sc_info::timer, and emu_sc_info::timerinterval.

Referenced by emu_pcm_intr(), emu_timer_clear(), emupchan_trigger(), and emurchan_setblocksize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_timer_set()

int emu_timer_set ( struct emu_sc_info sc,
int  timer,
int  delay 
)

Definition at line 831 of file emu10kx.c.

References EMU_MAX_IRQ_CONSUMERS, EMU_TIMER, emu_wr(), emu_sc_info::lock, RANGE, emu_sc_info::timer, and emu_sc_info::timerinterval.

Referenced by emupchan_setblocksize(), emupchan_trigger(), and emurchan_setblocksize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_valloc()

struct emu_voice * emu_valloc ( struct emu_sc_info sc)

Definition at line 1251 of file emu10kx.c.

References emu_voice::busy, emu_sc_info::lock, NUM_G, and emu_sc_info::voice.

◆ emu_vfree()

void emu_vfree ( struct emu_sc_info sc,
struct emu_voice v 
)

Definition at line 1268 of file emu10kx.c.

References emu_voice::busy, emu_memfree(), emu_sc_info::lock, emu_sc_info::mem, NUM_G, r, emu_voice::slave, emu_voice::vbuf, and emu_sc_info::voice.

Referenced by emupchan_free().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_vinit()

◆ emu_vpos()

int emu_vpos ( struct emu_sc_info sc,
struct emu_voice v 
)

Definition at line 1500 of file emu10kx.c.

References emu_voice::b16, EMU_CHAN_CCCA_CURRADDR, emu_rdptr(), emu_voice::start, emu_voice::stereo, and emu_voice::vnum.

Here is the call graph for this function:

◆ emu_vroute()

void emu_vroute ( struct emu_sc_info sc,
struct emu_route rt,
struct emu_voice v 
)

Definition at line 1355 of file emu10kx.c.

References emu_voice::amounts, emu_route::amounts_left, emu_route::amounts_right, emu_vroute(), emu_voice::ismaster, emu_voice::routing, emu_route::routing_left, emu_route::routing_right, emu_voice::slave, and emu_voice::stereo.

Referenced by emu_vroute(), and emupchan_trigger().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_vsetup()

void emu_vsetup ( struct emu_voice v,
int  fmt,
int  spd 
)

◆ emu_vtrigger()

◆ emu_vwrite()

◆ emu_wr()

void emu_wr ( struct emu_sc_info sc,
unsigned int  regno,
uint32_t  data,
unsigned int  size 
)

Definition at line 754 of file emu10kx.c.

References data, EMU_A2_PTR, EMU_PTR, emu_wr_nolock(), regno, and size.

Referenced by emu_init(), emu_intr(), emu_intr_register(), emu_intr_unregister(), emu_timer_enable(), emu_timer_set(), emu_uninit(), and emumix_set_mode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_wr_p16vptr()

void emu_wr_p16vptr ( struct emu_sc_info sc,
uint16_t  chn,
uint16_t  reg,
uint32_t  data 
)

Definition at line 721 of file emu10kx.c.

References data, EMU_A2_PTR, EMU_DATA2, EMU_RWLOCK, EMU_RWUNLOCK, emu_wr_nolock(), and reg.

Referenced by emu_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emu_wrptr()

void emu_wrptr ( struct emu_sc_info sc,
unsigned int  chn,
unsigned int  reg,
uint32_t  data 
)

Definition at line 676 of file emu10kx.c.

References emu_sc_info::address_mask, data, EMU_DATA, EMU_PTR, EMU_PTR_CHNO_MASK, emu_rd_nolock(), EMU_RWLOCK, EMU_RWUNLOCK, emu_wr_nolock(), mask, offset, reg, and size.

Referenced by emu_init(), emu_initefx(), emu_uninit(), emu_vstop(), emu_vtrigger(), emu_vwrite(), emu_wrefx(), emumix_set_gpr(), and emumix_set_spdif_mode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ emumix_get_volume()

int emumix_get_volume ( struct emu_sc_info sc,
int  mixer_idx 
)

Definition at line 2621 of file emu10kx.c.

References emu_sc_info::mixer_volcache, and NUM_MIXERS.

Referenced by emu_dspmixer_setrecsrc(), and sysctl_emu_mixer_control().

Here is the caller graph for this function:

◆ emumix_set_volume()

void emumix_set_volume ( struct emu_sc_info sc,
int  mixer_idx,
int  volume 
)

Definition at line 2610 of file emu10kx.c.

References emumix_set_fxvol(), emu_sc_info::mixer_gpr, emu_sc_info::mixer_volcache, NUM_MIXERS, and RANGE.

Referenced by emu_ac97_write_emulation(), emu_dspmixer_set(), emu_dspmixer_setrecsrc(), and sysctl_emu_mixer_control().

Here is the call graph for this function:
Here is the caller graph for this function: