mpdcvs_trace.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. /* Copyright (c) 2012, Free Software Foundation. All rights reserved.
  2. *
  3. * This program is free software; you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License version 2 and
  5. * only version 2 as published by the Free Software Foundation.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. */
  12. #undef TRACE_SYSTEM
  13. #define TRACE_SYSTEM mpdcvs_trace
  14. #if !defined(_TRACE_MPDCVS_H) || defined(TRACE_HEADER_MULTI_READ)
  15. #define _TRACE_MPDCVS_H
  16. #include <linux/tracepoint.h>
  17. DECLARE_EVENT_CLASS(msm_mp,
  18. TP_PROTO(const char *name, int mp_val),
  19. TP_ARGS(name, mp_val),
  20. TP_STRUCT__entry(
  21. __string(name, name)
  22. __field(int, mp_val)
  23. ),
  24. TP_fast_assign(
  25. __assign_str(name, name);
  26. __entry->mp_val = mp_val;
  27. ),
  28. TP_printk("ev_name=%s ev_level=%d",
  29. __get_str(name),
  30. __entry->mp_val)
  31. );
  32. /* Core function of run_q */
  33. DEFINE_EVENT(msm_mp, msm_mp_runq,
  34. TP_PROTO(const char *name, int mp_val),
  35. TP_ARGS(name, mp_val)
  36. );
  37. DEFINE_EVENT(msm_mp, msm_mp_cpusonline,
  38. TP_PROTO(const char *name, int mp_val),
  39. TP_ARGS(name, mp_val)
  40. );
  41. DEFINE_EVENT(msm_mp, msm_mp_slacktime,
  42. TP_PROTO(const char *name, int mp_val),
  43. TP_ARGS(name, mp_val)
  44. );
  45. DECLARE_EVENT_CLASS(msm_dcvs,
  46. TP_PROTO(const char *name, const char *cpuid, int val),
  47. TP_ARGS(name, cpuid, val),
  48. TP_STRUCT__entry(
  49. __string(name, name)
  50. __string(cpuid, cpuid)
  51. __field(int, val)
  52. ),
  53. TP_fast_assign(
  54. __assign_str(name, name);
  55. __assign_str(cpuid, cpuid);
  56. __entry->val = val;
  57. ),
  58. TP_printk("ev_name=%s d_name=%s ev_level=%d",
  59. __get_str(name),
  60. __get_str(cpuid),
  61. __entry->val)
  62. );
  63. /* Core function of dcvs */
  64. DEFINE_EVENT(msm_dcvs, msm_dcvs_idle,
  65. TP_PROTO(const char *name, const char *cpuid, int val),
  66. TP_ARGS(name, cpuid, val)
  67. );
  68. DEFINE_EVENT(msm_dcvs, msm_dcvs_iowait,
  69. TP_PROTO(const char *name, const char *cpuid, int val),
  70. TP_ARGS(name, cpuid, val)
  71. );
  72. DEFINE_EVENT(msm_dcvs, msm_dcvs_slack_time,
  73. TP_PROTO(const char *name, const char *cpuid, int val),
  74. TP_ARGS(name, cpuid, val)
  75. );
  76. DECLARE_EVENT_CLASS(msm_dcvs_scm,
  77. TP_PROTO(unsigned long cpuid, int ev_type, unsigned long param0,
  78. unsigned long param1, unsigned long ret0, unsigned long ret1),
  79. TP_ARGS(cpuid, ev_type, param0, param1, ret0, ret1),
  80. TP_STRUCT__entry(
  81. __field(unsigned long, cpuid)
  82. __field(int, ev_type)
  83. __field(unsigned long, param0)
  84. __field(unsigned long, param1)
  85. __field(unsigned long, ret0)
  86. __field(unsigned long, ret1)
  87. ),
  88. TP_fast_assign(
  89. __entry->cpuid = cpuid;
  90. __entry->ev_type = ev_type;
  91. __entry->param0 = param0;
  92. __entry->param1 = param1;
  93. __entry->ret0 = ret0;
  94. __entry->ret1 = ret1;
  95. ),
  96. TP_printk("dev=%lu ev_type=%d ev_param0=%lu ev_param1=%lu ev_ret0=%lu ev_ret1=%lu",
  97. __entry->cpuid,
  98. __entry->ev_type,
  99. __entry->param0,
  100. __entry->param1,
  101. __entry->ret0,
  102. __entry->ret1)
  103. );
  104. DEFINE_EVENT(msm_dcvs_scm, msm_dcvs_scm_event,
  105. TP_PROTO(unsigned long cpuid, int ev_type, unsigned long param0,
  106. unsigned long param1, unsigned long ret0, unsigned long ret1),
  107. TP_ARGS(cpuid, ev_type, param0, param1, ret0, ret1)
  108. );
  109. #endif /* _TRACE_MPDCVS_H */
  110. /* This part must be outside protection */
  111. #include <trace/define_trace.h>