Lines Matching full:irq

26  * See gen_isr_tables.py for details on the Zephyr multi-level IRQ
31 * @brief Get an IRQ's level
32 * @param irq The IRQ number in the Zephyr irq.h numbering system
33 * @return IRQ level, either 1 or 2
35 static inline unsigned int rv32m1_irq_level(unsigned int irq) in rv32m1_irq_level() argument
37 return ((irq >> 8) & 0xff) == 0U ? 1 : 2; in rv32m1_irq_level()
41 * @brief Level 1 interrupt line associated with an IRQ
43 * Results are undefined if rv32m1_irq_level(irq) is not 1.
45 * @param The IRQ number in the Zephyr <irq.h> numbering system
46 * @return Level 1 (i.e. event unit) IRQ number associated with irq
48 static inline uint32_t rv32m1_level1_irq(unsigned int irq) in rv32m1_level1_irq() argument
52 * it's a level 1 IRQ. in rv32m1_level1_irq()
54 return irq; in rv32m1_level1_irq()
58 * @brief INTMUX channel (i.e. level 2 aggregator number) for an IRQ
60 * Results are undefined if rv32m1_irq_level(irq) is not 2.
62 * @param irq The IRQ number whose INTMUX channel / level 2 aggregator
63 * to get, in the Zephyr <irq.h> numbering system
64 * @return INTMUX channel number associated with the IRQ
66 static inline uint32_t rv32m1_intmux_channel(unsigned int irq) in rv32m1_intmux_channel() argument
71 * - the INTMUX output IRQ numbers are arranged consecutively in rv32m1_intmux_channel()
72 * by channel in the event unit IRQ numbering assignment, in rv32m1_intmux_channel()
77 * interrupt controller's IRQ numbers, i.e. channel 0's in rv32m1_intmux_channel()
78 * IRQ number in the event unit. in rv32m1_intmux_channel()
80 return (irq & 0xff) - CONFIG_2ND_LVL_INTR_00_OFFSET; in rv32m1_intmux_channel()
84 * @brief INTMUX interrupt ID number for an IRQ
86 * Results are undefined if rv32m1_irq_level(irq) is not 2.
88 * @param The IRQ number whose INTMUX interrupt ID to get, in the Zephyr
89 * <irq.h> numbering system
92 static inline uint32_t rv32m1_intmux_line(unsigned int irq) in rv32m1_intmux_line() argument
94 return ((irq >> 8) & 0xff) - 1; in rv32m1_intmux_line()