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