[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1164042079.3028.29.camel@localhost.localdomain>
Date: Mon, 20 Nov 2006 09:01:19 -0800
From: Daniel Walker <dwalker@...sta.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: linuxppc-dev@...abs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] 2.6.18-rt7: PowerPC: fix breakage in threaded fasteoi
type IRQ handlers
On Mon, 2006-11-20 at 17:42 +0100, Ingo Molnar wrote:
> * Daniel Walker <dwalker@...sta.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.
If it still calls for arch level changes, I have an aversion to those ..
Maybe if it was internal to the set_irq_chip_and_handler_name() macro?
Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists