aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2014-02-23 16:40:17 -0500
committerThomas Gleixner <tglx@linutronix.de>2014-03-04 11:37:54 -0500
commit3611587aa15f4ff75a2af3483d6a02accada8ec8 (patch)
tree6862defdd428175efe0374238e43854f67995d65 /arch/ia64
parentbc5dfcff65f24f15567f766d8bd081d594ef8cc2 (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.c10
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