Lines Matching refs:emu
34 struct snd_emu10k1 *emu = dev_id; in snd_emu10k1_interrupt() local
39 while (((status = inl(emu->port + IPR)) != 0) && (timeout < 1000)) { in snd_emu10k1_interrupt()
44 dev_info(emu->card->dev, in snd_emu10k1_interrupt()
49 dev_err(emu->card->dev, "interrupt: PCI error\n"); in snd_emu10k1_interrupt()
50 snd_emu10k1_intr_disable(emu, INTE_PCIERRORENABLE); in snd_emu10k1_interrupt()
54 if (emu->hwvol_interrupt) in snd_emu10k1_interrupt()
55 emu->hwvol_interrupt(emu, status); in snd_emu10k1_interrupt()
57 snd_emu10k1_intr_disable(emu, INTE_VOLINCRENABLE|INTE_VOLDECRENABLE|INTE_MUTEENABLE); in snd_emu10k1_interrupt()
64 struct snd_emu10k1_voice *pvoice = emu->voices; in snd_emu10k1_interrupt()
66 val = snd_emu10k1_ptr_read(emu, CLIPL, 0); in snd_emu10k1_interrupt()
69 val = snd_emu10k1_ptr_read(emu, CLIPH, 0); in snd_emu10k1_interrupt()
72 pvoice->interrupt(emu, pvoice); in snd_emu10k1_interrupt()
73 snd_emu10k1_voice_intr_ack(emu, voice); in snd_emu10k1_interrupt()
75 snd_emu10k1_voice_intr_disable(emu, voice); in snd_emu10k1_interrupt()
81 val = snd_emu10k1_ptr_read(emu, HLIPL, 0); in snd_emu10k1_interrupt()
84 val = snd_emu10k1_ptr_read(emu, HLIPH, 0); in snd_emu10k1_interrupt()
87 pvoice->interrupt(emu, pvoice); in snd_emu10k1_interrupt()
88 snd_emu10k1_voice_half_loop_intr_ack(emu, voice); in snd_emu10k1_interrupt()
90 snd_emu10k1_voice_half_loop_intr_disable(emu, voice); in snd_emu10k1_interrupt()
100 if (emu->capture_interrupt) in snd_emu10k1_interrupt()
101 emu->capture_interrupt(emu, status); in snd_emu10k1_interrupt()
103 snd_emu10k1_intr_disable(emu, INTE_ADCBUFENABLE); in snd_emu10k1_interrupt()
107 if (emu->capture_mic_interrupt) in snd_emu10k1_interrupt()
108 emu->capture_mic_interrupt(emu, status); in snd_emu10k1_interrupt()
110 snd_emu10k1_intr_disable(emu, INTE_MICBUFENABLE); in snd_emu10k1_interrupt()
114 if (emu->capture_efx_interrupt) in snd_emu10k1_interrupt()
115 emu->capture_efx_interrupt(emu, status); in snd_emu10k1_interrupt()
117 snd_emu10k1_intr_disable(emu, INTE_EFXBUFENABLE); in snd_emu10k1_interrupt()
121 if (emu->midi.interrupt) in snd_emu10k1_interrupt()
122 emu->midi.interrupt(emu, status); in snd_emu10k1_interrupt()
124 snd_emu10k1_intr_disable(emu, INTE_MIDITXENABLE|INTE_MIDIRXENABLE); in snd_emu10k1_interrupt()
128 if (emu->midi2.interrupt) in snd_emu10k1_interrupt()
129 emu->midi2.interrupt(emu, status); in snd_emu10k1_interrupt()
131 snd_emu10k1_intr_disable(emu, INTE_A_MIDITXENABLE2|INTE_A_MIDIRXENABLE2); in snd_emu10k1_interrupt()
135 if (emu->timer) in snd_emu10k1_interrupt()
136 snd_timer_interrupt(emu->timer, emu->timer->sticks); in snd_emu10k1_interrupt()
138 snd_emu10k1_intr_disable(emu, INTE_INTERVALTIMERENB); in snd_emu10k1_interrupt()
142 if (emu->spdif_interrupt) in snd_emu10k1_interrupt()
143 emu->spdif_interrupt(emu, status); in snd_emu10k1_interrupt()
145 snd_emu10k1_intr_disable(emu, INTE_GPSPDIFENABLE|INTE_CDSPDIFENABLE); in snd_emu10k1_interrupt()
149 if (emu->dsp_interrupt) in snd_emu10k1_interrupt()
150 emu->dsp_interrupt(emu); in snd_emu10k1_interrupt()
152 snd_emu10k1_intr_disable(emu, INTE_FXDSPENABLE); in snd_emu10k1_interrupt()
156 while ((status2 = inl(emu->port + IPR2)) != 0) { in snd_emu10k1_interrupt()
158 struct snd_emu10k1_voice *pvoice = &(emu->p16v_voices[0]); in snd_emu10k1_interrupt()
159 struct snd_emu10k1_voice *cvoice = &(emu->p16v_capture_voice); in snd_emu10k1_interrupt()
167 dev_err(emu->card->dev, in snd_emu10k1_interrupt()
180 outl(orig_status2, emu->port + IPR2); /* ack all */ in snd_emu10k1_interrupt()
187 dev_err(emu->card->dev, in snd_emu10k1_interrupt()
203 if (emu->audigy) in snd_emu10k1_interrupt()
205 snd_emu10k1_intr_disable(emu, bits); in snd_emu10k1_interrupt()
207 outl(orig_status, emu->port + IPR); /* ack all */ in snd_emu10k1_interrupt()
210 dev_info(emu->card->dev, "emu10k1 irq routine failure\n"); in snd_emu10k1_interrupt()