Lines Matching full:irq

9 #include <zephyr/irq.h>
22 * @brief Get the aggregator that's responsible for the given irq
24 * @param irq IRQ number to query
26 * @return Aggregator entry, NULL if irq is level 1 or not found.
28 static const struct _irq_parent_entry *get_intc_entry_for_irq(unsigned int irq) in get_intc_entry_for_irq() argument
30 const unsigned int level = irq_get_level(irq); in get_intc_entry_for_irq()
37 const unsigned int intc_irq = irq_get_intc_irq(irq); in get_intc_entry_for_irq()
41 if ((intc->level == level) && (intc->irq == intc_irq)) { in get_intc_entry_for_irq()
49 const struct device *z_get_sw_isr_device_from_irq(unsigned int irq) in z_get_sw_isr_device_from_irq() argument
51 const struct _irq_parent_entry *intc = get_intc_entry_for_irq(irq); in z_get_sw_isr_device_from_irq()
53 __ASSERT(intc != NULL, "can't find an aggregator to handle irq(%X)", irq); in z_get_sw_isr_device_from_irq()
63 return intc->irq; in z_get_sw_isr_irq_from_device()
72 unsigned int z_get_sw_isr_table_idx(unsigned int irq) in z_get_sw_isr_table_idx() argument
75 const struct _irq_parent_entry *intc = get_intc_entry_for_irq(irq); in z_get_sw_isr_table_idx()
76 const unsigned int level = irq_get_level(irq); in z_get_sw_isr_table_idx()
79 local_irq = irq_from_level(irq, level); in z_get_sw_isr_table_idx()
84 /* irq level must be 1 if no intc entry */ in z_get_sw_isr_table_idx()
85 __ASSERT(level == 1, "can't find an aggregator to handle irq(%X)", irq); in z_get_sw_isr_table_idx()
86 table_idx = irq; in z_get_sw_isr_table_idx()