[PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi type IRQ handlers

Ingo Molnar mingo at elte.hu
Tue Nov 21 03:42:13 EST 2006


* Daniel Walker <dwalker at mvista.com> wrote:

> It makes porting to powerpc for instance harder because some 
> controllers have ack(), and some don't.. Some have mask(), and some 
> don't.. So you end up with what Sergei is doing which is flat out make 
> ack == eoi .. Where you have multiple irq chip types each one really 
> needs an individual evaluation ..

this isnt really a problem. The current situation is simply hacky, 
because right now there's no 'threaded' flow type at all. The x86 code 
just moves the code away from fasteoi:

 #ifdef CONFIG_PREEMPT_HARDIRQS
                set_irq_chip_and_handler_name(irq, &ioapic_chip,
                                            handle_level_irq, "level-threaded");#else
                set_irq_chip_and_handler_name(irq, &ioapic_chip,
                                              handle_fasteoi_irq, "fasteoi");
 #endif

what should happen is a handle_thread_irq irq-flow handler that will 
first mask, and then ack or eoi (whichever callbacks is available), and 
thus can and will handle both fasteoi, edge and level irqs.

	Ingo



More information about the Linuxppc-dev mailing list