Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #if !defined(_DRM_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
0003 #define _DRM_TRACE_H_
0004 
0005 #include <linux/stringify.h>
0006 #include <linux/types.h>
0007 #include <linux/tracepoint.h>
0008 
0009 struct drm_file;
0010 
0011 #undef TRACE_SYSTEM
0012 #define TRACE_SYSTEM drm
0013 #define TRACE_INCLUDE_FILE drm_trace
0014 
0015 TRACE_EVENT(drm_vblank_event,
0016         TP_PROTO(int crtc, unsigned int seq, ktime_t time, bool high_prec),
0017         TP_ARGS(crtc, seq, time, high_prec),
0018         TP_STRUCT__entry(
0019             __field(int, crtc)
0020             __field(unsigned int, seq)
0021             __field(ktime_t, time)
0022             __field(bool, high_prec)
0023             ),
0024         TP_fast_assign(
0025             __entry->crtc = crtc;
0026             __entry->seq = seq;
0027             __entry->time = time;
0028             __entry->high_prec = high_prec;
0029             ),
0030         TP_printk("crtc=%d, seq=%u, time=%lld, high-prec=%s",
0031             __entry->crtc, __entry->seq, __entry->time,
0032             __entry->high_prec ? "true" : "false")
0033 );
0034 
0035 TRACE_EVENT(drm_vblank_event_queued,
0036         TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
0037         TP_ARGS(file, crtc, seq),
0038         TP_STRUCT__entry(
0039             __field(struct drm_file *, file)
0040             __field(int, crtc)
0041             __field(unsigned int, seq)
0042             ),
0043         TP_fast_assign(
0044             __entry->file = file;
0045             __entry->crtc = crtc;
0046             __entry->seq = seq;
0047             ),
0048         TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
0049               __entry->seq)
0050 );
0051 
0052 TRACE_EVENT(drm_vblank_event_delivered,
0053         TP_PROTO(struct drm_file *file, int crtc, unsigned int seq),
0054         TP_ARGS(file, crtc, seq),
0055         TP_STRUCT__entry(
0056             __field(struct drm_file *, file)
0057             __field(int, crtc)
0058             __field(unsigned int, seq)
0059             ),
0060         TP_fast_assign(
0061             __entry->file = file;
0062             __entry->crtc = crtc;
0063             __entry->seq = seq;
0064             ),
0065         TP_printk("file=%p, crtc=%d, seq=%u", __entry->file, __entry->crtc, \
0066               __entry->seq)
0067 );
0068 
0069 #endif /* _DRM_TRACE_H_ */
0070 
0071 /* This part must be outside protection */
0072 #undef TRACE_INCLUDE_PATH
0073 #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm
0074 #include <trace/define_trace.h>