aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/irq_ia64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kernel/irq_ia64.c')
-rw-r--r--arch/ia64/kernel/irq_ia64.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index 1034884b77da..0884f5ecbcc3 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -364,7 +364,6 @@ static irqreturn_t smp_irq_move_cleanup_interrupt(int irq, void *dev_id)
364 364
365static struct irqaction irq_move_irqaction = { 365static struct irqaction irq_move_irqaction = {
366 .handler = smp_irq_move_cleanup_interrupt, 366 .handler = smp_irq_move_cleanup_interrupt,
367 .flags = IRQF_DISABLED,
368 .name = "irq_move" 367 .name = "irq_move"
369}; 368};
370 369
@@ -489,14 +488,13 @@ ia64_handle_irq (ia64_vector vector, struct pt_regs *regs)
489 ia64_srlz_d(); 488 ia64_srlz_d();
490 while (vector != IA64_SPURIOUS_INT_VECTOR) { 489 while (vector != IA64_SPURIOUS_INT_VECTOR) {
491 int irq = local_vector_to_irq(vector); 490 int irq = local_vector_to_irq(vector);
492 struct irq_desc *desc = irq_to_desc(irq);
493 491
494 if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { 492 if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) {
495 smp_local_flush_tlb(); 493 smp_local_flush_tlb();
496 kstat_incr_irqs_this_cpu(irq, desc); 494 kstat_incr_irq_this_cpu(irq);
497 } else if (unlikely(IS_RESCHEDULE(vector))) { 495 } else if (unlikely(IS_RESCHEDULE(vector))) {
498 scheduler_ipi(); 496 scheduler_ipi();
499 kstat_incr_irqs_this_cpu(irq, desc); 497 kstat_incr_irq_this_cpu(irq);
500 } else { 498 } else {
501 ia64_setreg(_IA64_REG_CR_TPR, vector); 499 ia64_setreg(_IA64_REG_CR_TPR, vector);
502 ia64_srlz_d(); 500 ia64_srlz_d();
@@ -549,13 +547,12 @@ void ia64_process_pending_intr(void)
549 */ 547 */
550 while (vector != IA64_SPURIOUS_INT_VECTOR) { 548 while (vector != IA64_SPURIOUS_INT_VECTOR) {
551 int irq = local_vector_to_irq(vector); 549 int irq = local_vector_to_irq(vector);
552 struct irq_desc *desc = irq_to_desc(irq);
553 550
554 if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { 551 if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) {
555 smp_local_flush_tlb(); 552 smp_local_flush_tlb();
556 kstat_incr_irqs_this_cpu(irq, desc); 553 kstat_incr_irq_this_cpu(irq);
557 } else if (unlikely(IS_RESCHEDULE(vector))) { 554 } else if (unlikely(IS_RESCHEDULE(vector))) {
558 kstat_incr_irqs_this_cpu(irq, desc); 555 kstat_incr_irq_this_cpu(irq);
559 } else { 556 } else {
560 struct pt_regs *old_regs = set_irq_regs(NULL); 557 struct pt_regs *old_regs = set_irq_regs(NULL);
561 558
@@ -602,7 +599,6 @@ static irqreturn_t dummy_handler (int irq, void *dev_id)
602 599
603static struct irqaction ipi_irqaction = { 600static struct irqaction ipi_irqaction = {
604 .handler = handle_IPI, 601 .handler = handle_IPI,
605 .flags = IRQF_DISABLED,
606 .name = "IPI" 602 .name = "IPI"
607}; 603};
608 604
@@ -611,13 +607,11 @@ static struct irqaction ipi_irqaction = {
611 */ 607 */
612static struct irqaction resched_irqaction = { 608static struct irqaction resched_irqaction = {
613 .handler = dummy_handler, 609 .handler = dummy_handler,
614 .flags = IRQF_DISABLED,
615 .name = "resched" 610 .name = "resched"
616}; 611};
617 612
618static struct irqaction tlb_irqaction = { 613static struct irqaction tlb_irqaction = {
619 .handler = dummy_handler, 614 .handler = dummy_handler,
620 .flags = IRQF_DISABLED,
621 .name = "tlb_flush" 615 .name = "tlb_flush"
622}; 616};
623 617