power.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #undef TRACE_SYSTEM
  2. #define TRACE_SYSTEM power
  3. #if !defined(_TRACE_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
  4. #define _TRACE_POWER_H
  5. #include <linux/ktime.h>
  6. #include <linux/tracepoint.h>
  7. #ifndef _TRACE_POWER_ENUM_
  8. #define _TRACE_POWER_ENUM_
  9. enum {
  10. POWER_NONE = 0,
  11. POWER_CSTATE = 1,
  12. POWER_PSTATE = 2,
  13. };
  14. #endif
  15. DECLARE_EVENT_CLASS(power,
  16. TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
  17. TP_ARGS(type, state, cpu_id),
  18. TP_STRUCT__entry(
  19. __field( u64, type )
  20. __field( u64, state )
  21. __field( u64, cpu_id )
  22. ),
  23. TP_fast_assign(
  24. __entry->type = type;
  25. __entry->state = state;
  26. __entry->cpu_id = cpu_id;
  27. ),
  28. TP_printk("type=%lu state=%lu cpu_id=%lu", (unsigned long)__entry->type,
  29. (unsigned long)__entry->state, (unsigned long)__entry->cpu_id)
  30. );
  31. DEFINE_EVENT(power, power_start,
  32. TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
  33. TP_ARGS(type, state, cpu_id)
  34. );
  35. DEFINE_EVENT(power, power_frequency,
  36. TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
  37. TP_ARGS(type, state, cpu_id)
  38. );
  39. TRACE_EVENT(power_end,
  40. TP_PROTO(unsigned int cpu_id),
  41. TP_ARGS(cpu_id),
  42. TP_STRUCT__entry(
  43. __field( u64, cpu_id )
  44. ),
  45. TP_fast_assign(
  46. __entry->cpu_id = cpu_id;
  47. ),
  48. TP_printk("cpu_id=%lu", (unsigned long)__entry->cpu_id)
  49. );
  50. #endif /* _TRACE_POWER_H */
  51. /* This part must be outside protection */
  52. #include <trace/define_trace.h>