drm_trace.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #if !defined(_DRM_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
  3. #define _DRM_TRACE_H_
  4. #include <linux/stringify.h>
  5. #include <linux/types.h>
  6. #include <linux/tracepoint.h>
  7. struct drm_file;
  8. #undef TRACE_SYSTEM
  9. #define TRACE_SYSTEM drm
  10. #define TRACE_INCLUDE_FILE drm_trace
  11. TRACE_EVENT(drm_vblank_event,
  12. TP_PROTO(int crtc, unsigned int seq, ktime_t time, bool high_prec),
  13. TP_ARGS(crtc, seq, time, high_prec),
  14. TP_STRUCT__entry(
  15. __field(int, crtc)
  16. __field(unsigned int, seq)
  17. __field(ktime_t, time)
  18. __field(bool, high_prec)
  19. ),
  20. TP_fast_assign(
  21. __entry->crtc = crtc;
  22. __entry->seq = seq;
  23. __entry->time = time;
  24. __entry->high_prec = high_prec;
  25. ),
  26. TP_printk("crtc=%d, seq=%u, time=%lld, high-prec=%s",
  27. __entry->crtc, __entry->seq, __entry->time,
  28. __entry->high_prec ? "true" : "false")
  29. );
  30. TRACE_EVENT(drm_vblank_event_queued,
  31. TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
  32. TP_ARGS(file, crtc, seq),
  33. TP_STRUCT__entry(
  34. __field(struct drm_file *, file)
  35. __field(int, crtc)
  36. __field(unsigned int, seq)
  37. ),
  38. TP_fast_assign(
  39. __entry->file = file;
  40. __entry->crtc = crtc;
  41. __entry->seq = seq;
  42. ),
  43. TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
  44. __entry->seq)
  45. );
  46. TRACE_EVENT(drm_vblank_event_delivered,
  47. TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
  48. TP_ARGS(file, crtc, seq),
  49. TP_STRUCT__entry(
  50. __field(struct drm_file *, file)
  51. __field(int, crtc)
  52. __field(unsigned int, seq)
  53. ),
  54. TP_fast_assign(
  55. __entry->file = file;
  56. __entry->crtc = crtc;
  57. __entry->seq = seq;
  58. ),
  59. TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
  60. __entry->seq)
  61. );
  62. #endif /* _DRM_TRACE_H_ */
  63. /* This part must be outside protection */
  64. #undef TRACE_INCLUDE_PATH
  65. #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm
  66. #include <trace/define_trace.h>