hi.
now make a test to know how long it take enter gic_handle_irq when extern interruption is coming.
GPIO5_3(is configured interrupt gpio) is connected to ADC_RDY(32Khz frequency output)
in-gpio147 and out-gpio146 is controled in gic_handle_irq.see the following:
static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs)
{
gpio_set_value(147, atomic_read(&intr_probe)%2);//interrupt is coming,gpio147 output level is flipped
do {
...
} while (irqnr != ICC_IAR1_EL1_SPURIOUS);
gpio_set_value(146, atomic_read(&intr_probe)%2);///
}
discovery sometimes lost data, later found, when the interrupt comes to enter gic_handle_irq too late.below is grasping the underlying data waveform.how to optimize.thanks.
787835294_0-1632376706723.png
787835294_1-1632377617435.png