Lines Matching refs:emu
48 static int voice_alloc(struct snd_emu10k1 *emu, int type, int number, in voice_alloc() argument
56 for (i = emu->next_free_voice, j = 0; j < NUM_G ; i += number, j += number) { in voice_alloc()
71 voice = &emu->voices[(i+k) % NUM_G]; in voice_alloc()
81 emu->next_free_voice = last_voice; in voice_alloc()
90 voice = &emu->voices[(first_voice + i) % NUM_G]; in voice_alloc()
111 *rvoice = &emu->voices[first_voice]; in voice_alloc()
115 int snd_emu10k1_voice_alloc(struct snd_emu10k1 *emu, int type, int number, in snd_emu10k1_voice_alloc() argument
126 spin_lock_irqsave(&emu->voice_lock, flags); in snd_emu10k1_voice_alloc()
128 result = voice_alloc(emu, type, number, rvoice); in snd_emu10k1_voice_alloc()
133 if (emu->get_synth_voice) { in snd_emu10k1_voice_alloc()
134 result = emu->get_synth_voice(emu); in snd_emu10k1_voice_alloc()
136 struct snd_emu10k1_voice *pvoice = &emu->voices[result]; in snd_emu10k1_voice_alloc()
145 spin_unlock_irqrestore(&emu->voice_lock, flags); in snd_emu10k1_voice_alloc()
152 int snd_emu10k1_voice_free(struct snd_emu10k1 *emu, in snd_emu10k1_voice_free() argument
159 spin_lock_irqsave(&emu->voice_lock, flags); in snd_emu10k1_voice_free()
163 snd_emu10k1_voice_init(emu, pvoice->number); in snd_emu10k1_voice_free()
164 spin_unlock_irqrestore(&emu->voice_lock, flags); in snd_emu10k1_voice_free()