Lines Matching refs:irq

74 static inline bool is_dw_irq(uint32_t irq)  in is_dw_irq()  argument
76 if (((irq & XTENSA_IRQ_NUM_MASK) == ACE_INTC_IRQ) in is_dw_irq()
77 && ((irq & ~XTENSA_IRQ_NUM_MASK) != 0)) { in is_dw_irq()
84 void dw_ace_irq_enable(const struct device *dev, uint32_t irq) in dw_ace_irq_enable() argument
88 if (is_dw_irq(irq)) { in dw_ace_irq_enable()
92 ACE_INTC[i].irq_inten_l |= BIT(ACE_IRQ_FROM_ZEPHYR(irq)); in dw_ace_irq_enable()
93 ACE_INTC[i].irq_intmask_l &= ~BIT(ACE_IRQ_FROM_ZEPHYR(irq)); in dw_ace_irq_enable()
95 } else if ((irq & ~XTENSA_IRQ_NUM_MASK) == 0U) { in dw_ace_irq_enable()
96 xtensa_irq_enable(XTENSA_IRQ_NUMBER(irq)); in dw_ace_irq_enable()
100 void dw_ace_irq_disable(const struct device *dev, uint32_t irq) in dw_ace_irq_disable() argument
104 if (is_dw_irq(irq)) { in dw_ace_irq_disable()
108 ACE_INTC[i].irq_inten_l &= ~BIT(ACE_IRQ_FROM_ZEPHYR(irq)); in dw_ace_irq_disable()
109 ACE_INTC[i].irq_intmask_l |= BIT(ACE_IRQ_FROM_ZEPHYR(irq)); in dw_ace_irq_disable()
111 } else if ((irq & ~XTENSA_IRQ_NUM_MASK) == 0U) { in dw_ace_irq_disable()
112 xtensa_irq_disable(XTENSA_IRQ_NUMBER(irq)); in dw_ace_irq_disable()
116 int dw_ace_irq_is_enabled(const struct device *dev, unsigned int irq) in dw_ace_irq_is_enabled() argument
120 if (is_dw_irq(irq)) { in dw_ace_irq_is_enabled()
121 return ACE_INTC[0].irq_inten_l & BIT(ACE_IRQ_FROM_ZEPHYR(irq)); in dw_ace_irq_is_enabled()
122 } else if ((irq & ~XTENSA_IRQ_NUM_MASK) == 0U) { in dw_ace_irq_is_enabled()
123 return xtensa_irq_is_enabled(XTENSA_IRQ_NUMBER(irq)); in dw_ace_irq_is_enabled()
130 int dw_ace_irq_connect_dynamic(const struct device *dev, unsigned int irq, in dw_ace_irq_connect_dynamic() argument
141 z_isr_install(irq, routine, parameter); in dw_ace_irq_connect_dynamic()
142 return irq; in dw_ace_irq_connect_dynamic()