lkml.org 
[lkml]   [2011]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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





\
 
 \ /
  Last update: 2011-06-22 23:35    [W:0.097 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site