• Home
  • Raw
  • Download

Lines Matching refs:vortex

25 static void vortex_fifo_setwtvalid(vortex_t * vortex, int fifo, int en);
26 static void vortex_connection_adb_mixin(vortex_t * vortex, int en,
30 static void vortex_connection_mixin_mix(vortex_t * vortex, int en,
33 static void vortex_fifo_wtinitialize(vortex_t * vortex, int fifo, int j);
34 static int vortex_wt_SetReg(vortex_t * vortex, unsigned char reg, int wt,
40 static void vortex_wt_setstereo(vortex_t * vortex, u32 wt, u32 stereo) in vortex_wt_setstereo() argument
45 temp = hwread(vortex->mmio, WT_STEREO(wt)); in vortex_wt_setstereo()
48 hwwrite(vortex->mmio, WT_STEREO(wt), temp); in vortex_wt_setstereo()
52 static void vortex_wt_setdsout(vortex_t * vortex, u32 wt, int en) in vortex_wt_setdsout() argument
57 temp = hwread(vortex->mmio, WT_DSREG((wt >= 0x20) ? 1 : 0)); in vortex_wt_setdsout()
62 hwwrite(vortex->mmio, WT_DSREG((wt >= 0x20) ? 1 : 0), temp); in vortex_wt_setdsout()
66 static int vortex_wt_allocroute(vortex_t * vortex, int wt, int nr_ch) in vortex_wt_allocroute() argument
68 wt_voice_t *voice = &(vortex->wt_voice[wt]); in vortex_wt_allocroute()
73 vortex_fifo_wtinitialize(vortex, wt, 1); in vortex_wt_allocroute()
74 vortex_fifo_setwtvalid(vortex, wt, 1); in vortex_wt_allocroute()
75 vortex_wt_setstereo(vortex, wt, nr_ch - 1); in vortex_wt_allocroute()
77 vortex_fifo_setwtvalid(vortex, wt, 0); in vortex_wt_allocroute()
80 vortex_wt_setdsout(vortex, wt, 1); in vortex_wt_allocroute()
82 hwwrite(vortex->mmio, WT_SRAMP(0), 0x880000); in vortex_wt_allocroute()
85 hwwrite(vortex->mmio, WT_SRAMP(1), 0x880000); in vortex_wt_allocroute()
88 hwwrite(vortex->mmio, WT_PARM(wt, 0), 0); in vortex_wt_allocroute()
89 hwwrite(vortex->mmio, WT_PARM(wt, 1), 0); in vortex_wt_allocroute()
90 hwwrite(vortex->mmio, WT_PARM(wt, 2), 0); in vortex_wt_allocroute()
92 temp = hwread(vortex->mmio, WT_PARM(wt, 3)); in vortex_wt_allocroute()
96 hwwrite(vortex->mmio, WT_DELAY(wt, 0), 0); in vortex_wt_allocroute()
97 hwwrite(vortex->mmio, WT_DELAY(wt, 1), 0); in vortex_wt_allocroute()
98 hwwrite(vortex->mmio, WT_DELAY(wt, 2), 0); in vortex_wt_allocroute()
99 hwwrite(vortex->mmio, WT_DELAY(wt, 3), 0); in vortex_wt_allocroute()
101 printk(KERN_DEBUG "vortex: WT GMODE: %x\n", hwread(vortex->mmio, WT_GMODE(wt))); in vortex_wt_allocroute()
103 hwwrite(vortex->mmio, WT_PARM(wt, 2), 0xffffffff); in vortex_wt_allocroute()
104 hwwrite(vortex->mmio, WT_PARM(wt, 3), 0xcff1c810); in vortex_wt_allocroute()
107 hwwrite(vortex->mmio, WT_PARM(wt, 0), voice->parm0); in vortex_wt_allocroute()
108 hwwrite(vortex->mmio, WT_PARM(wt, 1), voice->parm1); in vortex_wt_allocroute()
109 printk(KERN_DEBUG "vortex: WT GMODE 2 : %x\n", hwread(vortex->mmio, WT_GMODE(wt))); in vortex_wt_allocroute()
114 static void vortex_wt_connect(vortex_t * vortex, int en) in vortex_wt_connect() argument
128 vortex_adb_checkinout(vortex, in vortex_wt_connect()
129 vortex->fixed_res, en, in vortex_wt_connect()
131 vortex->mixwt[(i * NR_WTROUTES) + ii] = mix; in vortex_wt_connect()
133 vortex_route(vortex, en, 0x11, in vortex_wt_connect()
136 vortex_connection_mixin_mix(vortex, en, mix, in vortex_wt_connect()
137 vortex->mixplayb[ii % 2], 0); in vortex_wt_connect()
138 if (VORTEX_IS_QUAD(vortex)) in vortex_wt_connect()
139 vortex_connection_mixin_mix(vortex, en, in vortex_wt_connect()
141 vortex->mixplayb[2 + in vortex_wt_connect()
146 hwwrite(vortex->mmio, WT_RUN(i), 1); in vortex_wt_connect()
152 static int vortex_wt_GetReg(vortex_t * vortex, char reg, int wt)
157 return hwread(vortex->mmio, WT_PARM(wt, 3));
160 return hwread(vortex->mmio, WT_GMODE(wt));
168 vortex_wt_SetReg2(vortex_t * vortex, unsigned char reg, int wt,
192 vortex_wt_SetReg(vortex_t * vortex, unsigned char reg, int wt, in vortex_wt_SetReg() argument
220 hwwrite(vortex->mmio, WT_RUN(wt), val); in vortex_wt_SetReg()
228 hwwrite(vortex->mmio, WT_PARM(wt, 0), val); in vortex_wt_SetReg()
236 hwwrite(vortex->mmio, WT_PARM(wt, 1), val); in vortex_wt_SetReg()
244 hwwrite(vortex->mmio, WT_PARM(wt, 2), val); in vortex_wt_SetReg()
252 hwwrite(vortex->mmio, WT_PARM(wt, 3), val); in vortex_wt_SetReg()
260 hwwrite(vortex->mmio, WT_MUTE(wt), val); in vortex_wt_SetReg()
269 hwwrite(vortex->mmio, WT_DELAY(wt, 3), val); in vortex_wt_SetReg()
270 hwwrite(vortex->mmio, WT_DELAY(wt, 2), val); in vortex_wt_SetReg()
271 hwwrite(vortex->mmio, WT_DELAY(wt, 1), val); in vortex_wt_SetReg()
272 hwwrite(vortex->mmio, WT_DELAY(wt, 0), val); in vortex_wt_SetReg()
299 hwwrite(vortex->mmio, ecx, val); in vortex_wt_SetReg()
303 static void vortex_wt_init(vortex_t * vortex) in vortex_wt_init() argument
322 vortex_wt_SetReg(vortex, 0xc, edi, 0); /* ds_reg */ in vortex_wt_init()
323 vortex_wt_SetReg(vortex, 0xa, edi, var10); /* ctrl */ in vortex_wt_init()
324 vortex_wt_SetReg(vortex, 0x9, edi, var4); /* mramp */ in vortex_wt_init()
325 vortex_wt_SetReg(vortex, 0x8, edi, varc); /* aramp */ in vortex_wt_init()
326 vortex_wt_SetReg(vortex, 0x5, edi, var8); /* sramp */ in vortex_wt_init()
330 vortex_wt_SetReg(vortex, 0x4, edi, 0); /* param 3 0x20c */ in vortex_wt_init()
331 vortex_wt_SetReg(vortex, 0x3, edi, 0); /* param 2 0x208 */ in vortex_wt_init()
332 vortex_wt_SetReg(vortex, 0x2, edi, 0); /* param 1 0x204 */ in vortex_wt_init()
333 vortex_wt_SetReg(vortex, 0x1, edi, 0); /* param 0 0x200 */ in vortex_wt_init()
334 vortex_wt_SetReg(vortex, 0xb, edi, 0); /* delay 0x400 - 0x40c */ in vortex_wt_init()
338 vortex_wt_SetReg(vortex, 0xa, edi, var10); /* ctrl */ in vortex_wt_init()
343 static void vortex_wt_SetVolume(vortex_t * vortex, int wt, int vol[])
345 wt_voice_t *voice = &(vortex->wt_voice[wt]);
355 hwwrite(vortex, WT_PARM(wt, 0), voice->parm0);
356 hwwrite(vortex, WT_PARM(wt, 1), voice->parm0);
372 hwwrite(vortex, WT_PARM(wt, 3), voice->parm3);
376 static void vortex_wt_SetFrequency(vortex_t * vortex, int wt, unsigned int sr)
378 wt_voice_t *voice = &(vortex->wt_voice[wt]);
413 hwwrite(vortex->mmio, WT_PARM(wt, 0), voice->parm0);
414 hwwrite(vortex->mmio, WT_PARM(wt, 1), voice->parm1);