[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