Lines Matching refs:irq
42 unsigned int irq = d->irq; in mn10300_cpupic_ack() local
47 GxICR_u8(irq) = GxICR_DETECT; in mn10300_cpupic_ack()
48 tmp = GxICR(irq); in mn10300_cpupic_ack()
52 static void __mask_and_set_icr(unsigned int irq, in __mask_and_set_icr() argument
59 tmp = GxICR(irq); in __mask_and_set_icr()
60 GxICR(irq) = (tmp & mask) | set; in __mask_and_set_icr()
61 tmp = GxICR(irq); in __mask_and_set_icr()
67 __mask_and_set_icr(d->irq, GxICR_LEVEL, 0); in mn10300_cpupic_mask()
72 unsigned int irq = d->irq; in mn10300_cpupic_mask_ack() local
79 if (!test_and_clear_bit(irq, irq_affinity_request)) { in mn10300_cpupic_mask_ack()
80 tmp = GxICR(irq); in mn10300_cpupic_mask_ack()
81 GxICR(irq) = (tmp & GxICR_LEVEL) | GxICR_DETECT; in mn10300_cpupic_mask_ack()
82 tmp = GxICR(irq); in mn10300_cpupic_mask_ack()
85 tmp = GxICR(irq); in mn10300_cpupic_mask_ack()
86 GxICR(irq) = (tmp & GxICR_LEVEL); in mn10300_cpupic_mask_ack()
87 tmp2 = GxICR(irq); in mn10300_cpupic_mask_ack()
89 irq_affinity_online[irq] = in mn10300_cpupic_mask_ack()
91 CROSS_GxICR(irq, irq_affinity_online[irq]) = in mn10300_cpupic_mask_ack()
93 tmp = CROSS_GxICR(irq, irq_affinity_online[irq]); in mn10300_cpupic_mask_ack()
98 __mask_and_set_icr(irq, GxICR_LEVEL, GxICR_DETECT); in mn10300_cpupic_mask_ack()
104 __mask_and_set_icr(d->irq, GxICR_LEVEL, GxICR_ENABLE); in mn10300_cpupic_unmask()
109 unsigned int irq = d->irq; in mn10300_cpupic_unmask_clear() local
120 if (!test_and_clear_bit(irq, irq_affinity_request)) { in mn10300_cpupic_unmask_clear()
121 tmp = GxICR(irq); in mn10300_cpupic_unmask_clear()
122 GxICR(irq) = (tmp & GxICR_LEVEL) | GxICR_ENABLE | GxICR_DETECT; in mn10300_cpupic_unmask_clear()
123 tmp = GxICR(irq); in mn10300_cpupic_unmask_clear()
125 tmp = GxICR(irq); in mn10300_cpupic_unmask_clear()
127 irq_affinity_online[irq] = cpumask_any_and(d->affinity, in mn10300_cpupic_unmask_clear()
129 CROSS_GxICR(irq, irq_affinity_online[irq]) = (tmp & GxICR_LEVEL) | GxICR_ENABLE | GxICR_DETECT; in mn10300_cpupic_unmask_clear()
130 tmp = CROSS_GxICR(irq, irq_affinity_online[irq]); in mn10300_cpupic_unmask_clear()
135 __mask_and_set_icr(irq, GxICR_LEVEL, GxICR_ENABLE | GxICR_DETECT); in mn10300_cpupic_unmask_clear()
147 set_bit(d->irq, irq_affinity_request); in mn10300_cpupic_setaffinity()
198 void ack_bad_irq(int irq) in ack_bad_irq() argument
200 printk(KERN_WARNING "unexpected IRQ trap at vector %02x\n", irq); in ack_bad_irq()
207 void set_intr_level(int irq, u16 level) in set_intr_level() argument
211 __mask_and_set_icr(irq, GxICR_ENABLE, level); in set_intr_level()
218 void mn10300_set_lateack_irq_type(int irq) in mn10300_set_lateack_irq_type() argument
220 irq_set_chip_and_handler(irq, &mn10300_cpu_pic_level, in mn10300_set_lateack_irq_type()
229 int irq; in init_IRQ() local
231 for (irq = 0; irq < NR_IRQS; irq++) in init_IRQ()
232 if (irq_get_chip(irq) == &no_irq_chip) in init_IRQ()
237 irq_set_chip_and_handler(irq, &mn10300_cpu_pic_edge, in init_IRQ()
250 int irq; in do_IRQ() local
272 irq = IAGR & IAGR_GN; in do_IRQ()
273 if (!irq) in do_IRQ()
278 generic_handle_irq(irq >> 2); in do_IRQ()
312 int irq; in migrate_irqs() local
317 for (irq = 0; irq < NR_IRQS; irq++) { in migrate_irqs()
318 struct irq_data *data = irq_get_irq_data(irq); in migrate_irqs()
324 !cpumask_intersects(&irq_affinity[irq], cpu_online_mask)) { in migrate_irqs()
331 if (irq_affinity_online[irq] == self) { in migrate_irqs()
334 x = GxICR(irq); in migrate_irqs()
335 GxICR(irq) = x & GxICR_LEVEL; in migrate_irqs()
336 tmp = GxICR(irq); in migrate_irqs()
340 irq_affinity_online[irq] = new; in migrate_irqs()
342 CROSS_GxICR(irq, new) = in migrate_irqs()
344 tmp = CROSS_GxICR(irq, new); in migrate_irqs()
347 if (GxICR(irq) & GxICR_REQUEST) in migrate_irqs()
349 CROSS_GxICR(irq, new) = x; in migrate_irqs()
350 tmp = CROSS_GxICR(irq, new); in migrate_irqs()