Lines Matching full:hwirq
93 static void rzg2l_clear_irq_int(struct rzg2l_irqc_priv *priv, unsigned int hwirq) in rzg2l_clear_irq_int() argument
95 unsigned int hw_irq = hwirq - IRQC_IRQ_START; in rzg2l_clear_irq_int()
116 static void rzg2l_clear_tint_int(struct rzg2l_irqc_priv *priv, unsigned int hwirq) in rzg2l_clear_tint_int() argument
118 u32 bit = BIT(hwirq - IRQC_TINT_START); in rzg2l_clear_tint_int()
147 unsigned int hwirq) in rzfive_irqc_mask_irq_interrupt() argument
149 u32 bit = BIT(hwirq - IRQC_IRQ_START); in rzfive_irqc_mask_irq_interrupt()
155 unsigned int hwirq) in rzfive_irqc_unmask_irq_interrupt() argument
157 u32 bit = BIT(hwirq - IRQC_IRQ_START); in rzfive_irqc_unmask_irq_interrupt()
163 unsigned int hwirq) in rzfive_irqc_mask_tint_interrupt() argument
165 u32 bit = BIT(hwirq - IRQC_TINT_START); in rzfive_irqc_mask_tint_interrupt()
171 unsigned int hwirq) in rzfive_irqc_unmask_tint_interrupt() argument
173 u32 bit = BIT(hwirq - IRQC_TINT_START); in rzfive_irqc_unmask_tint_interrupt()
181 unsigned int hwirq = irqd_to_hwirq(d); in rzfive_irqc_mask() local
184 if (hwirq >= IRQC_IRQ_START && hwirq <= IRQC_IRQ_COUNT) in rzfive_irqc_mask()
185 rzfive_irqc_mask_irq_interrupt(priv, hwirq); in rzfive_irqc_mask()
186 else if (hwirq >= IRQC_TINT_START && hwirq < IRQC_NUM_IRQ) in rzfive_irqc_mask()
187 rzfive_irqc_mask_tint_interrupt(priv, hwirq); in rzfive_irqc_mask()
195 unsigned int hwirq = irqd_to_hwirq(d); in rzfive_irqc_unmask() local
198 if (hwirq >= IRQC_IRQ_START && hwirq <= IRQC_IRQ_COUNT) in rzfive_irqc_unmask()
199 rzfive_irqc_unmask_irq_interrupt(priv, hwirq); in rzfive_irqc_unmask()
200 else if (hwirq >= IRQC_TINT_START && hwirq < IRQC_NUM_IRQ) in rzfive_irqc_unmask()
201 rzfive_irqc_unmask_tint_interrupt(priv, hwirq); in rzfive_irqc_unmask()
209 unsigned int hwirq = irqd_to_hwirq(d); in rzfive_tint_irq_endisable() local
211 if (hwirq >= IRQC_TINT_START && hwirq < IRQC_NUM_IRQ) { in rzfive_tint_irq_endisable()
212 u32 offset = hwirq - IRQC_TINT_START; in rzfive_tint_irq_endisable()
219 rzfive_irqc_unmask_tint_interrupt(priv, hwirq); in rzfive_tint_irq_endisable()
221 rzfive_irqc_mask_tint_interrupt(priv, hwirq); in rzfive_tint_irq_endisable()
232 rzfive_irqc_unmask_irq_interrupt(priv, hwirq); in rzfive_tint_irq_endisable()
234 rzfive_irqc_mask_irq_interrupt(priv, hwirq); in rzfive_tint_irq_endisable()
288 unsigned int hwirq = irqd_to_hwirq(d); in rzg2l_irq_set_type() local
289 u32 iitseln = hwirq - IRQC_IRQ_START; in rzg2l_irq_set_type()
322 rzg2l_clear_irq_int(priv, hwirq); in rzg2l_irq_set_type()
347 unsigned int hwirq = irqd_to_hwirq(d); in rzg2l_tint_set_edge() local
348 u32 titseln = hwirq - IRQC_TINT_START; in rzg2l_tint_set_edge()
380 rzg2l_clear_tint_int(priv, hwirq); in rzg2l_tint_set_edge()
473 irq_hw_number_t hwirq; in rzg2l_irqc_alloc() local
477 ret = irq_domain_translate_twocell(domain, arg, &hwirq, &type); in rzg2l_irqc_alloc()
483 * the hwirq and TINT are encoded in fwspec->param[0]. in rzg2l_irqc_alloc()
484 * hwirq for TINT range from 9-40, hwirq is embedded 0-15 bits and TINT in rzg2l_irqc_alloc()
488 if (hwirq > IRQC_IRQ_COUNT) { in rzg2l_irqc_alloc()
489 tint = TINT_EXTRACT_GPIOINT(hwirq); in rzg2l_irqc_alloc()
490 hwirq = TINT_EXTRACT_HWIRQ(hwirq); in rzg2l_irqc_alloc()
492 if (hwirq < IRQC_TINT_START) in rzg2l_irqc_alloc()
496 if (hwirq > (IRQC_NUM_IRQ - 1)) in rzg2l_irqc_alloc()
499 ret = irq_domain_set_hwirq_and_chip(domain, virq, hwirq, priv->irqchip, in rzg2l_irqc_alloc()
504 return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, &priv->fwspec[hwirq]); in rzg2l_irqc_alloc()