trace-cluster-lpm.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2021, The Linux Foundation. All rights reserved.
  4. */
  5. #if !defined(_TRACE_CLUSTER_LPM_H) || defined(TRACE_HEADER_MULTI_READ)
  6. #define _TRACE_CLUSTER_LPM_H
  7. #undef TRACE_SYSTEM
  8. #define TRACE_SYSTEM cluster_lpm
  9. #include <linux/tracepoint.h>
  10. TRACE_EVENT(cluster_pred_select,
  11. TP_PROTO(int index, u32 sleep_us,
  12. u32 latency, int pred, u32 pred_us),
  13. TP_ARGS(index, sleep_us, latency, pred, pred_us),
  14. TP_STRUCT__entry(
  15. __field(int, index)
  16. __field(u32, sleep_us)
  17. __field(u32, latency)
  18. __field(int, pred)
  19. __field(u32, pred_us)
  20. ),
  21. TP_fast_assign(
  22. __entry->index = index;
  23. __entry->sleep_us = sleep_us;
  24. __entry->latency = latency;
  25. __entry->pred = pred;
  26. __entry->pred_us = pred_us;
  27. ),
  28. TP_printk("idx:%d sleep_time:%u latency:%u pred:%d pred_us:%u",
  29. __entry->index, __entry->sleep_us,
  30. __entry->latency, __entry->pred, __entry->pred_us)
  31. );
  32. TRACE_EVENT(cluster_pred_hist,
  33. TP_PROTO(int idx, u32 resi, u32 sample, u32 tmr),
  34. TP_ARGS(idx, resi, sample, tmr),
  35. TP_STRUCT__entry(
  36. __field(int, idx)
  37. __field(u32, resi)
  38. __field(u32, sample)
  39. __field(u32, tmr)
  40. ),
  41. TP_fast_assign(
  42. __entry->idx = idx;
  43. __entry->resi = resi;
  44. __entry->sample = sample;
  45. __entry->tmr = tmr;
  46. ),
  47. TP_printk("idx:%d resi:%u sample:%u tmr:%u",
  48. __entry->idx, __entry->resi,
  49. __entry->sample, __entry->tmr)
  50. );
  51. TRACE_EVENT(cluster_exit,
  52. TP_PROTO(int cpu, u32 idx, u32 suspend_param),
  53. TP_ARGS(cpu, idx, suspend_param),
  54. TP_STRUCT__entry(
  55. __field(int, cpu)
  56. __field(u32, idx)
  57. __field(u32, suspend_param)
  58. ),
  59. TP_fast_assign(
  60. __entry->cpu = cpu;
  61. __entry->idx = idx;
  62. __entry->suspend_param = suspend_param;
  63. ),
  64. TP_printk("first cpu:%d idx:%u suspend_param:0x%x", __entry->cpu,
  65. __entry->idx, __entry->suspend_param)
  66. );
  67. TRACE_EVENT(cluster_enter,
  68. TP_PROTO(int cpu, u32 idx, u32 suspend_param),
  69. TP_ARGS(cpu, idx, suspend_param),
  70. TP_STRUCT__entry(
  71. __field(int, cpu)
  72. __field(u32, idx)
  73. __field(u32, suspend_param)
  74. ),
  75. TP_fast_assign(
  76. __entry->cpu = cpu;
  77. __entry->idx = idx;
  78. __entry->suspend_param = suspend_param;
  79. ),
  80. TP_printk("last cpu:%d idx:%u suspend_param:0x%x", __entry->cpu,
  81. __entry->idx, __entry->suspend_param)
  82. );
  83. #endif /* _TRACE_QCOM_LPM_H */
  84. #undef TRACE_INCLUDE_PATH
  85. #define TRACE_INCLUDE_PATH .
  86. #undef TRACE_INCLUDE_FILE
  87. #define TRACE_INCLUDE_FILE trace-cluster-lpm
  88. #include <trace/define_trace.h>