1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2ac2874b9SJesse Barnes #if !defined(_DRM_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ) 3ac2874b9SJesse Barnes #define _DRM_TRACE_H_ 4ac2874b9SJesse Barnes 5ac2874b9SJesse Barnes #include <linux/stringify.h> 6ac2874b9SJesse Barnes #include <linux/types.h> 7ac2874b9SJesse Barnes #include <linux/tracepoint.h> 8ac2874b9SJesse Barnes 9ac2874b9SJesse Barnes #undef TRACE_SYSTEM 10ac2874b9SJesse Barnes #define TRACE_SYSTEM drm 11ac2874b9SJesse Barnes #define TRACE_INCLUDE_FILE drm_trace 12ac2874b9SJesse Barnes 13ac2874b9SJesse Barnes TRACE_EVENT(drm_vblank_event, 14ac2874b9SJesse Barnes TP_PROTO(int crtc, unsigned int seq), 15ac2874b9SJesse Barnes TP_ARGS(crtc, seq), 16ac2874b9SJesse Barnes TP_STRUCT__entry( 17ac2874b9SJesse Barnes __field(int, crtc) 18ac2874b9SJesse Barnes __field(unsigned int, seq) 19ac2874b9SJesse Barnes ), 20ac2874b9SJesse Barnes TP_fast_assign( 21ac2874b9SJesse Barnes __entry->crtc = crtc; 22ac2874b9SJesse Barnes __entry->seq = seq; 23ac2874b9SJesse Barnes ), 2404274cd0SSeung-Woo Kim TP_printk("crtc=%d, seq=%u", __entry->crtc, __entry->seq) 25ac2874b9SJesse Barnes ); 26ac2874b9SJesse Barnes 27b9c2c9aeSJesse Barnes TRACE_EVENT(drm_vblank_event_queued, 287d52cb88SDaniel Vetter TP_PROTO(struct drm_file *file, int crtc, unsigned int seq), 297d52cb88SDaniel Vetter TP_ARGS(file, crtc, seq), 30b9c2c9aeSJesse Barnes TP_STRUCT__entry( 317d52cb88SDaniel Vetter __field(struct drm_file *, file) 32b9c2c9aeSJesse Barnes __field(int, crtc) 33b9c2c9aeSJesse Barnes __field(unsigned int, seq) 34b9c2c9aeSJesse Barnes ), 35b9c2c9aeSJesse Barnes TP_fast_assign( 367d52cb88SDaniel Vetter __entry->file = file; 37b9c2c9aeSJesse Barnes __entry->crtc = crtc; 38b9c2c9aeSJesse Barnes __entry->seq = seq; 39b9c2c9aeSJesse Barnes ), 407d52cb88SDaniel Vetter TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \ 41b9c2c9aeSJesse Barnes __entry->seq) 42b9c2c9aeSJesse Barnes ); 43b9c2c9aeSJesse Barnes 44b9c2c9aeSJesse Barnes TRACE_EVENT(drm_vblank_event_delivered, 457d52cb88SDaniel Vetter TP_PROTO(struct drm_file *file, int crtc, unsigned int seq), 467d52cb88SDaniel Vetter TP_ARGS(file, crtc, seq), 47b9c2c9aeSJesse Barnes TP_STRUCT__entry( 487d52cb88SDaniel Vetter __field(struct drm_file *, file) 49b9c2c9aeSJesse Barnes __field(int, crtc) 50b9c2c9aeSJesse Barnes __field(unsigned int, seq) 51b9c2c9aeSJesse Barnes ), 52b9c2c9aeSJesse Barnes TP_fast_assign( 537d52cb88SDaniel Vetter __entry->file = file; 54b9c2c9aeSJesse Barnes __entry->crtc = crtc; 55b9c2c9aeSJesse Barnes __entry->seq = seq; 56b9c2c9aeSJesse Barnes ), 577d52cb88SDaniel Vetter TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \ 58b9c2c9aeSJesse Barnes __entry->seq) 59b9c2c9aeSJesse Barnes ); 60b9c2c9aeSJesse Barnes 61ac2874b9SJesse Barnes #endif /* _DRM_TRACE_H_ */ 62ac2874b9SJesse Barnes 63ac2874b9SJesse Barnes /* This part must be outside protection */ 64ac2874b9SJesse Barnes #undef TRACE_INCLUDE_PATH 65ac2874b9SJesse Barnes #define TRACE_INCLUDE_PATH . 66ac2874b9SJesse Barnes #include <trace/define_trace.h> 67