diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2014-02-23 16:40:17 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2014-03-04 11:37:54 -0500 |
commit | 3611587aa15f4ff75a2af3483d6a02accada8ec8 (patch) | |
tree | 6862defdd428175efe0374238e43854f67995d65 /arch/ia64 | |
parent | bc5dfcff65f24f15567f766d8bd081d594ef8cc2 (diff) |
ia64: Use the core irq stats function
Let the core do the irq_desc resolution.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: ia64 <linux-ia64@vger.kernel.org>
Link: http://lkml.kernel.org/r/20140223212738.099977064@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/kernel/irq_ia64.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index 1034884b77da..c8a576b27736 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c | |||
@@ -489,14 +489,13 @@ ia64_handle_irq (ia64_vector vector, struct pt_regs *regs) | |||
489 | ia64_srlz_d(); | 489 | ia64_srlz_d(); |
490 | while (vector != IA64_SPURIOUS_INT_VECTOR) { | 490 | while (vector != IA64_SPURIOUS_INT_VECTOR) { |
491 | int irq = local_vector_to_irq(vector); | 491 | int irq = local_vector_to_irq(vector); |
492 | struct irq_desc *desc = irq_to_desc(irq); | ||
493 | 492 | ||
494 | if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { | 493 | if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { |
495 | smp_local_flush_tlb(); | 494 | smp_local_flush_tlb(); |
496 | kstat_incr_irqs_this_cpu(irq, desc); | 495 | kstat_incr_irq_this_cpu(irq); |
497 | } else if (unlikely(IS_RESCHEDULE(vector))) { | 496 | } else if (unlikely(IS_RESCHEDULE(vector))) { |
498 | scheduler_ipi(); | 497 | scheduler_ipi(); |
499 | kstat_incr_irqs_this_cpu(irq, desc); | 498 | kstat_incr_irq_this_cpu(irq); |
500 | } else { | 499 | } else { |
501 | ia64_setreg(_IA64_REG_CR_TPR, vector); | 500 | ia64_setreg(_IA64_REG_CR_TPR, vector); |
502 | ia64_srlz_d(); | 501 | ia64_srlz_d(); |
@@ -549,13 +548,12 @@ void ia64_process_pending_intr(void) | |||
549 | */ | 548 | */ |
550 | while (vector != IA64_SPURIOUS_INT_VECTOR) { | 549 | while (vector != IA64_SPURIOUS_INT_VECTOR) { |
551 | int irq = local_vector_to_irq(vector); | 550 | int irq = local_vector_to_irq(vector); |
552 | struct irq_desc *desc = irq_to_desc(irq); | ||
553 | 551 | ||
554 | if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { | 552 | if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { |
555 | smp_local_flush_tlb(); | 553 | smp_local_flush_tlb(); |
556 | kstat_incr_irqs_this_cpu(irq, desc); | 554 | kstat_incr_irq_this_cpu(irq); |
557 | } else if (unlikely(IS_RESCHEDULE(vector))) { | 555 | } else if (unlikely(IS_RESCHEDULE(vector))) { |
558 | kstat_incr_irqs_this_cpu(irq, desc); | 556 | kstat_incr_irq_this_cpu(irq); |
559 | } else { | 557 | } else { |
560 | struct pt_regs *old_regs = set_irq_regs(NULL); | 558 | struct pt_regs *old_regs = set_irq_regs(NULL); |
561 | 559 | ||