I've noticed strange behavior on my H3 (nanopi neo air) and am wondering
if anyone has suggestions for further debugging it, as I'm getting stumped.
Specifically, I have configured a device (Invensense MPU9250) to deliver
interrupts at 10Hz to PG_EINT11. For some reason, though, the interrupt
handler is being called at only about 6 Hz.
Looking at a logic analyzer, I see the hardware is interrupting at 10 Hz
as it should, but sometimes the interrupts are just missed from the
kernel side. So you might see a 200 ms gap between calls to the IRQ
handler, but 100 ms between hardware IRQ events.
Using ftrace, I see that sunxi_pinctrl_irq_handler is being called at
about 6 Hz as well. The system load is very low (~0%) on all CPUs, and
it doesn't appear that anyone is disabling this interrupt.
I have also verified that the IRQ handlers are exiting in less than 1
ms, and the bottom half of the handler in less than 5 ms; they don't
appear to be conflicting with the next IRQ coming in.
The interrupts are rising edges, and are consistently about 50
microseconds in width.
This is the relevant device-tree fragment:
model = "Invensense MPU9250";
compatible = "invensense,mpu9250";
reg = <0x68>;
interrupt-parent = <&pio>;
interrupts = <6 11 IRQ_TYPE_EDGE_RISING>; /* PG11 / PG_EINT11 */
I'm quite stumped as to where to look next and would welcome any
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.