1ac2874b9SJesse Barnes #if !defined(_DRM_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ) 2ac2874b9SJesse Barnes #define _DRM_TRACE_H_ 3ac2874b9SJesse Barnes 4ac2874b9SJesse Barnes #include <linux/stringify.h> 5ac2874b9SJesse Barnes #include <linux/types.h> 6ac2874b9SJesse Barnes #include <linux/tracepoint.h> 7ac2874b9SJesse Barnes 8ac2874b9SJesse Barnes #undef TRACE_SYSTEM 9ac2874b9SJesse Barnes #define TRACE_SYSTEM drm 10ac2874b9SJesse Barnes #define TRACE_INCLUDE_FILE drm_trace 11ac2874b9SJesse Barnes 12ac2874b9SJesse Barnes TRACE_EVENT(drm_vblank_event, 13ac2874b9SJesse Barnes TP_PROTO(int crtc, unsigned int seq), 14ac2874b9SJesse Barnes TP_ARGS(crtc, seq), 15ac2874b9SJesse Barnes TP_STRUCT__entry( 16ac2874b9SJesse Barnes __field(int, crtc) 17ac2874b9SJesse Barnes __field(unsigned int, seq) 18ac2874b9SJesse Barnes ), 19ac2874b9SJesse Barnes TP_fast_assign( 20ac2874b9SJesse Barnes __entry->crtc = crtc; 21ac2874b9SJesse Barnes __entry->seq = seq; 22ac2874b9SJesse Barnes ), 2304274cd0SSeung-Woo Kim TP_printk("crtc=%d, seq=%u", __entry->crtc, __entry->seq) 24ac2874b9SJesse Barnes ); 25ac2874b9SJesse Barnes 26b9c2c9aeSJesse Barnes TRACE_EVENT(drm_vblank_event_queued, 277d52cb88SDaniel Vetter TP_PROTO(struct drm_file *file, int crtc, unsigned int seq), 287d52cb88SDaniel Vetter TP_ARGS(file, crtc, seq), 29b9c2c9aeSJesse Barnes TP_STRUCT__entry( 307d52cb88SDaniel Vetter __field(struct drm_file *, file) 31b9c2c9aeSJesse Barnes __field(int, crtc) 32b9c2c9aeSJesse Barnes __field(unsigned int, seq) 33b9c2c9aeSJesse Barnes ), 34b9c2c9aeSJesse Barnes TP_fast_assign( 357d52cb88SDaniel Vetter __entry->file = file; 36b9c2c9aeSJesse Barnes __entry->crtc = crtc; 37b9c2c9aeSJesse Barnes __entry->seq = seq; 38b9c2c9aeSJesse Barnes ), 397d52cb88SDaniel Vetter TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \ 40b9c2c9aeSJesse Barnes __entry->seq) 41b9c2c9aeSJesse Barnes ); 42b9c2c9aeSJesse Barnes 43b9c2c9aeSJesse Barnes TRACE_EVENT(drm_vblank_event_delivered, 447d52cb88SDaniel Vetter TP_PROTO(struct drm_file *file, int crtc, unsigned int seq), 457d52cb88SDaniel Vetter TP_ARGS(file, crtc, seq), 46b9c2c9aeSJesse Barnes TP_STRUCT__entry( 477d52cb88SDaniel Vetter __field(struct drm_file *, file) 48b9c2c9aeSJesse Barnes __field(int, crtc) 49b9c2c9aeSJesse Barnes __field(unsigned int, seq) 50b9c2c9aeSJesse Barnes ), 51b9c2c9aeSJesse Barnes TP_fast_assign( 527d52cb88SDaniel Vetter __entry->file = file; 53b9c2c9aeSJesse Barnes __entry->crtc = crtc; 54b9c2c9aeSJesse Barnes __entry->seq = seq; 55b9c2c9aeSJesse Barnes ), 567d52cb88SDaniel Vetter TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \ 57b9c2c9aeSJesse Barnes __entry->seq) 58b9c2c9aeSJesse Barnes ); 59b9c2c9aeSJesse Barnes 60ac2874b9SJesse Barnes #endif /* _DRM_TRACE_H_ */ 61ac2874b9SJesse Barnes 62ac2874b9SJesse Barnes /* This part must be outside protection */ 63ac2874b9SJesse Barnes #undef TRACE_INCLUDE_PATH 64*d99ce553SThierry Reding #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm 65ac2874b9SJesse Barnes #include <trace/define_trace.h> 66