Thread (13 messages) flat view 13 messages, 5 authors, 2014-08-27

Re: [RESEND PATCH v2 1/4] irqchip: gic: Change irq type check when extension is present

From: Marc Zyngier <hidden>
Date: 2014-08-27 10:36:42
Also in: linux-arm-kernel, lkml

Hi Jan,

On 27/08/14 10:55, Jan Lübbe wrote:
Marc,

On Fri, 2014-08-22 at 12:09 +0100, Marc Zyngier wrote:
quoted
Here, you're using it to program something that sits between the
device and the GIC. This is a separate block, with its own hardware
configuration, that modifies the interrupt signal. This should be
reflected in the device-tree and the code paths.

You can probably model this as a separate irqchip for the few
interrupts that require this, or have it configured at boot time
(assuming the configuration never changes).
It seems to me that using a separate irqchip for a simple inverter would
add the run-time overhead of passing through wrapper functions on every
IRQ. Do you have an idea how this could be avoided without using the
gic_arch_extn feature?
Well, from the rather vague description, it could be slightly more than
a simple inverter, like being able to generate interrupts on both rising
and falling edges. Sorry, but this is not the GIC as ARM has architected it.

Yes, the additional irqchip adds some overhead. But the DT has to
reflect the fact that there is something on the interrupt path that does
some form of conversion.
As in the DT the actual IRQ polarity should be used, simply configuring
the HW IRQ polarity in the bootloader is not enough without telling the
GIC driver which polarity is supported on which IRQ, right?
Looking a bit closer at things, what you describe in DT is the IRQ
polarity the interrupt controller sees. Nothing else should interpret
that field.

So it is legal (IMO) to have a device with an interrupt specifier
describing a rising edge interrupt, and yet have the device generating a
falling edge, with Mediatek's special sauce doing the conversion in between.

Something will have to configure the polarity widget though, but that
can be left outside of the GIC.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help