Lines Matching +full:- +full:- +full:retry
1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
44 * IFR_offset is NEN_offset - 8.
50 unsigned long ifr = ct->regs.mask - 8; in irq_ck_mask_set_bit()
51 u32 mask = d->mask; in irq_ck_mask_set_bit()
54 *ct->mask_cache |= mask; in irq_ck_mask_set_bit()
55 irq_reg_writel(gc, *ct->mask_cache, ct->regs.mask); in irq_ck_mask_set_bit()
66 gc->reg_base = reg_base; in ck_set_gc()
67 gc->chip_types[0].regs.mask = mask_reg; in ck_set_gc()
68 gc->chip_types[0].chip.irq_mask = irq_gc_mask_clr_bit; in ck_set_gc()
69 gc->chip_types[0].chip.irq_unmask = irq_gc_mask_set_bit; in ck_set_gc()
71 if (of_property_read_bool(node, "csky,support-pulse-signal")) in ck_set_gc()
72 gc->chip_types[0].chip.irq_unmask = irq_ck_mask_set_bit; in ck_set_gc()
86 * The magic is 0x00010203 for ck-intc in build_channel_val()
87 * The magic is 0x03020100 for gx6605s-intc in build_channel_val()
107 pr_err("C-SKY Intc not a root irq controller\n"); in ck_intc_init_comm()
108 return -EINVAL; in ck_intc_init_comm()
113 pr_err("C-SKY Intc unable to map: %p.\n", node); in ck_intc_init_comm()
114 return -EINVAL; in ck_intc_init_comm()
120 pr_err("C-SKY Intc irq_domain_add failed.\n"); in ck_intc_init_comm()
121 return -ENOMEM; in ck_intc_init_comm()
128 pr_err("C-SKY Intc irq_alloc_gc failed.\n"); in ck_intc_init_comm()
129 return -ENOMEM; in ck_intc_init_comm()
151 retry: in gx_irq_handler()
155 goto retry; in gx_irq_handler()
160 goto retry; in gx_irq_handler()
193 IRQCHIP_DECLARE(csky_gx6605s_intc, "csky,gx6605s-intc", gx_intc_init);
196 * C-SKY simple 64 irqs interrupt controller, dual-together could support 128
205 retry: in ck_irq_handler()
206 /* handle 0 - 63 irqs */ in ck_irq_handler()
209 goto retry; in ck_irq_handler()
213 goto retry; in ck_irq_handler()
218 /* handle 64 - 127 irqs */ in ck_irq_handler()
222 goto retry; in ck_irq_handler()
227 goto retry; in ck_irq_handler()
255 IRQCHIP_DECLARE(ck_intc, "csky,apb-intc", ck_intc_init);
262 /* dual-apb-intc up to 128 irq sources*/ in ck_dual_intc_init()
281 IRQCHIP_DECLARE(ck_dual_intc, "csky,dual-apb-intc", ck_dual_intc_init);