trace.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /* SPDX-License-Identifier: GPL-2.0-only
  2. *
  3. * Copyright (c) 2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #undef TRACE_SYSTEM
  7. #define TRACE_SYSTEM clk_qcom
  8. #if !defined(_TRACE_CLOCK_QCOM_H) || defined(TRACE_HEADER_MULTI_READ)
  9. #define _TRACE_CLOCK_QCOM
  10. #include <linux/tracepoint.h>
  11. DECLARE_EVENT_CLASS(clk_state_dump,
  12. TP_PROTO(const char *name, unsigned int prepare_count,
  13. unsigned int enable_count, unsigned long rate, unsigned int vdd_level),
  14. TP_ARGS(name, prepare_count, enable_count, rate, vdd_level),
  15. TP_STRUCT__entry(
  16. __string(name, name)
  17. __field(unsigned int, prepare_count)
  18. __field(unsigned int, enable_count)
  19. __field(unsigned long, rate)
  20. __field(unsigned int, vdd_level)
  21. ),
  22. TP_fast_assign(
  23. __assign_str(name, name);
  24. __entry->prepare_count = prepare_count;
  25. __entry->enable_count = enable_count;
  26. __entry->rate = rate;
  27. __entry->vdd_level = vdd_level;
  28. ),
  29. TP_printk("%s\tprepare:enable cnt [%u:%u]\trate: vdd_level [%lu:%u]",
  30. __get_str(name), __entry->prepare_count, __entry->enable_count,
  31. __entry->rate, __entry->vdd_level)
  32. );
  33. DEFINE_EVENT(clk_state_dump, clk_state,
  34. TP_PROTO(const char *name, unsigned int prepare_count,
  35. unsigned int enable_count, unsigned long rate, unsigned int vdd_level),
  36. TP_ARGS(name, prepare_count, enable_count, rate, vdd_level)
  37. );
  38. DECLARE_EVENT_CLASS(clk_measure_support,
  39. TP_PROTO(const char *name, unsigned long rate),
  40. TP_ARGS(name, rate),
  41. TP_STRUCT__entry(
  42. __string(name, name)
  43. __field(unsigned long, rate)
  44. ),
  45. TP_fast_assign(
  46. __assign_str(name, name);
  47. __entry->rate = rate;
  48. ),
  49. TP_printk("%s rate: %lu",
  50. __get_str(name), (unsigned long)__entry->rate)
  51. );
  52. DEFINE_EVENT(clk_measure_support, clk_measure,
  53. TP_PROTO(const char *name, unsigned long rate),
  54. TP_ARGS(name, rate)
  55. );
  56. #endif /* _TRACE_CLOCK_QCOM */
  57. /* This part must be outside protection */
  58. #undef TRACE_INCLUDE_PATH
  59. #define TRACE_INCLUDE_PATH .
  60. #undef TRACE_INCLUDE_FILE
  61. #define TRACE_INCLUDE_FILE trace
  62. #include <trace/define_trace.h>