Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
16 years ago

Enhanced Interrupt API

alt_irq_interruptible() and alt_irq_non_interruptible() have been deprecated.

Are there equivalent functions available in the enhanced API or are these functions no longer needed because of the enhanced API?

Thanks.

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I have the same problem!

    There is a solution or I have to use the EIC?

    Thanks!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Same question here! I read the doc and still can't get a solution to make an ISR interruptible with IIC and Enhanced API. Or are all interrupts interruptible at default?

    (Probably I didn't read it good enough or get the idea of how to make it interruptible)

    For a moment, I change the define ALT_ENHANCED_INTERRUPT_API_PRESENT in system.h manually to ALT_LEGACY_INTERRUPT_API_PRESENT.

    This is neccessary in order to use the old API.

    So just a workaround.....

    Any other solutions are appreciated here too!

    Thanks
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    We now implemented Altera's vic as External Interrupt Controller(eic). And now we can make use of the enhanced interrupt api.

    If you use the vic you don't need to tell your ISR that it is interruptible by software anymore.

    You have to set the preemption options in the bsp in order to manage that interrupts are interruptible.

    So in your software you don't need to worry about calling alt_irq_interruptible() and alt_irq_non_interruptible() the right way.

    But I've only used the VIC for some days and will examine it a bit more......