Thread (8 messages) 8 messages, 3 authors, 2011-09-30

Re: Handling multiple GPIO controllers in 8xxx GPIO driver

From: Felix Radensky <hidden>
Date: 2011-09-27 22:06:51

Hi Grant,

On 09/27/2011 09:29 PM, Grant Likely wrote:
On Tue, Sep 27, 2011 at 04:59:28PM +0300, Felix Radensky wrote:
quoted
Hi,

Looks like  8xxx GPIO driver cannot properly handle interrupts
when multiple GPIO controllers exist in the system.

On Freescale P1022 there are 3 GPIO controllers. All 3 use
the same interrupt line, internal interrupt 31. If all controllers
are defined in device tree set_irq_chained_handler() is invoked
3 times with same  hardware irq number. The result is interrupt
storm,  mpc8xxx_gpio_irq_cascade() is invoked indefinitely.

What would be the best way to fix the problem ?
The solution is to make the gpio driver register as a regular
interrupt handler, and not as a chained handler.

g.
You mean interrupt handler per GPIO pin ?

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