Lines Matching full:hwirq

97 static void __plic_toggle(void __iomem *enable_base, int hwirq, int enable)  in __plic_toggle()  argument
99 u32 __iomem *reg = enable_base + (hwirq / 32) * sizeof(u32); in __plic_toggle()
100 u32 hwirq_mask = 1 << (hwirq % 32); in __plic_toggle()
108 static void plic_toggle(struct plic_handler *handler, int hwirq, int enable) in plic_toggle() argument
113 __plic_toggle(handler->enable_base, hwirq, enable); in plic_toggle()
125 plic_toggle(handler, d->hwirq, enable); in plic_irq_toggle()
133 writel(1, priv->regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID); in plic_irq_unmask()
140 writel(0, priv->regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID); in plic_irq_mask()
159 plic_toggle(handler, d->hwirq, 1); in plic_irq_eoi()
160 writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM); in plic_irq_eoi()
161 plic_toggle(handler, d->hwirq, 0); in plic_irq_eoi()
163 writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM); in plic_irq_eoi()
313 irq_hw_number_t hwirq) in plic_irqdomain_map() argument
317 irq_domain_set_info(d, irq, hwirq, &plic_chip, d->host_data, in plic_irqdomain_map()
326 unsigned long *hwirq, in plic_irq_domain_translate() argument
336 return irq_domain_translate_twocell(d, fwspec, hwirq, type); in plic_irq_domain_translate()
338 return irq_domain_translate_onecell(d, fwspec, hwirq, type); in plic_irq_domain_translate()
345 irq_hw_number_t hwirq; in plic_irq_domain_alloc() local
349 ret = plic_irq_domain_translate(domain, fwspec, &hwirq, &type); in plic_irq_domain_alloc()
354 ret = plic_irqdomain_map(domain, virq + i, hwirq + i); in plic_irq_domain_alloc()
379 irq_hw_number_t hwirq; in plic_handle_irq() local
385 while ((hwirq = readl(claim))) { in plic_handle_irq()
387 hwirq); in plic_handle_irq()
389 pr_warn_ratelimited("%pfwP: can't find mapping for hwirq %lu\n", in plic_handle_irq()
390 handler->priv->fwnode, hwirq); in plic_handle_irq()
522 irq_hw_number_t hwirq; in plic_probe() local
570 pr_warn("%pfwP: hwirq for context%d not found\n", fwnode, i); in plic_probe()
595 for (hwirq = 1; hwirq <= nr_irqs; hwirq++) in plic_probe()
596 __plic_toggle(enable_base, hwirq, 0); in plic_probe()
634 for (hwirq = 1; hwirq <= nr_irqs; hwirq++) { in plic_probe()
635 plic_toggle(handler, hwirq, 0); in plic_probe()
637 hwirq * PRIORITY_PER_ID); in plic_probe()