Lines Matching defs:voice
190 * Playback voice management
197 struct snd_ymfpci_voice *voice, *voice2;
202 voice = &chip->voices[idx];
204 if (voice->use || (voice2 && voice2->use))
206 voice->use = 1;
211 voice->pcm = 1;
216 voice->synth = 1;
219 voice->midi = 1;
225 *rvoice = voice;
247 /* TODO: synth/midi voice deallocation */
273 static void snd_ymfpci_pcm_interrupt(struct snd_ymfpci *chip, struct snd_ymfpci_voice *voice)
278 ypcm = voice->ypcm;
285 pos = le32_to_cpu(voice->bank[chip->active_bank].start);
297 voice->bank[chip->active_bank].start);
311 bank = &voice->bank[next_bank];
349 voice->bank[chip->active_bank].start);
463 struct snd_ymfpci_voice *voice = ypcm->voices[voiceidx];
473 if (snd_BUG_ON(!voice))
498 ypcm->chip->src441_used == voice->number)) {
499 ypcm->chip->src441_used = voice->number;
503 if (ypcm->chip->src441_used == voice->number &&
512 bank = &voice->bank[nbank];
716 struct snd_ymfpci_voice *voice = ypcm->voices[0];
718 if (!(ypcm->running && voice))
720 return le32_to_cpu(voice->bank[chip->active_bank].start);
754 struct snd_ymfpci_voice *voice;
761 voice = &chip->voices[nvoice];
762 if (voice->interrupt)
763 voice->interrupt(chip, voice);
1660 * PCM voice volume
1817 /* per-voice volume */
2052 int voice, bank, reg;
2083 for (voice = 0; voice < YDSXG_PLAYBACK_VOICES; voice++) {
2084 chip->voices[voice].number = voice;
2085 chip->voices[voice].bank = (struct snd_ymfpci_playback_bank *)ptr;
2086 chip->voices[voice].bank_addr = ptr_addr;
2088 chip->bank_playback[voice][bank] = (struct snd_ymfpci_playback_bank *)ptr;
2097 for (voice = 0; voice < YDSXG_CAPTURE_VOICES; voice++)
2099 chip->bank_capture[voice][bank] = (struct snd_ymfpci_capture_bank *)ptr;
2107 for (voice = 0; voice < YDSXG_EFFECT_VOICES; voice++)
2109 chip->bank_effect[voice][bank] = (struct snd_ymfpci_effect_bank *)ptr;