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