GNU Linux-libre 6.7.9-gnu
[releases.git] / drivers / media / platform / chips-media / 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 & 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 DEFINE_EVENT(coda_buf_class, coda_jpeg_run,
158         TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf),
159         TP_ARGS(ctx, buf)
160 );
161
162 DEFINE_EVENT(coda_buf_class, coda_jpeg_done,
163         TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf),
164         TP_ARGS(ctx, buf)
165 );
166
167 #endif /* __CODA_TRACE_H__ */
168
169 #undef TRACE_INCLUDE_PATH
170 #define TRACE_INCLUDE_PATH ../../drivers/media/platform/chips-media
171 #undef TRACE_INCLUDE_FILE
172 #define TRACE_INCLUDE_FILE trace
173
174 /* This part must be outside protection */
175 #include <trace/define_trace.h>