summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Kwong <akwong@codeaurora.org>2016-10-28 08:59:48 -0400
committerAlan Kwong <akwong@codeaurora.org>2016-11-11 16:07:17 -0500
commit9151c700369028bf1560a8dbf3825bf448a934f7 (patch)
tree865fcea018c88f52c7fdb939e1f8a398c58292d8
parentdf86a7b92a14daf9d73e9ad2e4bfeac2ca329bdc (diff)
drm/msm/sde: add systrace compatible trace macro
Add systrace compatible trace macro to log begin/end and counter events. This is useful for correlating user mode and kernel events. Change-Id: I6c5108fb8ddacc36b51ba2541d32541dd28856e2 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
-rw-r--r--drivers/gpu/drm/msm/sde/sde_trace.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/sde/sde_trace.h b/drivers/gpu/drm/msm/sde/sde_trace.h
index 950145cb69bb..5054af5ab10f 100644
--- a/drivers/gpu/drm/msm/sde/sde_trace.h
+++ b/drivers/gpu/drm/msm/sde/sde_trace.h
@@ -92,6 +92,48 @@ TRACE_EVENT(sde_perf_set_ot,
__entry->vbif_idx)
)
+
+TRACE_EVENT(sde_mark_write,
+ TP_PROTO(int pid, const char *name, bool trace_begin),
+ TP_ARGS(pid, name, trace_begin),
+ TP_STRUCT__entry(
+ __field(int, pid)
+ __string(trace_name, name)
+ __field(bool, trace_begin)
+ ),
+ TP_fast_assign(
+ __entry->pid = pid;
+ __assign_str(trace_name, name);
+ __entry->trace_begin = trace_begin;
+ ),
+ TP_printk("%s|%d|%s", __entry->trace_begin ? "B" : "E",
+ __entry->pid, __get_str(trace_name))
+)
+
+TRACE_EVENT(sde_trace_counter,
+ TP_PROTO(int pid, char *name, int value),
+ TP_ARGS(pid, name, value),
+ TP_STRUCT__entry(
+ __field(int, pid)
+ __string(counter_name, name)
+ __field(int, value)
+ ),
+ TP_fast_assign(
+ __entry->pid = current->tgid;
+ __assign_str(counter_name, name);
+ __entry->value = value;
+ ),
+ TP_printk("%d|%s|%d", __entry->pid,
+ __get_str(counter_name), __entry->value)
+)
+
+#define SDE_ATRACE_END(name) trace_sde_mark_write(current->tgid, name, 0)
+#define SDE_ATRACE_BEGIN(name) trace_sde_mark_write(current->tgid, name, 1)
+#define SDE_ATRACE_FUNC() SDE_ATRACE_BEGIN(__func__)
+
+#define SDE_ATRACE_INT(name, value) \
+ trace_sde_trace_counter(current->tgid, name, value)
+
#endif /* _SDE_TRACE_H_ */
/* This part must be outside protection */