Lines Matching full:level
9 * @brief Public interface for multi-level interrupts
31 /* First level interrupt bits */
33 /* Second level interrupt bits */
35 /* Third level interrupt bits */
39 /* Third level IRQ's interrupt controller */
41 /* IRQ of the third level interrupt aggregator */
45 /* Second level IRQ's interrupt controller */
47 /* IRQ of the second level interrupt aggregator */
83 * @brief Return IRQ level
84 * This routine returns the interrupt level number of the provided interrupt.
88 * @return 1 if IRQ level 1, 2 if IRQ level 2, 3 if IRQ level 3
100 * @brief Return the 2nd level interrupt number
102 * This routine returns the second level irq number of the zephyr irq
107 * @return 2nd level IRQ number
119 * @brief Preprocessor macro to convert `irq` from level 1 to level 2 format
123 * @return 2nd level IRQ number
128 * @brief Converts irq from level 1 to level 2 format
131 * This routine converts the input into the level 2 irq number format
137 * @return 2nd level IRQ number
153 * @brief Returns the parent IRQ of the level 2 raw IRQ number
156 * The parent of a 2nd level interrupt is in the 1st byte
160 * @return 2nd level IRQ parent
172 * @brief Return the 3rd level interrupt number
175 * This routine returns the third level irq number of the zephyr irq
180 * @return 3rd level IRQ number
192 * @brief Preprocessor macro to convert `irq` from level 1 to level 3 format
196 * @return 3rd level IRQ number
202 * @brief Converts irq from level 1 to level 3 format
205 * This routine converts the input into the level 3 irq number format
211 * @return 3rd level IRQ number
227 * @brief Returns the parent IRQ of the level 3 raw IRQ number
230 * The parent of a 3rd level interrupt is in the 2nd byte
234 * @return 3rd level IRQ parent
246 * @brief Return the interrupt number for a given level
249 * @param level IRQ level
251 * @return IRQ number in the level
253 static inline unsigned int irq_from_level(unsigned int irq, unsigned int level) in irq_from_level() argument
255 if (level == 1) { in irq_from_level()
257 } else if (level == 2) { in irq_from_level()
259 } else if (level == 3) { in irq_from_level()
263 /* level is higher than 3 */ in irq_from_level()
269 * @brief Converts irq from level 1 to a given level
272 * @param level IRQ level
274 * @return Converted IRQ number in the level
276 static inline unsigned int irq_to_level(unsigned int irq, unsigned int level) in irq_to_level() argument
278 if (level == 1) { in irq_to_level()
280 } else if (level == 2) { in irq_to_level()
282 } else if (level == 3) { in irq_to_level()
286 /* level is higher than 3 */ in irq_to_level()
292 * @brief Returns the parent IRQ of the given level raw IRQ number
295 * @param level IRQ level
297 * @return IRQ parent of the given level
299 static inline unsigned int irq_parent_level(unsigned int irq, unsigned int level) in irq_parent_level() argument
301 if (level == 1) { in irq_parent_level()
304 } else if (level == 2) { in irq_parent_level()
306 } else if (level == 3) { in irq_parent_level()
310 /* level is higher than 3 */ in irq_parent_level()
324 const unsigned int level = irq_get_level(irq); in irq_get_intc_irq() local
326 __ASSERT_NO_MSG(level <= 3); in irq_get_intc_irq()
331 if (level == 3) { in irq_get_intc_irq()
333 } else if (level == 2) { in irq_get_intc_irq()