176 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#undef TRACE_SYSTEM3#define TRACE_SYSTEM coda4 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 13TRACE_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 34TRACE_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 52DECLARE_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 73DEFINE_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 78DEFINE_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 83DECLARE_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 110DEFINE_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 116DECLARE_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 141DEFINE_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 146DEFINE_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 151DEFINE_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 157DEFINE_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 162DEFINE_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_PATH170#define TRACE_INCLUDE_PATH ../../drivers/media/platform/chips-media/coda171#undef TRACE_INCLUDE_FILE172#define TRACE_INCLUDE_FILE trace173 174/* This part must be outside protection */175#include <trace/define_trace.h>176