[PATCH] ipic: change ack operation that register isaccessedonly when needed
Benjamin Herrenschmidt
benh at kernel.crashing.org
Tue Dec 4 18:39:05 EST 2007
On Tue, 2007-12-04 at 15:23 +0800, Li Yang wrote:
> > -----Original Message-----
> > From: Benjamin Herrenschmidt [mailto:benh at kernel.crashing.org]
> > Sent: Tuesday, December 04, 2007 10:16 AM
> > To: Li Yang
> > Cc: galak at kernel.crashing.org; linuxppc-dev at ozlabs.org
> > Subject: RE: [PATCH] ipic: change ack operation that register
> > isaccessedonly when needed
> >
> >
> > On Tue, 2007-12-04 at 10:06 +0800, Li Yang wrote:
> > > > That should be handled by the higher level flow handler.
> > The generic
> > > > edge one calls ack and the level one mask_and_ack.
> > > > Just make them do the right thing, no need to test for
> > the flow type
> > > > in the low level function.
> > >
> > > But actually ack is called by edge and per cpu handlers.
> > Mask_and_ack
> > > is also called by edge handler when the same interrupt is
> > already in
> > > progress. So I don't think that ack/mask_and_ack
> > implicates flow type
> > > by design.
> >
> > They do and you can pass different irq_chip with different
> > mask/ack routines if necessary.
> Hi Ben,
>
> I mean that mask_ack_irq() routine is used by both generic
> handle_edge_irq() and handle_level_irq(). mask_ack_irq doesn't know if
> the flow type is level or edge. Do you suggest to use different
> irq_chip for level and edge?
That would be an option. I dislike testing the flow type in the fast
path.
Ben.
More information about the Linuxppc-dev
mailing list