Lines Matching +full:protection +full:- +full:domain

2  * linux/arch/arm/mach-omap2/irq.c
26 #include <linux/irqchip/irq-omap-intc.h>
59 u32 protection; member
67 static struct irq_domain *domain; variable
88 intc_context.protection = in omap_intc_save_context()
108 intc_writel(INTC_PROTECTION, intc_context.protection); in omap_intc_restore_context()
134 /* Re-enable autoidle */ in omap3_intc_resume_idle()
205 gc->reg_base = base; in omap_alloc_gc_of()
206 ct = gc->chip_types; in omap_alloc_gc_of()
208 ct->type = IRQ_TYPE_LEVEL_MASK; in omap_alloc_gc_of()
210 ct->chip.irq_ack = omap_mask_ack_irq; in omap_alloc_gc_of()
211 ct->chip.irq_mask = irq_gc_mask_disable_reg; in omap_alloc_gc_of()
212 ct->chip.irq_unmask = irq_gc_unmask_enable_reg; in omap_alloc_gc_of()
214 ct->chip.flags |= IRQCHIP_SKIP_SET_WAKE; in omap_alloc_gc_of()
216 ct->regs.enable = INTC_MIR_CLEAR0 + 32 * i; in omap_alloc_gc_of()
217 ct->regs.disable = INTC_MIR_SET0 + 32 * i; in omap_alloc_gc_of()
231 ct = gc->chip_types; in omap_alloc_gc_legacy()
232 ct->chip.irq_ack = omap_mask_ack_irq; in omap_alloc_gc_legacy()
233 ct->chip.irq_mask = irq_gc_mask_disable_reg; in omap_alloc_gc_legacy()
234 ct->chip.irq_unmask = irq_gc_unmask_enable_reg; in omap_alloc_gc_legacy()
235 ct->chip.flags |= IRQCHIP_SKIP_SET_WAKE; in omap_alloc_gc_legacy()
237 ct->regs.enable = INTC_MIR_CLEAR0; in omap_alloc_gc_legacy()
238 ct->regs.disable = INTC_MIR_SET0; in omap_alloc_gc_legacy()
249 return -ENOMEM; in omap_init_irq_of()
251 domain = irq_domain_add_linear(node, omap_nr_irqs, in omap_init_irq_of()
256 ret = omap_alloc_gc_of(domain, omap_irq_base); in omap_init_irq_of()
258 irq_domain_remove(domain); in omap_init_irq_of()
269 return -ENOMEM; in omap_init_irq_legacy()
271 irq_base = irq_alloc_descs(-1, 0, omap_nr_irqs, 0); in omap_init_irq_legacy()
277 domain = irq_domain_add_legacy(node, omap_nr_irqs, irq_base, 0, in omap_init_irq_legacy()
302 * FIXME legacy OMAP DMA driver sitting under arch/arm/plat-omap/dma.c in omap_init_irq()
305 * linear IRQ Domain until that driver is finally fixed. in omap_init_irq()
307 if (of_device_is_compatible(node, "ti,omap2-intc") || in omap_init_irq()
308 of_device_is_compatible(node, "ti,omap3-intc")) { in omap_init_irq()
312 return -ENOMEM; in omap_init_irq()
359 generic_handle_domain_irq(domain, irqnr); in omap_intc_handle_irq()
371 return -ENODEV; in intc_of_init()
373 if (of_device_is_compatible(node, "ti,dm814-intc") || in intc_of_init()
374 of_device_is_compatible(node, "ti,dm816-intc") || in intc_of_init()
375 of_device_is_compatible(node, "ti,am33xx-intc")) { in intc_of_init()
380 ret = omap_init_irq(-1, of_node_get(node)); in intc_of_init()
389 IRQCHIP_DECLARE(omap2_intc, "ti,omap2-intc", intc_of_init);
390 IRQCHIP_DECLARE(omap3_intc, "ti,omap3-intc", intc_of_init);
391 IRQCHIP_DECLARE(dm814x_intc, "ti,dm814-intc", intc_of_init);
392 IRQCHIP_DECLARE(dm816x_intc, "ti,dm816-intc", intc_of_init);
393 IRQCHIP_DECLARE(am33xx_intc, "ti,am33xx-intc", intc_of_init);