|
Zephyr Project API 4.0.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. | |
| static unsigned int | irq_increment (unsigned int irq, unsigned int val) |
| Increments the multilevel-encoded irq by val. | |
Variables | |
| Size of _z_irq_t must equal to | uint32_t |
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 |
Increments the multilevel-encoded irq by val.
| irq | IRQ number in its zephyr format |
| val | Amount to increment |
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 |
Converts irq from level 1 to level 3 format.
This routine converts the input into the level 3 irq number format
| irq | IRQ number in its zephyr format |
| Size of _z_irq_t must equal to uint32_t |