From fef755d45e3f4fa8b29fcc66ea2e7a6fd4e80268 Mon Sep 17 00:00:00 2001 From: Antti P Miettinen Date: Fri, 10 Aug 2012 15:18:38 +0300 Subject: tracing: Clock lock trace events Add tracing for clock lock/unlock operations. Bug 960307 Change-Id: Id5c2d8be25900bc701e5dcd73f87c068ab6e5894 Signed-off-by: Antti P Miettinen Reviewed-on: http://git-master/r/122666 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen --- arch/arm/mach-tegra/clock.h | 3 +++ include/trace/events/power.h | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/arch/arm/mach-tegra/clock.h b/arch/arm/mach-tegra/clock.h index c27176b1cc0d..035a41c99359 100644 --- a/arch/arm/mach-tegra/clock.h +++ b/arch/arm/mach-tegra/clock.h @@ -64,6 +64,7 @@ #include #include #include +#include #include #include @@ -281,6 +282,7 @@ static inline bool clk_cansleep(struct clk *c) static inline void clk_lock_save(struct clk *c, unsigned long *flags) { + trace_clock_lock(c->name, c->rate, smp_processor_id()); if (clk_cansleep(c)) { *flags = 0; mutex_lock(&c->mutex); @@ -295,6 +297,7 @@ static inline void clk_unlock_restore(struct clk *c, unsigned long *flags) mutex_unlock(&c->mutex); else spin_unlock_irqrestore(&c->spinlock, *flags); + trace_clock_unlock(c->name, c->rate, smp_processor_id()); } static inline void clk_lock_init(struct clk *c) diff --git a/include/trace/events/power.h b/include/trace/events/power.h index 5b503e9b661c..a6be189a2b5f 100644 --- a/include/trace/events/power.h +++ b/include/trace/events/power.h @@ -306,6 +306,20 @@ DEFINE_EVENT(clock, clock_set_rate, TP_ARGS(name, state, cpu_id) ); +DEFINE_EVENT(clock, clock_lock, + + TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id), + + TP_ARGS(name, state, cpu_id) +); + +DEFINE_EVENT(clock, clock_unlock, + + TP_PROTO(const char *name, unsigned int state, unsigned int cpu_id), + + TP_ARGS(name, state, cpu_id) +); + /* * The power domain events are used for power domains transitions */ -- cgit v1.2.3