[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.02.1106222233580.11814@ionos>
Date: Wed, 22 Jun 2011 23:32:03 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Mark Brown <broonie@...nsource.wolfsonmicro.com>
cc: LKML <linux-kernel@...r.kernel.org>,
Russell King <linux@....linux.org.uk>
Subject: Re: Simulating level triggered interrupts with edges
On Wed, 22 Jun 2011, Mark Brown wrote:
> I've run into a couple of cases recently where a system has had a device
> with a level triggered interrupt connected to an edge triggered
> interrupt controller. Ignoring for the minute the hardware design
> concerns one might have this strikes me as something I'd expect the
> kernel to take a reasonable stab at handling in common code since it
> should be possible to have the core simply call the level triggered
> handler repeatedly until it returns IRQ_NONE when used with an edge
> based interrupt. Obviously this leaves something to be desired but
> something like this seems to be the most sensible way to deal with such
> systems.
>
> Is this supported by the current code? I can't see any such support but
> that doesn't mean I'm not missing it. If it is not supported and I'm
> not missing some much bigger problem with the idea can you make any
> suggestions about the least bad way to allow systems to do this?
No, we don't have support for this. Drivers should be careful about
such issues, but yes I can understand that we should think about
having support in the core code for such HW crap instead of cluttering
the drivers with such issues.
Though it's non-trivial. Think threaded interrupts, where we cannot
deal with that in handle_irq_edge(). I have no immediate idea how to
solve that at the core code, but feel free to have a stab.
Thanks,
tglx
--
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