GNU Linux-libre 4.19.286-gnu1
[releases.git] / drivers / media / platform / coda / trace.h
1 /* SPDX-License-Identifier: GPL-2.0 */
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;
101                 __entry->end = meta->end;
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 : 0;
131                 __entry->end = meta ? meta->end : 0;
132                 __entry->ctx = ctx->idx;
133         ),
134
135         TP_printk("minor = %d, start = 0x%x, end = 0x%x, ctx = %d",
136                   __entry->minor, __entry->start, __entry->end, __entry->ctx)
137 );
138
139 DEFINE_EVENT(coda_meta_class, coda_dec_pic_run,
140         TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta),
141         TP_ARGS(ctx, meta)
142 );
143
144 DEFINE_EVENT(coda_meta_class, coda_dec_pic_done,
145         TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta),
146         TP_ARGS(ctx, meta)
147 );
148
149 DEFINE_EVENT(coda_buf_meta_class, coda_dec_rot_done,
150         TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf,
151                  struct coda_buffer_meta *meta),
152         TP_ARGS(ctx, buf, meta)
153 );
154
155 #endif /* __CODA_TRACE_H__ */
156
157 #undef TRACE_INCLUDE_PATH
158 #define TRACE_INCLUDE_PATH .
159 #undef TRACE_INCLUDE_FILE
160 #define TRACE_INCLUDE_FILE trace
161
162 /* This part must be outside protection */
163 #include <trace/define_trace.h>