ubwcp_trace.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  4. */
  5. #if !defined(TRACE_UBWCP_H) || defined(TRACE_HEADER_MULTI_READ)
  6. #define TRACE_UBWCP_H
  7. #undef TRACE_SYSTEM
  8. #define TRACE_SYSTEM ubwcp
  9. /* Path must be relative to location of 'define_trace.h' header in kernel */
  10. #undef TRACE_INCLUDE_PATH
  11. #define TRACE_INCLUDE_PATH ../../../../vendor/qcom/opensource/mm-sys-kernel/ubwcp
  12. /* Name of trace header file */
  13. #undef TRACE_INCLUDE_FILE
  14. #define TRACE_INCLUDE_FILE ubwcp_trace
  15. #include <linux/tracepoint.h>
  16. struct dma_buf;
  17. struct platform_device;
  18. DECLARE_EVENT_CLASS(ubwcp_platform_device_event,
  19. TP_PROTO(struct platform_device *pdev),
  20. TP_ARGS(pdev),
  21. TP_STRUCT__entry(
  22. __field(struct platform_device *, pdev)
  23. ),
  24. TP_fast_assign(
  25. __entry->pdev = pdev;
  26. ),
  27. TP_printk("platform_device:0x%lx",
  28. __entry->pdev)
  29. );
  30. DEFINE_EVENT(ubwcp_platform_device_event, ubwcp_probe,
  31. TP_PROTO(struct platform_device *pdev),
  32. TP_ARGS(pdev)
  33. );
  34. DEFINE_EVENT(ubwcp_platform_device_event, ubwcp_remove,
  35. TP_PROTO(struct platform_device *pdev),
  36. TP_ARGS(pdev)
  37. );
  38. DECLARE_EVENT_CLASS(ubwcp_dmabuf_event,
  39. TP_PROTO(struct dma_buf *dbuf_addr),
  40. TP_ARGS(dbuf_addr),
  41. TP_STRUCT__entry(
  42. __field(struct dma_buf *, dbuf_addr)
  43. ),
  44. TP_fast_assign(
  45. __entry->dbuf_addr = dbuf_addr;
  46. ),
  47. TP_printk("dma-buf:0x%lx",
  48. __entry->dbuf_addr)
  49. );
  50. DECLARE_EVENT_CLASS(ubwcp_size_event,
  51. TP_PROTO(size_t size),
  52. TP_ARGS(size),
  53. TP_STRUCT__entry(
  54. __field(size_t, size)
  55. ),
  56. TP_fast_assign(
  57. __entry->size = size;
  58. ),
  59. TP_printk("size:%zu", __entry->size)
  60. );
  61. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_init_buffer_start,
  62. TP_PROTO(struct dma_buf *dbuf_addr),
  63. TP_ARGS(dbuf_addr)
  64. );
  65. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_init_buffer_end,
  66. TP_PROTO(struct dma_buf *dbuf_addr),
  67. TP_ARGS(dbuf_addr)
  68. );
  69. DEFINE_EVENT(ubwcp_size_event, ubwcp_add_memory_start,
  70. TP_PROTO(size_t size),
  71. TP_ARGS(size)
  72. );
  73. DEFINE_EVENT(ubwcp_size_event, ubwcp_add_memory_end,
  74. TP_PROTO(size_t size),
  75. TP_ARGS(size)
  76. );
  77. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_set_buf_attrs_start,
  78. TP_PROTO(struct dma_buf *dbuf_addr),
  79. TP_ARGS(dbuf_addr)
  80. );
  81. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_set_buf_attrs_end,
  82. TP_PROTO(struct dma_buf *dbuf_addr),
  83. TP_ARGS(dbuf_addr)
  84. );
  85. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_lock_start,
  86. TP_PROTO(struct dma_buf *dbuf_addr),
  87. TP_ARGS(dbuf_addr)
  88. );
  89. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_lock_end,
  90. TP_PROTO(struct dma_buf *dbuf_addr),
  91. TP_ARGS(dbuf_addr)
  92. );
  93. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_unlock_start,
  94. TP_PROTO(struct dma_buf *dbuf_addr),
  95. TP_ARGS(dbuf_addr)
  96. );
  97. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_unlock_end,
  98. TP_PROTO(struct dma_buf *dbuf_addr),
  99. TP_ARGS(dbuf_addr)
  100. );
  101. DEFINE_EVENT(ubwcp_size_event, ubwcp_offline_sync_start,
  102. TP_PROTO(size_t size),
  103. TP_ARGS(size)
  104. );
  105. DEFINE_EVENT(ubwcp_size_event, ubwcp_offline_sync_end,
  106. TP_PROTO(size_t size),
  107. TP_ARGS(size)
  108. );
  109. DEFINE_EVENT(ubwcp_size_event, ubwcp_dma_sync_single_for_device_start,
  110. TP_PROTO(size_t size),
  111. TP_ARGS(size)
  112. );
  113. DEFINE_EVENT(ubwcp_size_event, ubwcp_dma_sync_single_for_device_end,
  114. TP_PROTO(size_t size),
  115. TP_ARGS(size)
  116. );
  117. DEFINE_EVENT(ubwcp_size_event, ubwcp_dma_sync_single_for_cpu_start,
  118. TP_PROTO(size_t size),
  119. TP_ARGS(size)
  120. );
  121. DEFINE_EVENT(ubwcp_size_event, ubwcp_dma_sync_single_for_cpu_end,
  122. TP_PROTO(size_t size),
  123. TP_ARGS(size)
  124. );
  125. DEFINE_EVENT(ubwcp_size_event, ubwcp_hw_flush_start,
  126. TP_PROTO(size_t size),
  127. TP_ARGS(size)
  128. );
  129. DEFINE_EVENT(ubwcp_size_event, ubwcp_hw_flush_end,
  130. TP_PROTO(size_t size),
  131. TP_ARGS(size)
  132. );
  133. DEFINE_EVENT(ubwcp_size_event, ubwcp_offline_and_remove_memory_start,
  134. TP_PROTO(size_t size),
  135. TP_ARGS(size)
  136. );
  137. DEFINE_EVENT(ubwcp_size_event, ubwcp_offline_and_remove_memory_end,
  138. TP_PROTO(size_t size),
  139. TP_ARGS(size)
  140. );
  141. DEFINE_EVENT(ubwcp_size_event, ubwcp_set_direct_map_range_uncached_start,
  142. TP_PROTO(size_t size),
  143. TP_ARGS(size)
  144. );
  145. DEFINE_EVENT(ubwcp_size_event, ubwcp_set_direct_map_range_uncached_end,
  146. TP_PROTO(size_t size),
  147. TP_ARGS(size)
  148. );
  149. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_free_buffer_start,
  150. TP_PROTO(struct dma_buf *dbuf_addr),
  151. TP_ARGS(dbuf_addr)
  152. );
  153. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_free_buffer_end,
  154. TP_PROTO(struct dma_buf *dbuf_addr),
  155. TP_ARGS(dbuf_addr)
  156. );
  157. #endif
  158. /* This part must be outside protection */
  159. #include <trace/define_trace.h>