This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

High interrupt latency

Other Parts Discussed in Thread: OMAP3530

Hello,

i'm working on the OMAP3530 EVM with Angstrom, Kernel 2.6.29-rc3

In the attached file you can find my source-code.

1817.GPIO_ISR.zip

In short terms, it is a loadable module which does the setups for 2 GPIO ports( 1 input, 1 output) and the interrupt for GPIO-bank5

the input generates an interrupt. In the ISR, the output pin is set at the beginning and deleted before exit. Also there are some commands for the display sub-system, but you can ignore those

This works works just fine. The ISR itself takes around 1µs for exection (measured with oscilloscope).

But: The time between the interrupt source and the execution of the ISR is between 1ms and 800ms, which is obviously too high for any application.

I tried to move the interrupt to FIQ, but this didn't work out. The system freezes when the interrupt occurs.

Do you have any idea on how to speed this up?

  • After 2 days of researching i could solve this:

    i had set detection on low-level AND falling edge.

    so, i guess i had a LOT of ISRs beeing executed and blocking each other.

    one change:

    register_write(adresse, 0x00000000); // enable irq assertion on low level detect

    and i got quite a steady latency of about 70µs