Lines Matching refs:ch

171 static inline int emu8k_get_curpos(struct snd_emu8k_pcm *rec, int ch)
173 int val = EMU8000_CCCA_READ(rec->emu, ch) & 0xfffffff;
174 val -= rec->loop_start[ch] - 1;
269 static void setup_voice(struct snd_emu8k_pcm *rec, int ch)
275 EMU8000_DCYSUSV_WRITE(hw, ch, 0x0080);
276 EMU8000_VTFT_WRITE(hw, ch, 0x0000FFFF);
277 EMU8000_CVCF_WRITE(hw, ch, 0x0000FFFF);
278 EMU8000_PTRX_WRITE(hw, ch, 0);
279 EMU8000_CPF_WRITE(hw, ch, 0);
282 EMU8000_IP_WRITE(hw, ch, rec->pitch);
284 EMU8000_ENVVAL_WRITE(hw, ch, 0x8000);
285 EMU8000_ATKHLD_WRITE(hw, ch, 0x7f7f);
286 EMU8000_DCYSUS_WRITE(hw, ch, 0x7f7f);
287 EMU8000_ENVVOL_WRITE(hw, ch, 0x8000);
288 EMU8000_ATKHLDV_WRITE(hw, ch, 0x7f7f);
292 EMU8000_PEFE_WRITE(hw, ch, 0x0);
294 EMU8000_LFO1VAL_WRITE(hw, ch, 0x8000);
295 EMU8000_LFO2VAL_WRITE(hw, ch, 0x8000);
297 EMU8000_FMMOD_WRITE(hw, ch, 0);
299 EMU8000_TREMFRQ_WRITE(hw, ch, 0);
301 EMU8000_FM2FRQ2_WRITE(hw, ch, 0);
303 temp = rec->panning[ch];
304 temp = (temp <<24) | ((unsigned int)rec->loop_start[ch] - 1);
305 EMU8000_PSST_WRITE(hw, ch, temp);
308 temp = (temp << 24) | ((unsigned int)rec->loop_start[ch] + rec->buf_size - 1);
309 EMU8000_CSL_WRITE(hw, ch, temp);
312 temp = (temp << 28) | ((unsigned int)rec->loop_start[ch] - 1);
313 EMU8000_CCCA_WRITE(hw, ch, temp);
315 EMU8000_00A0_WRITE(hw, ch, 0);
316 EMU8000_0080_WRITE(hw, ch, 0);
322 static void start_voice(struct snd_emu8k_pcm *rec, int ch)
330 EMU8000_IFATN_WRITE(hw, ch, 0xff00);
331 EMU8000_VTFT_WRITE(hw, ch, 0xffff);
332 EMU8000_CVCF_WRITE(hw, ch, 0xffff);
334 EMU8000_DCYSUSV_WRITE(hw, ch, 0x7f7f);
337 if (rec->panning[ch] == 0)
340 aux = (-rec->panning[ch]) & 0xff;
342 EMU8000_PTRX_WRITE(hw, ch, temp);
343 EMU8000_CPF_WRITE(hw, ch, pt << 16);
357 static void stop_voice(struct snd_emu8k_pcm *rec, int ch)
362 EMU8000_DCYSUSV_WRITE(hw, ch, 0x807F);
376 int ch;
380 for (ch = 0; ch < rec->voices; ch++)
381 start_voice(rec, ch);
386 for (ch = 0; ch < rec->voices; ch++)
387 stop_voice(rec, ch);
551 int ch;
552 for (ch = 0; ch < rec->voices; ch++)
553 stop_voice(rec, ch); // to be sure
585 int err, i, ch;
598 for (ch = 0; ch < rec->voices; ch++) {
599 EMU8000_SMALW_WRITE(rec->emu, rec->loop_start[ch] + rec->buf_size);