Ver Fonte

drm/msm: allow sde_atrace to show up on different process

Currently trace always shows up on same process as caller, add
an additional function to allow attaching trace to any process.

Change-Id: I8fc124f9d1cfae28d1868a9a3067d0e92eda934e
Signed-off-by: Adrian Salido <[email protected]>
(cherry picked from commit 52ba2d3585eb49c5d5b90b3cd75e0abe5c984dad)
Signed-off-by: Christopher Braga <[email protected]>
Signed-off-by: Samantha Tran <[email protected]>
Adrian Salido há 6 anos atrás
pai
commit
beb2d1b584
1 ficheiros alterados com 9 adições e 9 exclusões
  1. 9 9
      msm/sde/sde_trace.h

+ 9 - 9
msm/sde/sde_trace.h

@@ -135,8 +135,9 @@ TRACE_EVENT(sde_encoder_underrun,
 );
 
 TRACE_EVENT(tracing_mark_write,
-	TP_PROTO(char trace_type, int pid, const char *name, int value),
-	TP_ARGS(trace_type, pid, name, value),
+	TP_PROTO(char trace_type, const struct task_struct *task,
+		const char *name, int value),
+	TP_ARGS(trace_type, task, name, value),
 	TP_STRUCT__entry(
 			__field(char, trace_type)
 			__field(int, pid)
@@ -145,7 +146,7 @@ TRACE_EVENT(tracing_mark_write,
 	),
 	TP_fast_assign(
 			__entry->trace_type = trace_type;
-			__entry->pid = pid;
+			__entry->pid = task ? task->tgid : 0;
 			__assign_str(trace_name, name);
 			__entry->value = value;
 	),
@@ -400,14 +401,13 @@ TRACE_EVENT(sde_perf_uidle_status,
 			)
 );
 
-#define SDE_ATRACE_END(name) \
-	trace_tracing_mark_write('E', current->tgid, name, 0)
-#define SDE_ATRACE_BEGIN(name) \
-	trace_tracing_mark_write('B', current->tgid, name, 0)
+#define sde_atrace trace_tracing_mark_write
+
+#define SDE_ATRACE_END(name) sde_atrace('E', current, name, 0)
+#define SDE_ATRACE_BEGIN(name) sde_atrace('B', current, name, 0)
 #define SDE_ATRACE_FUNC() SDE_ATRACE_BEGIN(__func__)
 
-#define SDE_ATRACE_INT(name, value) \
-	trace_tracing_mark_write('C', current->tgid, name, value)
+#define SDE_ATRACE_INT(name, value) sde_atrace('C', current, name, value)
 
 #endif /* _SDE_TRACE_H_ */