Lines Matching refs:voices
214 voice = &chip->voices[idx];
215 voice2 = pair ? &chip->voices[idx+1] : NULL;
333 if (ypcm->voices[1])
334 bank = &ypcm->voices[1]->bank[next_bank];
386 if (ypcm->voices[0] == NULL) {
394 chip->ctrl_playback[ypcm->voices[0]->number + 1] = cpu_to_le32(ypcm->voices[0]->bank_addr);
395 if (ypcm->voices[1] != NULL && !ypcm->use_441_slot)
396 chip->ctrl_playback[ypcm->voices[1]->number + 1] = cpu_to_le32(ypcm->voices[1]->bank_addr);
407 chip->ctrl_playback[ypcm->voices[0]->number + 1] = 0;
408 if (ypcm->voices[1] != NULL && !ypcm->use_441_slot)
409 chip->ctrl_playback[ypcm->voices[1]->number + 1] = 0;
454 static int snd_ymfpci_pcm_voice_alloc(struct snd_ymfpci_pcm *ypcm, int voices)
458 if (ypcm->voices[1] != NULL && voices < 2) {
459 snd_ymfpci_voice_free(ypcm->chip, ypcm->voices[1]);
460 ypcm->voices[1] = NULL;
462 if (voices == 1 && ypcm->voices[0] != NULL)
464 if (voices == 2 && ypcm->voices[0] != NULL && ypcm->voices[1] != NULL)
466 if (voices > 1) {
467 if (ypcm->voices[0] != NULL && ypcm->voices[1] == NULL) {
468 snd_ymfpci_voice_free(ypcm->chip, ypcm->voices[0]);
469 ypcm->voices[0] = NULL;
472 err = snd_ymfpci_voice_alloc(ypcm->chip, YMFPCI_PCM, voices > 1, &ypcm->voices[0]);
475 ypcm->voices[0]->ypcm = ypcm;
476 ypcm->voices[0]->interrupt = snd_ymfpci_pcm_interrupt;
477 if (voices > 1) {
478 ypcm->voices[1] = &ypcm->chip->voices[ypcm->voices[0]->number + 1];
479 ypcm->voices[1]->ypcm = ypcm;
488 struct snd_ymfpci_voice *voice = ypcm->voices[voiceidx];
650 if (ypcm->voices[1]) {
651 snd_ymfpci_voice_free(chip, ypcm->voices[1]);
652 ypcm->voices[1] = NULL;
654 if (ypcm->voices[0]) {
655 snd_ymfpci_voice_free(chip, ypcm->voices[0]);
656 ypcm->voices[0] = NULL;
743 struct snd_ymfpci_voice *voice = ypcm->voices[0];
788 voice = &chip->voices[nvoice];
2133 chip->voices[voice].number = voice;
2134 chip->voices[voice].bank = (struct snd_ymfpci_playback_bank *)ptr;
2135 chip->voices[voice].bank_addr = ptr_addr;