Lines Matching refs:voices
87 ptr = snd_emu10k1_ptr_read(emu, CCCA, epcm->voices[0]->number) & 0x00ffffff;
95 static int snd_emu10k1_pcm_channel_alloc(struct snd_emu10k1_pcm * epcm, int voices)
99 if (epcm->voices[1] != NULL && voices < 2) {
100 snd_emu10k1_voice_free(epcm->emu, epcm->voices[1]);
101 epcm->voices[1] = NULL;
103 for (i = 0; i < voices; i++) {
104 if (epcm->voices[i] == NULL)
107 if (i == voices)
110 for (i = 0; i < ARRAY_SIZE(epcm->voices); i++) {
111 if (epcm->voices[i]) {
112 snd_emu10k1_voice_free(epcm->emu, epcm->voices[i]);
113 epcm->voices[i] = NULL;
118 voices,
119 &epcm->voices[0]);
123 epcm->voices[0]->epcm = epcm;
124 if (voices > 1) {
125 for (i = 1; i < voices; i++) {
126 epcm->voices[i] = &epcm->emu->voices[(epcm->voices[0]->number + i) % NUM_G];
127 epcm->voices[i]->epcm = epcm;
138 "failed extra: voices=%d, frame=%d\n",
139 voices, frame);
141 for (i = 0; i < voices; i++) {
142 snd_emu10k1_voice_free(epcm->emu, epcm->voices[i]);
143 epcm->voices[i] = NULL;
442 if (epcm->voices[1]) {
443 snd_emu10k1_voice_free(epcm->emu, epcm->voices[1]);
444 epcm->voices[1] = NULL;
446 if (epcm->voices[0]) {
447 snd_emu10k1_voice_free(epcm->emu, epcm->voices[0]);
448 epcm->voices[0] = NULL;
474 if (epcm->voices[i]) {
475 snd_emu10k1_voice_free(epcm->emu, epcm->voices[i]);
476 epcm->voices[i] = NULL;
506 snd_emu10k1_pcm_init_voice(emu, 1, 0, epcm->voices[0],
509 if (epcm->voices[1])
510 snd_emu10k1_pcm_init_voice(emu, 0, 0, epcm->voices[1],
529 * the kX driver leaves some space between voices
537 snd_emu10k1_pcm_init_voice(emu, 1, 0, epcm->voices[0],
543 snd_emu10k1_pcm_init_voice(emu, 0, 0, epcm->voices[i],
755 snd_emu10k1_playback_invalidate_cache(emu, 0, epcm->voices[0]);
762 snd_emu10k1_playback_prepare_voice(emu, epcm->voices[0], 1, 0, mix);
763 snd_emu10k1_playback_prepare_voice(emu, epcm->voices[1], 0, 0, mix);
765 snd_emu10k1_playback_trigger_voice(emu, epcm->voices[0], 1, 0);
766 snd_emu10k1_playback_trigger_voice(emu, epcm->voices[1], 0, 0);
774 snd_emu10k1_playback_stop_voice(emu, epcm->voices[0]);
775 snd_emu10k1_playback_stop_voice(emu, epcm->voices[1]);
864 ptr = snd_emu10k1_ptr_read(emu, CCCA, epcm->voices[0]->number) & 0x00ffffff;
900 /* prepare voices */
902 snd_emu10k1_playback_invalidate_cache(emu, 0, epcm->voices[i]);
909 snd_emu10k1_playback_prepare_voice(emu, epcm->voices[0], 0, 0,
912 snd_emu10k1_playback_prepare_voice(emu, epcm->voices[i], 0, 0,
914 snd_emu10k1_playback_trigger_voice(emu, epcm->voices[0], 0, 0);
917 snd_emu10k1_playback_trigger_voice(emu, epcm->voices[i], 0, 0);
925 snd_emu10k1_playback_stop_voice(emu, epcm->voices[i]);
1797 /* Pavel Hofman - 32 voices will be used for
1808 /* For emu1010, the control has to set 32 upper bits (voices)
1809 * out of the 64 bits (voices) to true for the 16-channels capture