Hi,
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:
&i2c0 {
mpu9250@68 {
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
suggestions.
Thanks,
Martin
--
You received this message because you are subscribed to the Google Groups
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.