Lines Matching defs:vortex

13 static void vortex_fifo_setwtvalid(vortex_t * vortex, int fifo, int en);
14 static void vortex_connection_adb_mixin(vortex_t * vortex, int en,
18 static void vortex_connection_mixin_mix(vortex_t * vortex, int en,
21 static void vortex_fifo_wtinitialize(vortex_t * vortex, int fifo, int j);
22 static int vortex_wt_SetReg(vortex_t * vortex, unsigned char reg, int wt,
28 static void vortex_wt_setstereo(vortex_t * vortex, u32 wt, u32 stereo)
32 //temp = hwread(vortex->mmio, 0x80 + ((wt >> 0x5)<< 0xf) + (((wt & 0x1f) >> 1) << 2));
33 temp = hwread(vortex->mmio, WT_STEREO(wt));
35 //hwwrite(vortex->mmio, 0x80 + ((wt >> 0x5)<< 0xf) + (((wt & 0x1f) >> 1) << 2), temp);
36 hwwrite(vortex->mmio, WT_STEREO(wt), temp);
40 static void vortex_wt_setdsout(vortex_t * vortex, u32 wt, int en)
45 temp = hwread(vortex->mmio, WT_DSREG((wt >= 0x20) ? 1 : 0));
50 hwwrite(vortex->mmio, WT_DSREG((wt >= 0x20) ? 1 : 0), temp);
54 static int vortex_wt_allocroute(vortex_t * vortex, int wt, int nr_ch)
56 wt_voice_t *voice = &(vortex->wt_voice[wt]);
61 vortex_fifo_wtinitialize(vortex, wt, 1);
62 vortex_fifo_setwtvalid(vortex, wt, 1);
63 vortex_wt_setstereo(vortex, wt, nr_ch - 1);
65 vortex_fifo_setwtvalid(vortex, wt, 0);
68 vortex_wt_setdsout(vortex, wt, 1);
70 hwwrite(vortex->mmio, WT_SRAMP(0), 0x880000);
71 //hwwrite(vortex->mmio, WT_GMODE(0), 0xffffffff);
73 hwwrite(vortex->mmio, WT_SRAMP(1), 0x880000);
74 //hwwrite(vortex->mmio, WT_GMODE(1), 0xffffffff);
76 hwwrite(vortex->mmio, WT_PARM(wt, 0), 0);
77 hwwrite(vortex->mmio, WT_PARM(wt, 1), 0);
78 hwwrite(vortex->mmio, WT_PARM(wt, 2), 0);
80 temp = hwread(vortex->mmio, WT_PARM(wt, 3));
81 dev_dbg(vortex->card->dev, "WT PARM3: %x\n", temp);
82 //hwwrite(vortex->mmio, WT_PARM(wt, 3), temp);
84 hwwrite(vortex->mmio, WT_DELAY(wt, 0), 0);
85 hwwrite(vortex->mmio, WT_DELAY(wt, 1), 0);
86 hwwrite(vortex->mmio, WT_DELAY(wt, 2), 0);
87 hwwrite(vortex->mmio, WT_DELAY(wt, 3), 0);
89 dev_dbg(vortex->card->dev, "WT GMODE: %x\n",
90 hwread(vortex->mmio, WT_GMODE(wt)));
92 hwwrite(vortex->mmio, WT_PARM(wt, 2), 0xffffffff);
93 hwwrite(vortex->mmio, WT_PARM(wt, 3), 0xcff1c810);
96 hwwrite(vortex->mmio, WT_PARM(wt, 0), voice->parm0);
97 hwwrite(vortex->mmio, WT_PARM(wt, 1), voice->parm1);
98 dev_dbg(vortex->card->dev, "WT GMODE 2 : %x\n",
99 hwread(vortex->mmio, WT_GMODE(wt)));
104 static void vortex_wt_connect(vortex_t * vortex, int en)
118 vortex_adb_checkinout(vortex,
119 vortex->fixed_res, en,
121 vortex->mixwt[(i * NR_WTROUTES) + ii] = mix;
123 vortex_route(vortex, en, 0x11,
126 vortex_connection_mixin_mix(vortex, en, mix,
127 vortex->mixplayb[ii % 2], 0);
128 if (VORTEX_IS_QUAD(vortex))
129 vortex_connection_mixin_mix(vortex, en,
131 vortex->mixplayb[2 +
136 hwwrite(vortex->mmio, WT_RUN(i), 1);
142 static int vortex_wt_GetReg(vortex_t * vortex, char reg, int wt)
147 return hwread(vortex->mmio, WT_PARM(wt, 3));
150 return hwread(vortex->mmio, WT_GMODE(wt));
158 vortex_wt_SetReg2(vortex_t * vortex, unsigned char reg, int wt,
174 hwwrite(vortex->mmio, eax, c);
182 vortex_wt_SetReg(vortex_t * vortex, unsigned char reg, int wt,
189 dev_warn(vortex->card->dev,
196 dev_err(vortex->card->dev,
208 pr_debug( "vortex: WT SetReg(0x%x) = 0x%08x\n",
211 hwwrite(vortex->mmio, WT_RUN(wt), val);
215 pr_debug( "vortex: WT SetReg(0x%x) = 0x%08x\n",
218 hwwrite(vortex->mmio, WT_PARM(wt, 0), val);
222 pr_debug( "vortex: WT SetReg(0x%x) = 0x%08x\n",
225 hwwrite(vortex->mmio, WT_PARM(wt, 1), val);
229 pr_debug( "vortex: WT SetReg(0x%x) = 0x%08x\n",
232 hwwrite(vortex->mmio, WT_PARM(wt, 2), val);
236 pr_debug( "vortex: WT SetReg(0x%x) = 0x%08x\n",
239 hwwrite(vortex->mmio, WT_PARM(wt, 3), val);
243 pr_debug( "vortex: WT SetReg(0x%x) = 0x%08x\n",
246 hwwrite(vortex->mmio, WT_MUTE(wt), val);
251 pr_debug( "vortex: WT SetReg(0x%x) = 0x%08x\n",
254 hwwrite(vortex->mmio, WT_DELAY(wt, 3), val);
255 hwwrite(vortex->mmio, WT_DELAY(wt, 2), val);
256 hwwrite(vortex->mmio, WT_DELAY(wt, 1), val);
257 hwwrite(vortex->mmio, WT_DELAY(wt, 0), val);
279 pr_debug( "vortex: WT SetReg(0x%x) = 0x%08x\n", ecx, (int)val);
281 hwwrite(vortex->mmio, ecx, val);
285 static void vortex_wt_init(vortex_t * vortex)
304 vortex_wt_SetReg(vortex, 0xc, edi, 0); /* ds_reg */
305 vortex_wt_SetReg(vortex, 0xa, edi, var10); /* ctrl */
306 vortex_wt_SetReg(vortex, 0x9, edi, var4); /* mramp */
307 vortex_wt_SetReg(vortex, 0x8, edi, varc); /* aramp */
308 vortex_wt_SetReg(vortex, 0x5, edi, var8); /* sramp */
312 vortex_wt_SetReg(vortex, 0x4, edi, 0); /* param 3 0x20c */
313 vortex_wt_SetReg(vortex, 0x3, edi, 0); /* param 2 0x208 */
314 vortex_wt_SetReg(vortex, 0x2, edi, 0); /* param 1 0x204 */
315 vortex_wt_SetReg(vortex, 0x1, edi, 0); /* param 0 0x200 */
316 vortex_wt_SetReg(vortex, 0xb, edi, 0); /* delay 0x400 - 0x40c */
320 vortex_wt_SetReg(vortex, 0xa, edi, var10); /* ctrl */
325 static void vortex_wt_SetVolume(vortex_t * vortex, int wt, int vol[])
327 wt_voice_t *voice = &(vortex->wt_voice[wt]);
337 hwwrite(vortex, WT_PARM(wt, 0), voice->parm0);
338 hwwrite(vortex, WT_PARM(wt, 1), voice->parm0);
354 hwwrite(vortex, WT_PARM(wt, 3), voice->parm3);
358 static void vortex_wt_SetFrequency(vortex_t * vortex, int wt, unsigned int sr)
360 wt_voice_t *voice = &(vortex->wt_voice[wt]);
395 hwwrite(vortex->mmio, WT_PARM(wt, 0), voice->parm0);
396 hwwrite(vortex->mmio, WT_PARM(wt, 1), voice->parm1);