Lines Matching +full:32434 +full:- +full:pic
1 // SPDX-License-Identifier: GPL-2.0
35 pending = irq_reg_readl(idtpic->gc, IDT_PIC_IRQ_PEND); in idt_irq_dispatch()
36 pending &= ~idtpic->gc->mask_cache; in idt_irq_dispatch()
39 generic_handle_domain_irq(idtpic->irq_domain, hwirq); in idt_irq_dispatch()
57 ret = -ENOMEM; in idt_pic_init()
64 ret = -EINVAL; in idt_pic_init()
68 idtpic->base = of_iomap(of_node, 0); in idt_pic_init()
69 if (!idtpic->base) { in idt_pic_init()
71 ret = -ENOMEM; in idt_pic_init()
79 ret = -ENOMEM; in idt_pic_init()
82 idtpic->irq_domain = domain; in idt_pic_init()
91 gc->reg_base = idtpic->base; in idt_pic_init()
92 gc->private = idtpic; in idt_pic_init()
94 ct = gc->chip_types; in idt_pic_init()
95 ct->regs.mask = IDT_PIC_IRQ_MASK; in idt_pic_init()
96 ct->chip.irq_mask = irq_gc_mask_set_bit; in idt_pic_init()
97 ct->chip.irq_unmask = irq_gc_mask_clr_bit; in idt_pic_init()
98 idtpic->gc = gc; in idt_pic_init()
101 writel(0xffffffff, idtpic->base + IDT_PIC_IRQ_MASK); in idt_pic_init()
102 gc->mask_cache = 0xffffffff; in idt_pic_init()
112 iounmap(idtpic->base); in idt_pic_init()
122 IRQCHIP_DECLARE(idt_pic, "idt,32434-pic", idt_pic_init);