1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM coda
3 
4 #if !defined(__CODA_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ)
5 #define __CODA_TRACE_H__
6 
7 #include <linux/tracepoint.h>
8 #include <media/videobuf2-v4l2.h>
9 
10 #include "coda.h"
11 
12 TRACE_EVENT(coda_bit_run,
13 	TP_PROTO(struct coda_ctx *ctx, int cmd),
14 
15 	TP_ARGS(ctx, cmd),
16 
17 	TP_STRUCT__entry(
18 		__field(int, minor)
19 		__field(int, ctx)
20 		__field(int, cmd)
21 	),
22 
23 	TP_fast_assign(
24 		__entry->minor = ctx->fh.vdev->minor;
25 		__entry->ctx = ctx->idx;
26 		__entry->cmd = cmd;
27 	),
28 
29 	TP_printk("minor = %d, ctx = %d, cmd = %d",
30 		  __entry->minor, __entry->ctx, __entry->cmd)
31 );
32 
33 TRACE_EVENT(coda_bit_done,
34 	TP_PROTO(struct coda_ctx *ctx),
35 
36 	TP_ARGS(ctx),
37 
38 	TP_STRUCT__entry(
39 		__field(int, minor)
40 		__field(int, ctx)
41 	),
42 
43 	TP_fast_assign(
44 		__entry->minor = ctx->fh.vdev->minor;
45 		__entry->ctx = ctx->idx;
46 	),
47 
48 	TP_printk("minor = %d, ctx = %d", __entry->minor, __entry->ctx)
49 );
50 
51 DECLARE_EVENT_CLASS(coda_buf_class,
52 	TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf),
53 
54 	TP_ARGS(ctx, buf),
55 
56 	TP_STRUCT__entry(
57 		__field(int, minor)
58 		__field(int, index)
59 		__field(int, ctx)
60 	),
61 
62 	TP_fast_assign(
63 		__entry->minor = ctx->fh.vdev->minor;
64 		__entry->index = buf->vb2_buf.index;
65 		__entry->ctx = ctx->idx;
66 	),
67 
68 	TP_printk("minor = %d, index = %d, ctx = %d",
69 		  __entry->minor, __entry->index, __entry->ctx)
70 );
71 
72 DEFINE_EVENT(coda_buf_class, coda_enc_pic_run,
73 	TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf),
74 	TP_ARGS(ctx, buf)
75 );
76 
77 DEFINE_EVENT(coda_buf_class, coda_enc_pic_done,
78 	TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf),
79 	TP_ARGS(ctx, buf)
80 );
81 
82 DECLARE_EVENT_CLASS(coda_buf_meta_class,
83 	TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf,
84 		 struct coda_buffer_meta *meta),
85 
86 	TP_ARGS(ctx, buf, meta),
87 
88 	TP_STRUCT__entry(
89 		__field(int, minor)
90 		__field(int, index)
91 		__field(int, start)
92 		__field(int, end)
93 		__field(int, ctx)
94 	),
95 
96 	TP_fast_assign(
97 		__entry->minor = ctx->fh.vdev->minor;
98 		__entry->index = buf->vb2_buf.index;
99 		__entry->start = meta->start;
100 		__entry->end = meta->end;
101 		__entry->ctx = ctx->idx;
102 	),
103 
104 	TP_printk("minor = %d, index = %d, start = 0x%x, end = 0x%x, ctx = %d",
105 		  __entry->minor, __entry->index, __entry->start, __entry->end,
106 		  __entry->ctx)
107 );
108 
109 DEFINE_EVENT(coda_buf_meta_class, coda_bit_queue,
110 	TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf,
111 		 struct coda_buffer_meta *meta),
112 	TP_ARGS(ctx, buf, meta)
113 );
114 
115 DECLARE_EVENT_CLASS(coda_meta_class,
116 	TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta),
117 
118 	TP_ARGS(ctx, meta),
119 
120 	TP_STRUCT__entry(
121 		__field(int, minor)
122 		__field(int, start)
123 		__field(int, end)
124 		__field(int, ctx)
125 	),
126 
127 	TP_fast_assign(
128 		__entry->minor = ctx->fh.vdev->minor;
129 		__entry->start = meta ? meta->start : 0;
130 		__entry->end = meta ? meta->end : 0;
131 		__entry->ctx = ctx->idx;
132 	),
133 
134 	TP_printk("minor = %d, start = 0x%x, end = 0x%x, ctx = %d",
135 		  __entry->minor, __entry->start, __entry->end, __entry->ctx)
136 );
137 
138 DEFINE_EVENT(coda_meta_class, coda_dec_pic_run,
139 	TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta),
140 	TP_ARGS(ctx, meta)
141 );
142 
143 DEFINE_EVENT(coda_meta_class, coda_dec_pic_done,
144 	TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta),
145 	TP_ARGS(ctx, meta)
146 );
147 
148 DEFINE_EVENT(coda_buf_meta_class, coda_dec_rot_done,
149 	TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf,
150 		 struct coda_buffer_meta *meta),
151 	TP_ARGS(ctx, buf, meta)
152 );
153 
154 #endif /* __CODA_TRACE_H__ */
155 
156 #undef TRACE_INCLUDE_PATH
157 #define TRACE_INCLUDE_PATH .
158 #undef TRACE_INCLUDE_FILE
159 #define TRACE_INCLUDE_FILE trace
160 
161 /* This part must be outside protection */
162 #include <trace/define_trace.h>
163