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