Lines Matching full:hwirq
93 static void __plic_toggle(void __iomem *enable_base, int hwirq, int enable) in __plic_toggle() argument
95 u32 __iomem *reg = enable_base + (hwirq / 32) * sizeof(u32); in __plic_toggle()
96 u32 hwirq_mask = 1 << (hwirq % 32); in __plic_toggle()
104 static void plic_toggle(struct plic_handler *handler, int hwirq, int enable) in plic_toggle() argument
107 __plic_toggle(handler->enable_base, hwirq, enable); in plic_toggle()
119 plic_toggle(handler, d->hwirq, enable); in plic_irq_toggle()
127 writel(1, priv->regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID); in plic_irq_unmask()
134 writel(0, priv->regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID); in plic_irq_mask()
153 plic_toggle(handler, d->hwirq, 1); in plic_irq_eoi()
154 writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM); in plic_irq_eoi()
155 plic_toggle(handler, d->hwirq, 0); in plic_irq_eoi()
157 writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM); in plic_irq_eoi()
309 irq_hw_number_t hwirq) in plic_irqdomain_map() argument
313 irq_domain_set_info(d, irq, hwirq, &plic_chip, d->host_data, in plic_irqdomain_map()
322 unsigned long *hwirq, in plic_irq_domain_translate() argument
328 return irq_domain_translate_twocell(d, fwspec, hwirq, type); in plic_irq_domain_translate()
330 return irq_domain_translate_onecell(d, fwspec, hwirq, type); in plic_irq_domain_translate()
337 irq_hw_number_t hwirq; in plic_irq_domain_alloc() local
341 ret = plic_irq_domain_translate(domain, fwspec, &hwirq, &type); in plic_irq_domain_alloc()
346 ret = plic_irqdomain_map(domain, virq + i, hwirq + i); in plic_irq_domain_alloc()
371 irq_hw_number_t hwirq; in plic_handle_irq() local
377 while ((hwirq = readl(claim))) { in plic_handle_irq()
379 hwirq); in plic_handle_irq()
381 pr_warn_ratelimited("can't find mapping for hwirq %lu\n", in plic_handle_irq()
382 hwirq); in plic_handle_irq()
461 irq_hw_number_t hwirq; in __plic_init() local
481 for (hwirq = 1; hwirq <= nr_irqs; hwirq++) in __plic_init()
482 __plic_toggle(enable_base, hwirq, 0); in __plic_init()
533 for (hwirq = 1; hwirq <= nr_irqs; hwirq++) { in __plic_init()
534 plic_toggle(handler, hwirq, 0); in __plic_init()
536 hwirq * PRIORITY_PER_ID); in __plic_init()