提交 89173bd4 编写于 作者: T Takashi Iwai 提交者: Jaroslav Kysela

[ALSA] emu10k1x - Minor clean up

Modules: EMU10K1/EMU10K2 driver

Minor clean up of the emu10k1x interrupt handler code.
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 b9b4bdd9
......@@ -795,44 +795,43 @@ static irqreturn_t snd_emu10k1x_interrupt(int irq, void *dev_id,
status = inl(chip->port + IPR);
if(status) {
// capture interrupt
if(status & (IPR_CAP_0_LOOP | IPR_CAP_0_HALF_LOOP)) {
emu10k1x_voice_t *pvoice = &chip->capture_voice;
if(pvoice->use)
snd_emu10k1x_pcm_interrupt(chip, pvoice);
else
snd_emu10k1x_intr_disable(chip,
INTE_CAP_0_LOOP |
INTE_CAP_0_HALF_LOOP);
}
mask = IPR_CH_0_LOOP|IPR_CH_0_HALF_LOOP;
for(i = 0; i < 3; i++) {
if(status & mask) {
if(pvoice->use)
snd_emu10k1x_pcm_interrupt(chip, pvoice);
else
snd_emu10k1x_intr_disable(chip, mask);
}
pvoice++;
mask <<= 1;
}
if (! status)
return IRQ_NONE;
// capture interrupt
if (status & (IPR_CAP_0_LOOP | IPR_CAP_0_HALF_LOOP)) {
emu10k1x_voice_t *pvoice = &chip->capture_voice;
if(pvoice->use)
snd_emu10k1x_pcm_interrupt(chip, pvoice);
else
snd_emu10k1x_intr_disable(chip,
INTE_CAP_0_LOOP |
INTE_CAP_0_HALF_LOOP);
}
if (status & (IPR_MIDITRANSBUFEMPTY|IPR_MIDIRECVBUFEMPTY)) {
if (chip->midi.interrupt)
chip->midi.interrupt(chip, status);
else
snd_emu10k1x_intr_disable(chip, INTE_MIDITXENABLE|INTE_MIDIRXENABLE);
mask = IPR_CH_0_LOOP|IPR_CH_0_HALF_LOOP;
for (i = 0; i < 3; i++) {
if (status & mask) {
if (pvoice->use)
snd_emu10k1x_pcm_interrupt(chip, pvoice);
else
snd_emu10k1x_intr_disable(chip, mask);
}
pvoice++;
mask <<= 1;
}
// acknowledge the interrupt if necessary
if(status)
outl(status, chip->port+IPR);
// snd_printk(KERN_INFO "interrupt %08x\n", status);
if (status & (IPR_MIDITRANSBUFEMPTY|IPR_MIDIRECVBUFEMPTY)) {
if (chip->midi.interrupt)
chip->midi.interrupt(chip, status);
else
snd_emu10k1x_intr_disable(chip, INTE_MIDITXENABLE|INTE_MIDIRXENABLE);
}
// acknowledge the interrupt if necessary
outl(status, chip->port + IPR);
// snd_printk(KERN_INFO "interrupt %08x\n", status);
return IRQ_HANDLED;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册