Lines Matching full:irq
19 #include <zephyr/irq.h>
22 #define IS_IOAPIC_IRQ(irq) ((irq) < z_loapic_irq_base()) argument
29 * based on the given IRQ parameter.
42 * @param irq the virtualized IRQ
46 void z_irq_controller_irq_config(unsigned int vector, unsigned int irq, in z_irq_controller_irq_config() argument
49 __ASSERT(irq <= HARDWARE_IRQ_LIMIT, "invalid irq line"); in z_irq_controller_irq_config()
51 if (IS_IOAPIC_IRQ(irq)) { in z_irq_controller_irq_config()
52 z_ioapic_irq_set(irq, vector, flags); in z_irq_controller_irq_config()
54 z_loapic_int_vec_set(irq - z_loapic_irq_base(), vector); in z_irq_controller_irq_config()
59 * @brief Enable an individual interrupt (IRQ)
61 * The public interface for enabling/disabling a specific IRQ for the IA-32
64 * extern void irq_enable (unsigned int irq);
65 * extern void irq_disable (unsigned int irq);
68 * to the IRQ virtualization that is performed by this platform. See the
69 * comments in _interrupt_vector_allocate() for more information regarding IRQ
73 void arch_irq_enable(unsigned int irq) in arch_irq_enable() argument
75 if (IS_IOAPIC_IRQ(irq)) { in arch_irq_enable()
76 z_ioapic_irq_enable(irq); in arch_irq_enable()
78 z_loapic_irq_enable(irq - z_loapic_irq_base()); in arch_irq_enable()
83 * @brief Disable an individual interrupt (IRQ)
86 * to the IRQ virtualization that is performed by this platform. See the
87 * comments in _interrupt_vector_allocate() for more information regarding IRQ
91 void arch_irq_disable(unsigned int irq) in arch_irq_disable() argument
93 if (IS_IOAPIC_IRQ(irq)) { in arch_irq_disable()
94 z_ioapic_irq_disable(irq); in arch_irq_disable()
96 z_loapic_irq_disable(irq - z_loapic_irq_base()); in arch_irq_disable()