Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Public interface for multi-level interrupts. More...
Go to the source code of this file.
Macros | |
#define | IRQ_TO_L2(irq) ((irq + 1) << CONFIG_1ST_LEVEL_INTERRUPT_BITS) |
Preprocessor macro to convert irq from level 1 to level 2 format. | |
#define | IRQ_TO_L3(irq) ((irq + 1) << (CONFIG_1ST_LEVEL_INTERRUPT_BITS + CONFIG_2ND_LEVEL_INTERRUPT_BITS)) |
Preprocessor macro to convert irq from level 1 to level 3 format. | |
Functions | |
static unsigned int | irq_get_level (unsigned int irq) |
Return IRQ level This routine returns the interrupt level number of the provided interrupt. | |
static unsigned int | irq_from_level_2 (unsigned int irq) |
Return the 2nd level interrupt number. | |
static unsigned int | irq_to_level_2 (unsigned int irq) |
Converts irq from level 1 to level 2 format. | |
static unsigned int | irq_parent_level_2 (unsigned int irq) |
Returns the parent IRQ of the level 2 raw IRQ number. | |
static unsigned int | irq_from_level_3 (unsigned int irq) |
Return the 3rd level interrupt number. | |
static unsigned int | irq_to_level_3 (unsigned int irq) |
Converts irq from level 1 to level 3 format. | |
static unsigned int | irq_parent_level_3 (unsigned int irq) |
Returns the parent IRQ of the level 3 raw IRQ number. | |
static unsigned int | irq_from_level (unsigned int irq, unsigned int level) |
Return the interrupt number for a given level. | |
static unsigned int | irq_to_level (unsigned int irq, unsigned int level) |
Converts irq from level 1 to a given level. | |
static unsigned int | irq_parent_level (unsigned int irq, unsigned int level) |
Returns the parent IRQ of the given level raw IRQ number. | |
static unsigned int | irq_get_intc_irq (unsigned int irq) |
Returns the parent interrupt controller IRQ of the given IRQ number. | |
Public interface for multi-level interrupts.
#define IRQ_TO_L2 | ( | irq | ) | ((irq + 1) << CONFIG_1ST_LEVEL_INTERRUPT_BITS) |
Preprocessor macro to convert irq
from level 1 to level 2 format.
irq | IRQ number in its zephyr format |
#define IRQ_TO_L3 | ( | irq | ) | ((irq + 1) << (CONFIG_1ST_LEVEL_INTERRUPT_BITS + CONFIG_2ND_LEVEL_INTERRUPT_BITS)) |
Preprocessor macro to convert irq
from level 1 to level 3 format.
irq | IRQ number in its zephyr format |
Return the interrupt number for a given level.
irq | IRQ number in its zephyr format |
level | IRQ level |
Return the 2nd level interrupt number.
This routine returns the second level irq number of the zephyr irq number passed in
irq | IRQ number in its zephyr format |
Return the 3rd level interrupt number.
This routine returns the third level irq number of the zephyr irq number passed in
irq | IRQ number in its zephyr format |
Returns the parent interrupt controller IRQ of the given IRQ number.
irq | IRQ number in its zephyr format |
Return IRQ level This routine returns the interrupt level number of the provided interrupt.
irq | IRQ number in its zephyr format |
Returns the parent IRQ of the given level raw IRQ number.
irq | IRQ number in its zephyr format |
level | IRQ level |
Returns the parent IRQ of the level 2 raw IRQ number.
The parent of a 2nd level interrupt is in the 1st byte
irq | IRQ number in its zephyr format |
Returns the parent IRQ of the level 3 raw IRQ number.
The parent of a 3rd level interrupt is in the 2nd byte
irq | IRQ number in its zephyr format |
Converts irq from level 1 to a given level.
irq | IRQ number in its zephyr format |
level | IRQ level |
Converts irq from level 1 to level 2 format.
This routine converts the input into the level 2 irq number format
irq | IRQ number in its zephyr format |