[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <BANLkTim5hRZ9SromkAnY=Nbp=ntorypbjg@mail.gmail.com>
Date: Tue, 14 Jun 2011 13:17:10 +0200
From: Manuel Lauss <manuel.lauss@...glemail.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: linux-kernel@...r.kernel.org
Subject: Re: chained irq handler problems
On Tue, Jun 14, 2011 at 12:05 PM, Thomas Gleixner <tglx@...utronix.de> wrote:
> On Sun, 12 Jun 2011, Manuel Lauss wrote:
>> My question is: what are the differences in interrupt handling between the
>> "traditional" handler and the cascade handler case?
>> I also noticed that the cascade irq (the muxer irq line to the cpu) is not
>> disabled when the interrupt is serviced. Is this by design?
>
> The normal handler, which should btw never ever be setup from an
> startup callback, deals with the irq chip functions (mask, ack, eoi)
> which are assigned to that irq line. The chained handler is called
> directly from the low level entry code and bypasses the standard
> handling mechanism. That means no chip functions are called. If your
> irq chip of the primary line requires e.g. an ack, then this needs to
> be done explicitely in the chained handler itself.
I added calls to disable/enable the cascade around the call
to generic_handle_irq() and now it works (no ack necessary since
the cascade is set up as level-triggered).
Thanks!
Manuel Lauss
--
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