ubwcp_trace.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  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 ../../../../../sm8650-modules/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. DECLARE_EVENT_CLASS(ubwcp_sync_event,
  62. TP_PROTO(size_t size,
  63. int dir),
  64. TP_ARGS(size, dir),
  65. TP_STRUCT__entry(
  66. __field(size_t, size)
  67. __field(int, dir)
  68. ),
  69. TP_fast_assign(
  70. __entry->size = size;
  71. __entry->dir = dir;
  72. ),
  73. TP_printk("size:%zu, dir:%d", __entry->size, __entry->dir)
  74. );
  75. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_init_buffer_start,
  76. TP_PROTO(struct dma_buf *dbuf_addr),
  77. TP_ARGS(dbuf_addr)
  78. );
  79. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_init_buffer_end,
  80. TP_PROTO(struct dma_buf *dbuf_addr),
  81. TP_ARGS(dbuf_addr)
  82. );
  83. DEFINE_EVENT(ubwcp_size_event, ubwcp_memremap_pages_start,
  84. TP_PROTO(size_t size),
  85. TP_ARGS(size)
  86. );
  87. DEFINE_EVENT(ubwcp_size_event, ubwcp_memremap_pages_end,
  88. TP_PROTO(size_t size),
  89. TP_ARGS(size)
  90. );
  91. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_set_buf_attrs_start,
  92. TP_PROTO(struct dma_buf *dbuf_addr),
  93. TP_ARGS(dbuf_addr)
  94. );
  95. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_set_buf_attrs_end,
  96. TP_PROTO(struct dma_buf *dbuf_addr),
  97. TP_ARGS(dbuf_addr)
  98. );
  99. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_lock_start,
  100. TP_PROTO(struct dma_buf *dbuf_addr),
  101. TP_ARGS(dbuf_addr)
  102. );
  103. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_lock_end,
  104. TP_PROTO(struct dma_buf *dbuf_addr),
  105. TP_ARGS(dbuf_addr)
  106. );
  107. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_unlock_start,
  108. TP_PROTO(struct dma_buf *dbuf_addr),
  109. TP_ARGS(dbuf_addr)
  110. );
  111. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_unlock_end,
  112. TP_PROTO(struct dma_buf *dbuf_addr),
  113. TP_ARGS(dbuf_addr)
  114. );
  115. DEFINE_EVENT(ubwcp_size_event, ubwcp_offline_sync_start,
  116. TP_PROTO(size_t size),
  117. TP_ARGS(size)
  118. );
  119. DEFINE_EVENT(ubwcp_size_event, ubwcp_offline_sync_end,
  120. TP_PROTO(size_t size),
  121. TP_ARGS(size)
  122. );
  123. DEFINE_EVENT(ubwcp_sync_event, ubwcp_dma_sync_single_for_device_start,
  124. TP_PROTO(size_t size, int dir),
  125. TP_ARGS(size, dir)
  126. );
  127. DEFINE_EVENT(ubwcp_sync_event, ubwcp_dma_sync_single_for_device_end,
  128. TP_PROTO(size_t size, int dir),
  129. TP_ARGS(size, dir)
  130. );
  131. DEFINE_EVENT(ubwcp_sync_event, ubwcp_dma_sync_single_for_cpu_start,
  132. TP_PROTO(size_t size, int dir),
  133. TP_ARGS(size, dir)
  134. );
  135. DEFINE_EVENT(ubwcp_sync_event, ubwcp_dma_sync_single_for_cpu_end,
  136. TP_PROTO(size_t size, int dir),
  137. TP_ARGS(size, dir)
  138. );
  139. DEFINE_EVENT(ubwcp_size_event, ubwcp_hw_flush_start,
  140. TP_PROTO(size_t size),
  141. TP_ARGS(size)
  142. );
  143. DEFINE_EVENT(ubwcp_size_event, ubwcp_hw_flush_end,
  144. TP_PROTO(size_t size),
  145. TP_ARGS(size)
  146. );
  147. DEFINE_EVENT(ubwcp_size_event, ubwcp_memunmap_pages_start,
  148. TP_PROTO(size_t size),
  149. TP_ARGS(size)
  150. );
  151. DEFINE_EVENT(ubwcp_size_event, ubwcp_memunmap_pages_end,
  152. TP_PROTO(size_t size),
  153. TP_ARGS(size)
  154. );
  155. DEFINE_EVENT(ubwcp_size_event, ubwcp_set_direct_map_range_uncached_start,
  156. TP_PROTO(size_t size),
  157. TP_ARGS(size)
  158. );
  159. DEFINE_EVENT(ubwcp_size_event, ubwcp_set_direct_map_range_uncached_end,
  160. TP_PROTO(size_t size),
  161. TP_ARGS(size)
  162. );
  163. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_free_buffer_start,
  164. TP_PROTO(struct dma_buf *dbuf_addr),
  165. TP_ARGS(dbuf_addr)
  166. );
  167. DEFINE_EVENT(ubwcp_dmabuf_event, ubwcp_free_buffer_end,
  168. TP_PROTO(struct dma_buf *dbuf_addr),
  169. TP_ARGS(dbuf_addr)
  170. );
  171. DECLARE_EVENT_CLASS(ubwcp_int_event,
  172. TP_PROTO(int value),
  173. TP_ARGS(value),
  174. TP_STRUCT__entry(
  175. __field(int, value)
  176. ),
  177. TP_fast_assign(
  178. __entry->value = value;
  179. ),
  180. TP_printk("value:%d", __entry->value)
  181. );
  182. DEFINE_EVENT(ubwcp_int_event, ubwcp_prefetch_tgt_start,
  183. TP_PROTO(int value),
  184. TP_ARGS(value)
  185. );
  186. DEFINE_EVENT(ubwcp_int_event, ubwcp_prefetch_tgt_end,
  187. TP_PROTO(int value),
  188. TP_ARGS(value)
  189. );
  190. #endif
  191. /* This part must be outside protection */
  192. #include <trace/define_trace.h>