Merge "msm: tracing: Add ftrace support for LPM resources"
diff --git a/Documentation/trace/events-msm-low-power.txt b/Documentation/trace/events-msm-low-power.txt
index 3e01558..5414146 100644
--- a/Documentation/trace/events-msm-low-power.txt
+++ b/Documentation/trace/events-msm-low-power.txt
@@ -43,3 +43,15 @@
The 'success' parameter shows the state of power collapse/standalone power
collapse. It will be set if power collapse/standalone power collapse were
successful. For the rest of the low power modes it is set to one.
+
+3) lpm_resources
+=================
+lpm_resources: name:%s sleep_value:%d
+
+This event captures parameters for each of the lpm resources.
+
+The 'name' parameter represents the name of the lpm resource and it can hold
+l2, pxo, vdd mem, vdd dig depending on the resource chosen during power
+collapse.
+
+The 'sleep_value' parameter corresponds to the sleep value set for the resource.
diff --git a/arch/arm/mach-msm/lpm_resources.c b/arch/arm/mach-msm/lpm_resources.c
index 255cd46..c21ea33 100644
--- a/arch/arm/mach-msm/lpm_resources.c
+++ b/arch/arm/mach-msm/lpm_resources.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012, Code Aurora Forum. All rights reserved.
+/* Copyright (c) 2012, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -27,6 +27,7 @@
#include "lpm_resources.h"
#include "rpm-notifier.h"
#include "idle.h"
+#include "trace_msm_low_power.h"
/*Debug Definitions*/
enum {
@@ -417,6 +418,7 @@
if (rs->valid)
rs->sleep_value = limits->l2_cache;
+ trace_lpm_resources(rs->sleep_value, rs->name);
}
static void msm_lpm_flush_l2(int notify_rpm)
@@ -497,6 +499,7 @@
else
rs->sleep_value = vdd_buf;
}
+ trace_lpm_resources(rs->sleep_value, rs->name);
}
static void msm_lpm_flush_vdd_dig(int notify_rpm)
@@ -551,6 +554,7 @@
else
rs->sleep_value = vdd_buf;
}
+ trace_lpm_resources(rs->sleep_value, rs->name);
}
static void msm_lpm_flush_vdd_mem(int notify_rpm)
@@ -608,6 +612,7 @@
pr_info("%s: pxo buf %d sleep value %d\n",
__func__, pxo_buf, rs->sleep_value);
}
+ trace_lpm_resources(rs->sleep_value, rs->name);
}
static void msm_lpm_flush_pxo(int notify_rpm)
diff --git a/arch/arm/mach-msm/trace_msm_low_power.h b/arch/arm/mach-msm/trace_msm_low_power.h
index aa0a744..4e9da85 100644
--- a/arch/arm/mach-msm/trace_msm_low_power.h
+++ b/arch/arm/mach-msm/trace_msm_low_power.h
@@ -126,6 +126,27 @@
TP_ARGS(cpu, success)
);
+
+TRACE_EVENT(lpm_resources,
+
+ TP_PROTO(uint32_t sleep_value , char *name),
+
+ TP_ARGS(sleep_value, name),
+
+ TP_STRUCT__entry(
+ __field(uint32_t , sleep_value)
+ __string(name, name)
+ ),
+
+ TP_fast_assign(
+ __entry->sleep_value = sleep_value;
+ __assign_str(name, name);
+ ),
+
+ TP_printk("name:%s sleep_value:%d",
+ __get_str(name),
+ __entry->sleep_value)
+);
#endif
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH .