kgsl_power_trace.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  4. */
  5. #if !defined(_KGSL_POWER_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
  6. #define _KGSL_POWER_TRACE_H
  7. #undef TRACE_SYSTEM
  8. #define TRACE_SYSTEM power
  9. #undef TRACE_INCLUDE_PATH
  10. #define TRACE_INCLUDE_PATH .
  11. #undef TRACE_INCLUDE_FILE
  12. #define TRACE_INCLUDE_FILE kgsl_power_trace
  13. #include <linux/tracepoint.h>
  14. DECLARE_EVENT_CLASS(gpu_work_period_class,
  15. TP_PROTO(u32 gpu_id, u32 uid, u64 start_time_ns,
  16. u64 end_time_ns, u64 total_active_duration_ns),
  17. TP_ARGS(gpu_id, uid, start_time_ns, end_time_ns, total_active_duration_ns),
  18. TP_STRUCT__entry(
  19. __field(u32, gpu_id)
  20. __field(u32, uid)
  21. __field(u64, start_time_ns)
  22. __field(u64, end_time_ns)
  23. __field(u64, total_active_duration_ns)
  24. ),
  25. TP_fast_assign(
  26. __entry->gpu_id = gpu_id;
  27. __entry->uid = uid;
  28. __entry->start_time_ns = start_time_ns;
  29. __entry->end_time_ns = end_time_ns;
  30. __entry->total_active_duration_ns = total_active_duration_ns;
  31. ),
  32. TP_printk("gpu_id=%u uid=%u start_time_ns=%llu end_time_ns=%llu total_active_duration_ns=%llu",
  33. __entry->gpu_id,
  34. __entry->uid,
  35. __entry->start_time_ns,
  36. __entry->end_time_ns,
  37. __entry->total_active_duration_ns)
  38. );
  39. DEFINE_EVENT(gpu_work_period_class, gpu_work_period,
  40. TP_PROTO(u32 gpu_id, u32 uid, u64 start_time_ns,
  41. u64 end_time_ns, u64 total_active_duration_ns),
  42. TP_ARGS(gpu_id, uid, start_time_ns, end_time_ns, total_active_duration_ns)
  43. );
  44. #endif /* _KGSL_POWER_TRACE_H */
  45. /* This part must be outside protection */
  46. #include <trace/define_trace.h>