* Daniel Walker <[email protected]> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]