Lines Matching refs:hwirq
101 static int mtk_eint_flip_edge(struct mtk_eint *eint, int hwirq)
105 u32 mask = BIT(hwirq & 0x1f);
106 u32 port = (hwirq >> 5) & eint->hw->port_mask;
109 curr_level = eint->gpio_xlate->get_gpio_state(eint->pctl, hwirq);
120 hwirq);
129 u32 mask = BIT(d->hwirq & 0x1f);
130 void __iomem *reg = mtk_eint_get_offset(eint, d->hwirq,
133 eint->cur_mask[d->hwirq >> 5] &= ~mask;
141 u32 mask = BIT(d->hwirq & 0x1f);
142 void __iomem *reg = mtk_eint_get_offset(eint, d->hwirq,
145 eint->cur_mask[d->hwirq >> 5] |= mask;
149 if (eint->dual_edge[d->hwirq])
150 mtk_eint_flip_edge(eint, d->hwirq);
166 u32 mask = BIT(d->hwirq & 0x1f);
167 void __iomem *reg = mtk_eint_get_offset(eint, d->hwirq,
177 u32 mask = BIT(d->hwirq & 0x1f);
184 d->irq, d->hwirq, type);
189 eint->dual_edge[d->hwirq] = 1;
191 eint->dual_edge[d->hwirq] = 0;
193 if (!mtk_eint_get_mask(eint, d->hwirq)) {
201 reg = mtk_eint_get_offset(eint, d->hwirq, eint->regs->pol_clr);
204 reg = mtk_eint_get_offset(eint, d->hwirq, eint->regs->pol_set);
209 reg = mtk_eint_get_offset(eint, d->hwirq, eint->regs->sens_clr);
212 reg = mtk_eint_get_offset(eint, d->hwirq, eint->regs->sens_set);
226 int shift = d->hwirq & 0x1f;
227 int reg = d->hwirq >> 5;
257 err = eint->gpio_xlate->get_gpio_n(eint->pctl, d->hwirq,
271 err = eint->gpio_xlate->set_gpio_as_eint(eint->pctl, d->hwirq);
286 eint->gpio_xlate->get_gpio_n(eint->pctl, d->hwirq, &gpio_n,