summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSivaram Nair <sivaramn@nvidia.com>2012-05-09 19:51:38 +0300
committerSimone Willett <swillett@nvidia.com>2012-05-14 18:34:31 -0700
commitbc32f830de9ff80972f30fbb0b61c1937cf7c451 (patch)
tree28b412ec9ebd87eb1bcd440c840df8a34aed7a12
parente463cd94c8a523c00624616ea94a5f20e4e5d3dc (diff)
ARM: tegra: pm: suspend trace event
A new trace event is added for tracing cpu suspend start and end Change-Id: I2506e3aed0692c44fb4325e9d381cea53228b0c3 Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/101748 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/pm.c4
-rw-r--r--include/trace/events/power.h22
2 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c
index 72ae30a6a29a..896e9576e1c0 100644
--- a/arch/arm/mach-tegra/pm.c
+++ b/arch/arm/mach-tegra/pm.c
@@ -878,6 +878,8 @@ int tegra_suspend_dram(enum tegra_suspend_mode mode, unsigned int flags)
local_fiq_disable();
+ trace_cpu_suspend(CPU_SUSPEND_START);
+
cpu_pm_enter();
cpu_complex_pm_enter();
@@ -941,6 +943,8 @@ int tegra_suspend_dram(enum tegra_suspend_mode mode, unsigned int flags)
if (pdata && pdata->board_resume)
pdata->board_resume(mode, TEGRA_RESUME_AFTER_CPU);
+ trace_cpu_suspend(CPU_SUSPEND_DONE);
+
local_fiq_enable();
tegra_common_resume();
diff --git a/include/trace/events/power.h b/include/trace/events/power.h
index 9c9699a2b457..5b503e9b661c 100644
--- a/include/trace/events/power.h
+++ b/include/trace/events/power.h
@@ -41,6 +41,11 @@ DEFINE_EVENT(cpu, cpu_idle,
#define PWR_EVENT_EXIT -1
enum {
+ CPU_SUSPEND_START,
+ CPU_SUSPEND_DONE
+};
+
+enum {
POWER_CPU_UP_START,
POWER_CPU_UP_DONE,
POWER_CPU_DOWN_START,
@@ -59,6 +64,23 @@ enum {
#endif
+TRACE_EVENT(cpu_suspend,
+
+ TP_PROTO(unsigned int state),
+
+ TP_ARGS(state),
+
+ TP_STRUCT__entry(
+ __field(u32, state)
+ ),
+
+ TP_fast_assign(
+ __entry->state = state;
+ ),
+
+ TP_printk("state=%lu", (unsigned long)__entry->state)
+);
+
TRACE_EVENT(cpu_hotplug,
TP_PROTO(unsigned int cpu_id, int state),