/* SPDX-License-Identifier: GPL-2.0 */ #undef TRACE_SYSTEM #define TRACE_SYSTEM coda #if !defined(__CODA_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ) #define __CODA_TRACE_H__ #include #include #include "coda.h" TRACE_EVENT(coda_bit_run, TP_PROTO(struct coda_ctx *ctx, int cmd), TP_ARGS(ctx, cmd), TP_STRUCT__entry( __field(int, minor) __field(int, ctx) __field(int, cmd) ), TP_fast_assign( __entry->minor = ctx->fh.vdev->minor; __entry->ctx = ctx->idx; __entry->cmd = cmd; ), TP_printk("minor = %d, ctx = %d, cmd = %d", __entry->minor, __entry->ctx, __entry->cmd) ); TRACE_EVENT(coda_bit_done, TP_PROTO(struct coda_ctx *ctx), TP_ARGS(ctx), TP_STRUCT__entry( __field(int, minor) __field(int, ctx) ), TP_fast_assign( __entry->minor = ctx->fh.vdev->minor; __entry->ctx = ctx->idx; ), TP_printk("minor = %d, ctx = %d", __entry->minor, __entry->ctx) ); DECLARE_EVENT_CLASS(coda_buf_class, TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), TP_ARGS(ctx, buf), TP_STRUCT__entry( __field(int, minor) __field(int, index) __field(int, ctx) ), TP_fast_assign( __entry->minor = ctx->fh.vdev->minor; __entry->index = buf->vb2_buf.index; __entry->ctx = ctx->idx; ), TP_printk("minor = %d, index = %d, ctx = %d", __entry->minor, __entry->index, __entry->ctx) ); DEFINE_EVENT(coda_buf_class, coda_enc_pic_run, TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), TP_ARGS(ctx, buf) ); DEFINE_EVENT(coda_buf_class, coda_enc_pic_done, TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), TP_ARGS(ctx, buf) ); DECLARE_EVENT_CLASS(coda_buf_meta_class, TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf, struct coda_buffer_meta *meta), TP_ARGS(ctx, buf, meta), TP_STRUCT__entry( __field(int, minor) __field(int, index) __field(int, start) __field(int, end) __field(int, ctx) ), TP_fast_assign( __entry->minor = ctx->fh.vdev->minor; __entry->index = buf->vb2_buf.index; __entry->start = meta->start & ctx->bitstream_fifo.kfifo.mask; __entry->end = meta->end & ctx->bitstream_fifo.kfifo.mask; __entry->ctx = ctx->idx; ), TP_printk("minor = %d, index = %d, start = 0x%x, end = 0x%x, ctx = %d", __entry->minor, __entry->index, __entry->start, __entry->end, __entry->ctx) ); DEFINE_EVENT(coda_buf_meta_class, coda_bit_queue, TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf, struct coda_buffer_meta *meta), TP_ARGS(ctx, buf, meta) ); DECLARE_EVENT_CLASS(coda_meta_class, TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta), TP_ARGS(ctx, meta), TP_STRUCT__entry( __field(int, minor) __field(int, start) __field(int, end) __field(int, ctx) ), TP_fast_assign( __entry->minor = ctx->fh.vdev->minor; __entry->start = meta ? (meta->start & ctx->bitstream_fifo.kfifo.mask) : 0; __entry->end = meta ? (meta->end & ctx->bitstream_fifo.kfifo.mask) : 0; __entry->ctx = ctx->idx; ), TP_printk("minor = %d, start = 0x%x, end = 0x%x, ctx = %d", __entry->minor, __entry->start, __entry->end, __entry->ctx) ); DEFINE_EVENT(coda_meta_class, coda_dec_pic_run, TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta), TP_ARGS(ctx, meta) ); DEFINE_EVENT(coda_meta_class, coda_dec_pic_done, TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta), TP_ARGS(ctx, meta) ); DEFINE_EVENT(coda_buf_meta_class, coda_dec_rot_done, TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf, struct coda_buffer_meta *meta), TP_ARGS(ctx, buf, meta) ); DEFINE_EVENT(coda_buf_class, coda_jpeg_run, TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), TP_ARGS(ctx, buf) ); DEFINE_EVENT(coda_buf_class, coda_jpeg_done, TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), TP_ARGS(ctx, buf) ); #endif /* __CODA_TRACE_H__ */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH ../../drivers/media/platform/coda #undef TRACE_INCLUDE_FILE #define TRACE_INCLUDE_FILE trace /* This part must be outside protection */ #include