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