The question is how to calculate the interrupt delay in Linux. At the very least, you might be wondering how long it will take before the interruption starts. We will ignore this aspect irqshere.
a GPIO . GPIO , , . CE link . (, IMX) -, / -. , (. ).
entry-armv.S. , , .config. , , , SMP .. entry-armv.S. , , __irq_usr, __irq_svc. , irq_handler. _irq_usr cmpxchg, ARM .config, . - IRQ . mach/entry-macro.S, . irq .
, - . , , , , objdump --disassemble vmlinux . irq_handler, IRQ-.
, TRACE_IRQFLAGS. , Cortex A9, make menuconfig ( /TRACE_IRQFLAGS). , .
,
- User/SVC.
- .
- , (, stm/ldm), .
- ISR. Alsa , , Linux.
- ISR.
irq. , , , irq ; , / irq. , , .
, irq, irq / . , a FIFO , IRQ FIFO , FIFO_Size x BPS, FIFO.
FIQ , , , !
: Cortex A9 B. ARM , / , . , Linux ; ( ) , .