#define NR_WTPB 0x20 /* WT channels per each bank. */ #define NR_PCM 0x10
struct pcm_vol { struct snd_kcontrol *kctl; int active; int dma; int mixin[4]; int vol[4];
};
/* Structs */ typedefstruct { //int this_08; /* Still unknown */ int fifo_enabled; /* this_24 */ int fifo_status; /* this_1c */
u32 dma_ctrl; /* this_78 (ADB), this_7c (WT) */ int dma_unknown; /* this_74 (ADB), this_78 (WT). WDM: +8 */ int cfg0; int cfg1;
int nr_ch; /* Nr of PCM channels in use */ int type; /* Output type (ac97, a3d, spdif, i2s, dsp) */ int dma; /* Hardware DMA index. */ int dir; /* Stream Direction. */
u32 resources[5];
/* Virtual page extender stuff */ int nr_periods; int period_bytes; int period_real; int period_virt;
/* SRC */ staticvoid vortex_adb_setsrc(vortex_t * vortex, int adbdma, unsignedint cvrt, int dir);
/* DMA Engines. */ staticvoid vortex_adbdma_setbuffers(vortex_t * vortex, int adbdma, int size, int count); staticvoid vortex_adbdma_setmode(vortex_t * vortex, int adbdma, int ie, int dir, int fmt, int d,
u32 offset); staticvoid vortex_adbdma_setstartbuffer(vortex_t * vortex, int adbdma, int sb); #ifndef CHIP_AU8810 staticvoid vortex_wtdma_setbuffers(vortex_t * vortex, int wtdma, int size, int count); staticvoid vortex_wtdma_setmode(vortex_t * vortex, int wtdma, int ie, int fmt, int d, /*int e, */
u32 offset); staticvoid vortex_wtdma_setstartbuffer(vortex_t * vortex, int wtdma, int sb); #endif
staticvoid vortex_adbdma_startfifo(vortex_t * vortex, int adbdma); //static void vortex_adbdma_stopfifo(vortex_t *vortex, int adbdma); staticvoid vortex_adbdma_pausefifo(vortex_t * vortex, int adbdma); staticvoid vortex_adbdma_resumefifo(vortex_t * vortex, int adbdma); staticinlineint vortex_adbdma_getlinearpos(vortex_t * vortex, int adbdma); staticvoid vortex_adbdma_resetup(vortex_t *vortex, int adbdma);
#ifndef CHIP_AU8810 staticvoid vortex_wtdma_startfifo(vortex_t * vortex, int wtdma); staticvoid vortex_wtdma_stopfifo(vortex_t * vortex, int wtdma); staticvoid vortex_wtdma_pausefifo(vortex_t * vortex, int wtdma); staticvoid vortex_wtdma_resumefifo(vortex_t * vortex, int wtdma); staticinlineint vortex_wtdma_getlinearpos(vortex_t * vortex, int wtdma); #endif
/* Connection stuff. */ staticvoid vortex_connect_default(vortex_t * vortex, int en); staticint vortex_adb_allocroute(vortex_t * vortex, int dma, int nr_ch, int dir, int type, int subdev); staticint vortex_adb_checkinout(vortex_t * vortex, int resmap[], int out, int restype); #ifndef CHIP_AU8810 staticint vortex_wt_allocroute(vortex_t * vortex, int dma, int nr_ch); staticvoid vortex_wt_connect(vortex_t * vortex, int en); staticvoid vortex_wt_init(vortex_t * vortex); #endif
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.