Lines Matching +full:edge +full:- +full:offset
1 // SPDX-License-Identifier: GPL-2.0-only
23 /* register definitions - internal irqs */
32 /* register definitions - external irqs */
75 return -1; in ltq_eiu_get_irq()
80 unsigned long offset = d->hwirq - MIPS_CPU_IRQ_CASCADE; in ltq_disable_irq() local
81 unsigned long im = offset / INT_NUM_IM_OFFSET; in ltq_disable_irq()
85 offset %= INT_NUM_IM_OFFSET; in ltq_disable_irq()
90 ltq_icu_r32(vpe, im, LTQ_ICU_IER) & ~BIT(offset), in ltq_disable_irq()
98 unsigned long offset = d->hwirq - MIPS_CPU_IRQ_CASCADE; in ltq_mask_and_ack_irq() local
99 unsigned long im = offset / INT_NUM_IM_OFFSET; in ltq_mask_and_ack_irq()
103 offset %= INT_NUM_IM_OFFSET; in ltq_mask_and_ack_irq()
108 ltq_icu_r32(vpe, im, LTQ_ICU_IER) & ~BIT(offset), in ltq_mask_and_ack_irq()
110 ltq_icu_w32(vpe, im, BIT(offset), LTQ_ICU_ISR); in ltq_mask_and_ack_irq()
117 unsigned long offset = d->hwirq - MIPS_CPU_IRQ_CASCADE; in ltq_ack_irq() local
118 unsigned long im = offset / INT_NUM_IM_OFFSET; in ltq_ack_irq()
122 offset %= INT_NUM_IM_OFFSET; in ltq_ack_irq()
126 ltq_icu_w32(vpe, im, BIT(offset), LTQ_ICU_ISR); in ltq_ack_irq()
133 unsigned long offset = d->hwirq - MIPS_CPU_IRQ_CASCADE; in ltq_enable_irq() local
134 unsigned long im = offset / INT_NUM_IM_OFFSET; in ltq_enable_irq()
138 offset %= INT_NUM_IM_OFFSET; in ltq_enable_irq()
148 ltq_icu_w32(vpe, im, ltq_icu_r32(vpe, im, LTQ_ICU_IER) | BIT(offset), in ltq_enable_irq()
160 if (d->hwirq == ltq_eiu_irq[i]) { in ltq_eiu_settype()
162 int edge = 0; in ltq_eiu_settype() local
169 edge = 1; in ltq_eiu_settype()
173 edge = 1; in ltq_eiu_settype()
177 edge = 1; in ltq_eiu_settype()
187 type, d->hwirq); in ltq_eiu_settype()
188 return -EINVAL; in ltq_eiu_settype()
191 if (edge) in ltq_eiu_settype()
192 irq_set_handler(d->hwirq, handle_edge_irq); in ltq_eiu_settype()
211 if (d->hwirq == ltq_eiu_irq[i]) { in ltq_startup_eiu_irq()
233 if (d->hwirq == ltq_eiu_irq[i]) { in ltq_shutdown_eiu_irq()
249 return -EINVAL; in ltq_icu_irq_set_affinity()
288 unsigned int module = irq_desc_get_irq(desc) - 2; in ltq_hw_irq_handler()
388 eiu_node = of_find_compatible_node(NULL, NULL, "lantiq,eiu-xway"); in icu_of_init()
392 "lantiq,eiu-irqs"); in icu_of_init()
397 ret = of_property_read_u32_array(eiu_node, "lantiq,eiu-irqs", in icu_of_init()