Lines Matching refs:handler
72 static inline void plic_toggle(struct plic_handler *handler, in plic_toggle() argument
75 u32 __iomem *reg = handler->enable_base + (hwirq / 32) * sizeof(u32); in plic_toggle()
78 raw_spin_lock(&handler->enable_lock); in plic_toggle()
83 raw_spin_unlock(&handler->enable_lock); in plic_toggle()
93 struct plic_handler *handler = per_cpu_ptr(&plic_handlers, cpu); in plic_irq_toggle() local
95 if (handler->present) in plic_irq_toggle()
96 plic_toggle(handler, hwirq, enable); in plic_irq_toggle()
139 struct plic_handler *handler = this_cpu_ptr(&plic_handlers); in plic_irq_eoi() local
141 writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM); in plic_irq_eoi()
178 struct plic_handler *handler = this_cpu_ptr(&plic_handlers); in plic_handle_irq() local
179 void __iomem *claim = handler->hart_base + CONTEXT_CLAIM; in plic_handle_irq()
182 WARN_ON_ONCE(!handler->present); in plic_handle_irq()
245 struct plic_handler *handler; in plic_init() local
276 handler = per_cpu_ptr(&plic_handlers, cpu); in plic_init()
277 if (handler->present) { in plic_init()
283 handler->present = true; in plic_init()
284 handler->hart_base = in plic_init()
286 raw_spin_lock_init(&handler->enable_lock); in plic_init()
287 handler->enable_base = in plic_init()
292 writel(threshold, handler->hart_base + CONTEXT_THRESHOLD); in plic_init()
294 plic_toggle(handler, hwirq, 0); in plic_init()