aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/time.c')
-rw-r--r--arch/powerpc/kernel/time.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 6c9e20898fa7..e9af16cc7c0c 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -54,6 +54,7 @@
54#include <linux/irq.h> 54#include <linux/irq.h>
55#include <linux/delay.h> 55#include <linux/delay.h>
56#include <linux/perf_event.h> 56#include <linux/perf_event.h>
57#include <asm/trace.h>
57 58
58#include <asm/io.h> 59#include <asm/io.h>
59#include <asm/processor.h> 60#include <asm/processor.h>
@@ -572,6 +573,8 @@ void timer_interrupt(struct pt_regs * regs)
572 struct clock_event_device *evt = &decrementer->event; 573 struct clock_event_device *evt = &decrementer->event;
573 u64 now; 574 u64 now;
574 575
576 trace_timer_interrupt_entry(regs);
577
575 /* Ensure a positive value is written to the decrementer, or else 578 /* Ensure a positive value is written to the decrementer, or else
576 * some CPUs will continuue to take decrementer exceptions */ 579 * some CPUs will continuue to take decrementer exceptions */
577 set_dec(DECREMENTER_MAX); 580 set_dec(DECREMENTER_MAX);
@@ -591,6 +594,7 @@ void timer_interrupt(struct pt_regs * regs)
591 now = decrementer->next_tb - now; 594 now = decrementer->next_tb - now;
592 if (now <= DECREMENTER_MAX) 595 if (now <= DECREMENTER_MAX)
593 set_dec((int)now); 596 set_dec((int)now);
597 trace_timer_interrupt_exit(regs);
594 return; 598 return;
595 } 599 }
596 old_regs = set_irq_regs(regs); 600 old_regs = set_irq_regs(regs);
@@ -621,6 +625,8 @@ void timer_interrupt(struct pt_regs * regs)
621 625
622 irq_exit(); 626 irq_exit();
623 set_irq_regs(old_regs); 627 set_irq_regs(old_regs);
628
629 trace_timer_interrupt_exit(regs);
624} 630}
625 631
626void wakeup_decrementer(void) 632void wakeup_decrementer(void)