Thread (68 messages) 68 messages, 9 authors, 2014-06-20

Re: [RFC v3 1/9] arm: fiq: arbitrary mappings from IRQ to FIQ virqs

From: Daniel Thompson <hidden>
Date: 2014-06-18 11:24:04
Also in: linux-arm-kernel, linux-serial

On 13/06/14 15:29, Rob Herring wrote:
On Thu, Jun 5, 2014 at 4:53 AM, Daniel Thompson
[off-list ref] wrote:
quoted
Currently enable_fiq/disable_fiq use a simple offset to convert an IRQ
virq into a FIQ virq. This is too inflexible for multi-platform kernels
and makes runtime error checking impossible.

We solve this by introducing a flexible mapping that allows interrupt
controllers that support FIQ to register those mappings. This, in turn,
makes it much possible for drivers in DT kernels to gain access to
FIQ virqs.
I don't get why you need a separate linux irq numbers for FIQ. Isn't
enabling FIQ simply a property of an irq like edge vs. level trigger?
Also, given the constraints on FIQ, we can't really have more that 1
IRQ assigned to FIQ.
No particular reason. I mostly went that way because it mimics the
effect of fiq_start on enable_fiq/disable_fiq whilst supporting
multi-platform.

I'm tempted to keep the radix tree in the FIQ infrastructure but rather
than messing about with shadow virqs use it to lookup a fiq_chip
structure. I think this would keep a clean separation between the ARM
centric (and slightly weird) FIQ from the generic irq code.


Daniel.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help