Subject: Re: Interrupts
To: Michael <macallan18@earthlink.net>
From: Tim Kelly <hockey@dialectronics.com>
List: port-macppc
Date: 12/06/2004 14:01:32
At 1:57 PM -0500 12/6/04, Michael wrote:
> ci->ci_cpl = pcpl;
> is->is_ev.ev_count++;
>
> if (have_openpic)
> openpic_enable_irq(is->is_hwirq, is->is_type);
>#if 1
> if (!have_openpic)
> gc_enable_irq(is->is_hwirq);
>#endif
>
>As I said earlier I changed gc_enable_irq() to collect lost interrupts and
>mark them pending again so this will loop over the handlers again if it
>finds one.
Ah, bummer. I had this in the extintr.c patch I posted Friday for the MP
problem but I messed up with not sharing the virqs for shared hwirqs. If I
hadn't messed that up the rest probably would have worked and not needed
reverting
is = &intrsources[irq];
- if (!have_openpic)
- gc_enable_irq(is->is_hwirq);
-
<snip>
@@ -714,7 +786,10 @@
ci->ci_cpl = pcpl;
is->is_ev.ev_count++;
- if (have_openpic)
+
+ if (!have_openpic)
+ gc_enable_irq(is->is_hwirq);
+ else
openpic_enable_irq(is->is_hwirq, is->is_type);
tim