提交 d16cd297 编写于 作者: J James Bottomley 提交者: Kyle McMartin

parisc: fix dino/gsc interrupts

The essential problem we're currently having is that dino (and gsc) is a
cascaded CPU interrupt.  Under the old __do_IRQ() handler, our CPU
interrupts basically did an ack followed by an end.  In the new scheme,
we replaced them with level handlers which do a mask, an ack and then an
unmask (but no end).  Instead, with the renaming of end to eoi, we
actually want to call the percpu flow handlers, because they actually
have all the characteristics we want.

This patch does the conversion and gets my C360 booting again.
Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
Signed-off-by: NKyle McMartin <kyle@mcmartin.ca>
上级 67bace72
...@@ -392,7 +392,7 @@ static void claim_cpu_irqs(void) ...@@ -392,7 +392,7 @@ static void claim_cpu_irqs(void)
int i; int i;
for (i = CPU_IRQ_BASE; i <= CPU_IRQ_MAX; i++) { for (i = CPU_IRQ_BASE; i <= CPU_IRQ_MAX; i++) {
set_irq_chip_and_handler(i, &cpu_interrupt_type, set_irq_chip_and_handler(i, &cpu_interrupt_type,
handle_level_irq); handle_percpu_irq);
} }
set_irq_handler(TIMER_IRQ, handle_percpu_irq); set_irq_handler(TIMER_IRQ, handle_percpu_irq);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册