Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
au8820.h File Reference

Go to the source code of this file.

Macros

#define CHIP_AU8820
 
#define CARD_NAME   "Aureal Vortex"
 
#define CARD_NAME_SHORT   "au8820"
 
#define NR_ADB   0x10
 
#define NR_WT   0x20
 
#define NR_SRC   0x10
 
#define NR_A3D   0x00
 
#define NR_MIXIN   0x10
 
#define NR_MIXOUT   0x10
 
#define VORTEX_ADBDMA_STAT   0x105c0 /* read only, subbuffer, DMA pos */
 
#define POS_MASK   0x00000fff
 
#define POS_SHIFT   0x0
 
#define ADB_SUBBUF_MASK   0x00003000 /* ADB only. */
 
#define ADB_SUBBUF_SHIFT   0xc /* ADB only. */
 
#define VORTEX_ADBDMA_CTRL   0x10580 /* write only, format, flags, DMA pos */
 
#define OFFSET_MASK   0x00000fff
 
#define OFFSET_SHIFT   0x0
 
#define IE_MASK   0x00001000 /* interrupt enable. */
 
#define IE_SHIFT   0xc
 
#define DIR_MASK   0x00002000 /* Direction. */
 
#define DIR_SHIFT   0xd
 
#define FMT_MASK   0x0003c000
 
#define FMT_SHIFT   0xe
 
#define VORTEX_ADBDMA_BUFCFG0   0x10400
 
#define VORTEX_ADBDMA_BUFCFG1   0x10404
 
#define VORTEX_ADBDMA_BUFBASE   0x10200
 
#define VORTEX_ADBDMA_START   0x106c0 /* Which subbuffer starts */
 
#define VORTEX_ADBDMA_STATUS   0x10600 /* stored at AdbDma->this_10 / 2 DWORD in size. */
 
#define VORTEX_ADB_SR   0x10a00 /* Samplerates enable/disable */
 
#define VORTEX_ADB_RTBASE   0x10800
 
#define VORTEX_ADB_RTBASE_COUNT   103
 
#define VORTEX_ADB_CHNBASE   0x1099c
 
#define VORTEX_ADB_CHNBASE_COUNT   22
 
#define ROUTE_MASK   0x3fff
 
#define ADB_MASK   0x7f
 
#define ADB_SHIFT   0x7
 
#define OFFSET_ADBDMA   0x00
 
#define OFFSET_SRCOUT   0x10 /* on channel 0x11 */
 
#define OFFSET_SRCIN   0x10 /* on channel < 0x11 */
 
#define OFFSET_MIXOUT   0x20 /* source */
 
#define OFFSET_MIXIN   0x30 /* sink */
 
#define OFFSET_CODECIN   0x48 /* ADB source */
 
#define OFFSET_CODECOUT   0x58 /* ADB sink/target */
 
#define OFFSET_SPORTOUT   0x60 /* sink */
 
#define OFFSET_SPORTIN   0x50 /* source */
 
#define OFFSET_EFXOUT   0x50 /* sink */
 
#define OFFSET_EFXIN   0x40 /* source */
 
#define OFFSET_A3DOUT   0x00 /* This card has no HRTF :( */
 
#define OFFSET_A3DIN   0x00
 
#define OFFSET_WTOUT   0x58 /* */
 
#define ADB_DMA(x)   (x + OFFSET_ADBDMA)
 
#define ADB_SRCOUT(x)   (x + OFFSET_SRCOUT)
 
#define ADB_SRCIN(x)   (x + OFFSET_SRCIN)
 
#define ADB_MIXOUT(x)   (x + OFFSET_MIXOUT)
 
#define ADB_MIXIN(x)   (x + OFFSET_MIXIN)
 
#define ADB_CODECIN(x)   (x + OFFSET_CODECIN)
 
#define ADB_CODECOUT(x)   (x + OFFSET_CODECOUT)
 
#define ADB_SPORTOUT(x)   (x + OFFSET_SPORTOUT)
 
#define ADB_SPORTIN(x)   (x + OFFSET_SPORTIN) /* */
 
#define ADB_A3DOUT(x)   (x + OFFSET_A3DOUT) /* 8 A3D blocks */
 
#define ADB_A3DIN(x)   (x + OFFSET_A3DIN)
 
#define ADB_WTOUT(x, y)   (y + OFFSET_WTOUT)
 
#define VORTEX_WTDMA_CTRL   0x10500 /* format, DMA pos */
 
#define VORTEX_WTDMA_STAT   0x10500 /* DMA subbuf, DMA pos */
 
#define WT_SUBBUF_MASK   (0x3 << WT_SUBBUF_SHIFT)
 
#define WT_SUBBUF_SHIFT   0x15
 
#define VORTEX_WTDMA_BUFBASE   0x10000
 
#define VORTEX_WTDMA_BUFCFG0   0x10300
 
#define VORTEX_WTDMA_BUFCFG1   0x10304
 
#define VORTEX_WTDMA_START   0x10640 /* which subbuffer is first */
 
#define VORTEX_WT_BASE   0x9000
 
#define VORTEX_MIXER_SR   0x9f00
 
#define VORTEX_MIXER_CLIP   0x9f80
 
#define VORTEX_MIXER_CHNBASE   0x9e40
 
#define VORTEX_MIXER_RTBASE   0x9e00
 
#define MIXER_RTBASE_SIZE   0x26
 
#define VORTEX_MIX_ENIN   0x9a00 /* Input enable bits. 4 bits wide. */
 
#define VORTEX_MIX_SMP   0x9c00
 
#define VORTEX_MIX_INVOL_A   0x9000 /* in? */
 
#define VORTEX_MIX_INVOL_B   0x8000 /* out? */
 
#define VORTEX_MIX_VOL_A   0x9800
 
#define VORTEX_MIX_VOL_B   0x8800
 
#define VOL_MIN   0x80 /* Input volume when muted. */
 
#define VOL_MAX   0x7f /* FIXME: Not confirmed! Just guessed. */
 
#define MIX_DEFIGAIN   0x08 /* 0x8 => 6dB */
 
#define MIX_DEFOGAIN   0x08
 
#define VORTEX_SRCBLOCK_SR   0xccc0
 
#define VORTEX_SRC_CHNBASE   0xcc40
 
#define VORTEX_SRC_RTBASE   0xcc00
 
#define VORTEX_SRC_SOURCE   0xccc4
 
#define VORTEX_SRC_SOURCESIZE   0xccc8
 
#define VORTEX_SRC_U0   0xce00
 
#define VORTEX_SRC_DRIFT0   0xce80
 
#define VORTEX_SRC_DRIFT1   0xcec0
 
#define VORTEX_SRC_U1   0xcf00
 
#define VORTEX_SRC_DRIFT2   0xcf40
 
#define VORTEX_SRC_U2   0xcf80
 
#define VORTEX_SRC_DATA   0xc800
 
#define VORTEX_SRC_DATA0   0xc000
 
#define VORTEX_SRC_CONVRATIO   0xce40
 
#define VORTEX_FIFO_ADBCTRL   0xf800 /* Control bits. */
 
#define VORTEX_FIFO_WTCTRL   0xf840
 
#define FIFO_RDONLY   0x00000001
 
#define FIFO_CTRL   0x00000002 /* Allow ctrl. ? */
 
#define FIFO_VALID   0x00000010
 
#define FIFO_EMPTY   0x00000020
 
#define FIFO_U0   0x00001000 /* Unknown. */
 
#define FIFO_U1   0x00010000
 
#define FIFO_SIZE_BITS   5
 
#define FIFO_SIZE   (1<<FIFO_SIZE_BITS)
 
#define FIFO_MASK   (FIFO_SIZE-1)
 
#define VORTEX_FIFO_ADBDATA   0xe000
 
#define VORTEX_FIFO_WTDATA   0xe800
 
#define VORTEX_CODEC_CTRL   0x11984
 
#define VORTEX_CODEC_EN   0x11990
 
#define EN_CODEC   0x00000300
 
#define EN_SPORT   0x00030000
 
#define EN_SPDIF   0x000c0000
 
#define VORTEX_CODEC_CHN   0x11880
 
#define VORTEX_CODEC_IO   0x11988
 
#define VORTEX_SPDIF_FLAGS   0x1005c /* FIXME */
 
#define VORTEX_SPDIF_CFG0   0x119D0
 
#define VORTEX_SPDIF_CFG1   0x119D4
 
#define VORTEX_SPDIF_SMPRATE   0x11994
 
#define VORTEX_SMP_TIME   0x11998
 
#define VORTEX_IRQ_SOURCE   0x12800 /* Interrupt source flags. */
 
#define VORTEX_IRQ_CTRL   0x12804 /* Interrupt source mask. */
 
#define VORTEX_STAT   0x12808 /* ?? */
 
#define VORTEX_CTRL   0x1280c
 
#define CTRL_MIDI_EN   0x00000001
 
#define CTRL_MIDI_PORT   0x00000060
 
#define CTRL_GAME_EN   0x00000008
 
#define CTRL_GAME_PORT   0x00000e00
 
#define CTRL_IRQ_ENABLE   0x4000
 
#define VORTEX_IRQ_STAT   0x1199c
 
#define VORTEX_DMA_BUFFER   0x10200
 
#define VORTEX_ENGINE_CTRL   0x1060c
 
#define ENGINE_INIT   0x0L
 
#define VORTEX_MIDI_DATA   0x11000
 
#define VORTEX_MIDI_CMD   0x11004 /* Write command / Read status */
 
#define VORTEX_GAME_LEGACY   0x11008
 
#define VORTEX_CTRL2   0x1100c
 
#define CTRL2_GAME_ADCMODE   0x40
 
#define VORTEX_GAME_AXIS   0x11010
 
#define AXIS_SIZE   4
 
#define AXIS_RANGE   0x1fff
 

Macro Definition Documentation

#define ADB_A3DIN (   x)    (x + OFFSET_A3DIN)

Definition at line 85 of file au8820.h.

#define ADB_A3DOUT (   x)    (x + OFFSET_A3DOUT) /* 8 A3D blocks */

Definition at line 84 of file au8820.h.

#define ADB_CODECIN (   x)    (x + OFFSET_CODECIN)

Definition at line 80 of file au8820.h.

#define ADB_CODECOUT (   x)    (x + OFFSET_CODECOUT)

Definition at line 81 of file au8820.h.

#define ADB_DMA (   x)    (x + OFFSET_ADBDMA)

Definition at line 75 of file au8820.h.

#define ADB_MASK   0x7f

Definition at line 55 of file au8820.h.

#define ADB_MIXIN (   x)    (x + OFFSET_MIXIN)

Definition at line 79 of file au8820.h.

#define ADB_MIXOUT (   x)    (x + OFFSET_MIXOUT)

Definition at line 78 of file au8820.h.

#define ADB_SHIFT   0x7

Definition at line 56 of file au8820.h.

#define ADB_SPORTIN (   x)    (x + OFFSET_SPORTIN) /* */

Definition at line 83 of file au8820.h.

#define ADB_SPORTOUT (   x)    (x + OFFSET_SPORTOUT)

Definition at line 82 of file au8820.h.

#define ADB_SRCIN (   x)    (x + OFFSET_SRCIN)

Definition at line 77 of file au8820.h.

#define ADB_SRCOUT (   x)    (x + OFFSET_SRCOUT)

Definition at line 76 of file au8820.h.

#define ADB_SUBBUF_MASK   0x00003000 /* ADB only. */

Definition at line 30 of file au8820.h.

#define ADB_SUBBUF_SHIFT   0xc /* ADB only. */

Definition at line 31 of file au8820.h.

#define ADB_WTOUT (   x,
  y 
)    (y + OFFSET_WTOUT)

Definition at line 86 of file au8820.h.

#define AXIS_RANGE   0x1fff

Definition at line 204 of file au8820.h.

#define AXIS_SIZE   4

Definition at line 203 of file au8820.h.

#define CARD_NAME   "Aureal Vortex"

Definition at line 14 of file au8820.h.

#define CARD_NAME_SHORT   "au8820"

Definition at line 15 of file au8820.h.

#define CHIP_AU8820

Definition at line 12 of file au8820.h.

#define CTRL2_GAME_ADCMODE   0x40

Definition at line 201 of file au8820.h.

#define CTRL_GAME_EN   0x00000008

Definition at line 184 of file au8820.h.

#define CTRL_GAME_PORT   0x00000e00

Definition at line 185 of file au8820.h.

#define CTRL_IRQ_ENABLE   0x4000

Definition at line 186 of file au8820.h.

#define CTRL_MIDI_EN   0x00000001

Definition at line 182 of file au8820.h.

#define CTRL_MIDI_PORT   0x00000060

Definition at line 183 of file au8820.h.

#define DIR_MASK   0x00002000 /* Direction. */

Definition at line 37 of file au8820.h.

#define DIR_SHIFT   0xd

Definition at line 38 of file au8820.h.

#define EN_CODEC   0x00000300

Definition at line 161 of file au8820.h.

#define EN_SPDIF   0x000c0000

Definition at line 163 of file au8820.h.

#define EN_SPORT   0x00030000

Definition at line 162 of file au8820.h.

#define ENGINE_INIT   0x0L

Definition at line 194 of file au8820.h.

#define FIFO_CTRL   0x00000002 /* Allow ctrl. ? */

Definition at line 147 of file au8820.h.

#define FIFO_EMPTY   0x00000020

Definition at line 149 of file au8820.h.

#define FIFO_MASK   (FIFO_SIZE-1)

Definition at line 154 of file au8820.h.

#define FIFO_RDONLY   0x00000001

Definition at line 146 of file au8820.h.

#define FIFO_SIZE   (1<<FIFO_SIZE_BITS)

Definition at line 153 of file au8820.h.

#define FIFO_SIZE_BITS   5

Definition at line 152 of file au8820.h.

#define FIFO_U0   0x00001000 /* Unknown. */

Definition at line 150 of file au8820.h.

#define FIFO_U1   0x00010000

Definition at line 151 of file au8820.h.

#define FIFO_VALID   0x00000010

Definition at line 148 of file au8820.h.

#define FMT_MASK   0x0003c000

Definition at line 39 of file au8820.h.

#define FMT_SHIFT   0xe

Definition at line 40 of file au8820.h.

#define IE_MASK   0x00001000 /* interrupt enable. */

Definition at line 35 of file au8820.h.

#define IE_SHIFT   0xc

Definition at line 36 of file au8820.h.

#define MIX_DEFIGAIN   0x08 /* 0x8 => 6dB */

Definition at line 122 of file au8820.h.

#define MIX_DEFOGAIN   0x08

Definition at line 123 of file au8820.h.

#define MIXER_RTBASE_SIZE   0x26

Definition at line 105 of file au8820.h.

#define NR_A3D   0x00

Definition at line 21 of file au8820.h.

#define NR_ADB   0x10

Definition at line 18 of file au8820.h.

#define NR_MIXIN   0x10

Definition at line 22 of file au8820.h.

#define NR_MIXOUT   0x10

Definition at line 23 of file au8820.h.

#define NR_SRC   0x10

Definition at line 20 of file au8820.h.

#define NR_WT   0x20

Definition at line 19 of file au8820.h.

#define OFFSET_A3DIN   0x00

Definition at line 71 of file au8820.h.

#define OFFSET_A3DOUT   0x00 /* This card has no HRTF :( */

Definition at line 70 of file au8820.h.

#define OFFSET_ADBDMA   0x00

Definition at line 59 of file au8820.h.

#define OFFSET_CODECIN   0x48 /* ADB source */

Definition at line 64 of file au8820.h.

#define OFFSET_CODECOUT   0x58 /* ADB sink/target */

Definition at line 65 of file au8820.h.

#define OFFSET_EFXIN   0x40 /* source */

Definition at line 69 of file au8820.h.

#define OFFSET_EFXOUT   0x50 /* sink */

Definition at line 68 of file au8820.h.

#define OFFSET_MASK   0x00000fff

Definition at line 33 of file au8820.h.

#define OFFSET_MIXIN   0x30 /* sink */

Definition at line 63 of file au8820.h.

#define OFFSET_MIXOUT   0x20 /* source */

Definition at line 62 of file au8820.h.

#define OFFSET_SHIFT   0x0

Definition at line 34 of file au8820.h.

#define OFFSET_SPORTIN   0x50 /* source */

Definition at line 67 of file au8820.h.

#define OFFSET_SPORTOUT   0x60 /* sink */

Definition at line 66 of file au8820.h.

#define OFFSET_SRCIN   0x10 /* on channel < 0x11 */

Definition at line 61 of file au8820.h.

#define OFFSET_SRCOUT   0x10 /* on channel 0x11 */

Definition at line 60 of file au8820.h.

#define OFFSET_WTOUT   0x58 /* */

Definition at line 72 of file au8820.h.

#define POS_MASK   0x00000fff

Definition at line 28 of file au8820.h.

#define POS_SHIFT   0x0

Definition at line 29 of file au8820.h.

#define ROUTE_MASK   0x3fff

Definition at line 54 of file au8820.h.

#define VOL_MAX   0x7f /* FIXME: Not confirmed! Just guessed. */

Definition at line 116 of file au8820.h.

#define VOL_MIN   0x80 /* Input volume when muted. */

Definition at line 115 of file au8820.h.

#define VORTEX_ADB_CHNBASE   0x1099c

Definition at line 52 of file au8820.h.

#define VORTEX_ADB_CHNBASE_COUNT   22

Definition at line 53 of file au8820.h.

#define VORTEX_ADB_RTBASE   0x10800

Definition at line 50 of file au8820.h.

#define VORTEX_ADB_RTBASE_COUNT   103

Definition at line 51 of file au8820.h.

#define VORTEX_ADB_SR   0x10a00 /* Samplerates enable/disable */

Definition at line 49 of file au8820.h.

#define VORTEX_ADBDMA_BUFBASE   0x10200

Definition at line 44 of file au8820.h.

#define VORTEX_ADBDMA_BUFCFG0   0x10400

Definition at line 42 of file au8820.h.

#define VORTEX_ADBDMA_BUFCFG1   0x10404

Definition at line 43 of file au8820.h.

#define VORTEX_ADBDMA_CTRL   0x10580 /* write only, format, flags, DMA pos */

Definition at line 32 of file au8820.h.

#define VORTEX_ADBDMA_START   0x106c0 /* Which subbuffer starts */

Definition at line 45 of file au8820.h.

#define VORTEX_ADBDMA_STAT   0x105c0 /* read only, subbuffer, DMA pos */

Definition at line 27 of file au8820.h.

#define VORTEX_ADBDMA_STATUS   0x10600 /* stored at AdbDma->this_10 / 2 DWORD in size. */

Definition at line 46 of file au8820.h.

#define VORTEX_CODEC_CHN   0x11880

Definition at line 164 of file au8820.h.

#define VORTEX_CODEC_CTRL   0x11984

Definition at line 159 of file au8820.h.

#define VORTEX_CODEC_EN   0x11990

Definition at line 160 of file au8820.h.

#define VORTEX_CODEC_IO   0x11988

Definition at line 165 of file au8820.h.

#define VORTEX_CTRL   0x1280c

Definition at line 181 of file au8820.h.

#define VORTEX_CTRL2   0x1100c

Definition at line 200 of file au8820.h.

#define VORTEX_DMA_BUFFER   0x10200

Definition at line 192 of file au8820.h.

#define VORTEX_ENGINE_CTRL   0x1060c

Definition at line 193 of file au8820.h.

#define VORTEX_FIFO_ADBCTRL   0xf800 /* Control bits. */

Definition at line 144 of file au8820.h.

#define VORTEX_FIFO_ADBDATA   0xe000

Definition at line 155 of file au8820.h.

#define VORTEX_FIFO_WTCTRL   0xf840

Definition at line 145 of file au8820.h.

#define VORTEX_FIFO_WTDATA   0xe800

Definition at line 156 of file au8820.h.

#define VORTEX_GAME_AXIS   0x11010

Definition at line 202 of file au8820.h.

#define VORTEX_GAME_LEGACY   0x11008

Definition at line 199 of file au8820.h.

#define VORTEX_IRQ_CTRL   0x12804 /* Interrupt source mask. */

Definition at line 177 of file au8820.h.

#define VORTEX_IRQ_SOURCE   0x12800 /* Interrupt source flags. */

Definition at line 176 of file au8820.h.

#define VORTEX_IRQ_STAT   0x1199c

Definition at line 189 of file au8820.h.

#define VORTEX_MIDI_CMD   0x11004 /* Write command / Read status */

Definition at line 198 of file au8820.h.

#define VORTEX_MIDI_DATA   0x11000

Definition at line 197 of file au8820.h.

#define VORTEX_MIX_ENIN   0x9a00 /* Input enable bits. 4 bits wide. */

Definition at line 106 of file au8820.h.

#define VORTEX_MIX_INVOL_A   0x9000 /* in? */

Definition at line 110 of file au8820.h.

#define VORTEX_MIX_INVOL_B   0x8000 /* out? */

Definition at line 111 of file au8820.h.

#define VORTEX_MIX_SMP   0x9c00

Definition at line 107 of file au8820.h.

#define VORTEX_MIX_VOL_A   0x9800

Definition at line 112 of file au8820.h.

#define VORTEX_MIX_VOL_B   0x8800

Definition at line 113 of file au8820.h.

#define VORTEX_MIXER_CHNBASE   0x9e40

Definition at line 103 of file au8820.h.

#define VORTEX_MIXER_CLIP   0x9f80

Definition at line 102 of file au8820.h.

#define VORTEX_MIXER_RTBASE   0x9e00

Definition at line 104 of file au8820.h.

#define VORTEX_MIXER_SR   0x9f00

Definition at line 101 of file au8820.h.

#define VORTEX_SMP_TIME   0x11998

Definition at line 173 of file au8820.h.

#define VORTEX_SPDIF_CFG0   0x119D0

Definition at line 168 of file au8820.h.

#define VORTEX_SPDIF_CFG1   0x119D4

Definition at line 169 of file au8820.h.

#define VORTEX_SPDIF_FLAGS   0x1005c /* FIXME */

Definition at line 167 of file au8820.h.

#define VORTEX_SPDIF_SMPRATE   0x11994

Definition at line 170 of file au8820.h.

#define VORTEX_SRC_CHNBASE   0xcc40

Definition at line 127 of file au8820.h.

#define VORTEX_SRC_CONVRATIO   0xce40

Definition at line 139 of file au8820.h.

#define VORTEX_SRC_DATA   0xc800

Definition at line 137 of file au8820.h.

#define VORTEX_SRC_DATA0   0xc000

Definition at line 138 of file au8820.h.

#define VORTEX_SRC_DRIFT0   0xce80

Definition at line 132 of file au8820.h.

#define VORTEX_SRC_DRIFT1   0xcec0

Definition at line 133 of file au8820.h.

#define VORTEX_SRC_DRIFT2   0xcf40

Definition at line 135 of file au8820.h.

#define VORTEX_SRC_RTBASE   0xcc00

Definition at line 128 of file au8820.h.

#define VORTEX_SRC_SOURCE   0xccc4

Definition at line 129 of file au8820.h.

#define VORTEX_SRC_SOURCESIZE   0xccc8

Definition at line 130 of file au8820.h.

#define VORTEX_SRC_U0   0xce00

Definition at line 131 of file au8820.h.

#define VORTEX_SRC_U1   0xcf00

Definition at line 134 of file au8820.h.

#define VORTEX_SRC_U2   0xcf80

Definition at line 136 of file au8820.h.

#define VORTEX_SRCBLOCK_SR   0xccc0

Definition at line 126 of file au8820.h.

#define VORTEX_STAT   0x12808 /* ?? */

Definition at line 179 of file au8820.h.

#define VORTEX_WT_BASE   0x9000

Definition at line 98 of file au8820.h.

#define VORTEX_WTDMA_BUFBASE   0x10000

Definition at line 93 of file au8820.h.

#define VORTEX_WTDMA_BUFCFG0   0x10300

Definition at line 94 of file au8820.h.

#define VORTEX_WTDMA_BUFCFG1   0x10304

Definition at line 95 of file au8820.h.

#define VORTEX_WTDMA_CTRL   0x10500 /* format, DMA pos */

Definition at line 89 of file au8820.h.

#define VORTEX_WTDMA_START   0x10640 /* which subbuffer is first */

Definition at line 96 of file au8820.h.

#define VORTEX_WTDMA_STAT   0x10500 /* DMA subbuf, DMA pos */

Definition at line 90 of file au8820.h.

#define WT_SUBBUF_MASK   (0x3 << WT_SUBBUF_SHIFT)

Definition at line 91 of file au8820.h.

#define WT_SUBBUF_SHIFT   0x15

Definition at line 92 of file au8820.h.