162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#undef TRACE_SYSTEM 362306a36Sopenharmony_ci#define TRACE_SYSTEM coda 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#if !defined(__CODA_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ) 662306a36Sopenharmony_ci#define __CODA_TRACE_H__ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include <linux/tracepoint.h> 962306a36Sopenharmony_ci#include <media/videobuf2-v4l2.h> 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include "coda.h" 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciTRACE_EVENT(coda_bit_run, 1462306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, int cmd), 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci TP_ARGS(ctx, cmd), 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci TP_STRUCT__entry( 1962306a36Sopenharmony_ci __field(int, minor) 2062306a36Sopenharmony_ci __field(int, ctx) 2162306a36Sopenharmony_ci __field(int, cmd) 2262306a36Sopenharmony_ci ), 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci TP_fast_assign( 2562306a36Sopenharmony_ci __entry->minor = ctx->fh.vdev->minor; 2662306a36Sopenharmony_ci __entry->ctx = ctx->idx; 2762306a36Sopenharmony_ci __entry->cmd = cmd; 2862306a36Sopenharmony_ci ), 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci TP_printk("minor = %d, ctx = %d, cmd = %d", 3162306a36Sopenharmony_ci __entry->minor, __entry->ctx, __entry->cmd) 3262306a36Sopenharmony_ci); 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciTRACE_EVENT(coda_bit_done, 3562306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx), 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci TP_ARGS(ctx), 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci TP_STRUCT__entry( 4062306a36Sopenharmony_ci __field(int, minor) 4162306a36Sopenharmony_ci __field(int, ctx) 4262306a36Sopenharmony_ci ), 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci TP_fast_assign( 4562306a36Sopenharmony_ci __entry->minor = ctx->fh.vdev->minor; 4662306a36Sopenharmony_ci __entry->ctx = ctx->idx; 4762306a36Sopenharmony_ci ), 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci TP_printk("minor = %d, ctx = %d", __entry->minor, __entry->ctx) 5062306a36Sopenharmony_ci); 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ciDECLARE_EVENT_CLASS(coda_buf_class, 5362306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci TP_ARGS(ctx, buf), 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci TP_STRUCT__entry( 5862306a36Sopenharmony_ci __field(int, minor) 5962306a36Sopenharmony_ci __field(int, index) 6062306a36Sopenharmony_ci __field(int, ctx) 6162306a36Sopenharmony_ci ), 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci TP_fast_assign( 6462306a36Sopenharmony_ci __entry->minor = ctx->fh.vdev->minor; 6562306a36Sopenharmony_ci __entry->index = buf->vb2_buf.index; 6662306a36Sopenharmony_ci __entry->ctx = ctx->idx; 6762306a36Sopenharmony_ci ), 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci TP_printk("minor = %d, index = %d, ctx = %d", 7062306a36Sopenharmony_ci __entry->minor, __entry->index, __entry->ctx) 7162306a36Sopenharmony_ci); 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciDEFINE_EVENT(coda_buf_class, coda_enc_pic_run, 7462306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), 7562306a36Sopenharmony_ci TP_ARGS(ctx, buf) 7662306a36Sopenharmony_ci); 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciDEFINE_EVENT(coda_buf_class, coda_enc_pic_done, 7962306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), 8062306a36Sopenharmony_ci TP_ARGS(ctx, buf) 8162306a36Sopenharmony_ci); 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciDECLARE_EVENT_CLASS(coda_buf_meta_class, 8462306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf, 8562306a36Sopenharmony_ci struct coda_buffer_meta *meta), 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci TP_ARGS(ctx, buf, meta), 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci TP_STRUCT__entry( 9062306a36Sopenharmony_ci __field(int, minor) 9162306a36Sopenharmony_ci __field(int, index) 9262306a36Sopenharmony_ci __field(int, start) 9362306a36Sopenharmony_ci __field(int, end) 9462306a36Sopenharmony_ci __field(int, ctx) 9562306a36Sopenharmony_ci ), 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci TP_fast_assign( 9862306a36Sopenharmony_ci __entry->minor = ctx->fh.vdev->minor; 9962306a36Sopenharmony_ci __entry->index = buf->vb2_buf.index; 10062306a36Sopenharmony_ci __entry->start = meta->start & ctx->bitstream_fifo.kfifo.mask; 10162306a36Sopenharmony_ci __entry->end = meta->end & ctx->bitstream_fifo.kfifo.mask; 10262306a36Sopenharmony_ci __entry->ctx = ctx->idx; 10362306a36Sopenharmony_ci ), 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci TP_printk("minor = %d, index = %d, start = 0x%x, end = 0x%x, ctx = %d", 10662306a36Sopenharmony_ci __entry->minor, __entry->index, __entry->start, __entry->end, 10762306a36Sopenharmony_ci __entry->ctx) 10862306a36Sopenharmony_ci); 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ciDEFINE_EVENT(coda_buf_meta_class, coda_bit_queue, 11162306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf, 11262306a36Sopenharmony_ci struct coda_buffer_meta *meta), 11362306a36Sopenharmony_ci TP_ARGS(ctx, buf, meta) 11462306a36Sopenharmony_ci); 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ciDECLARE_EVENT_CLASS(coda_meta_class, 11762306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta), 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci TP_ARGS(ctx, meta), 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci TP_STRUCT__entry( 12262306a36Sopenharmony_ci __field(int, minor) 12362306a36Sopenharmony_ci __field(int, start) 12462306a36Sopenharmony_ci __field(int, end) 12562306a36Sopenharmony_ci __field(int, ctx) 12662306a36Sopenharmony_ci ), 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci TP_fast_assign( 12962306a36Sopenharmony_ci __entry->minor = ctx->fh.vdev->minor; 13062306a36Sopenharmony_ci __entry->start = meta ? (meta->start & 13162306a36Sopenharmony_ci ctx->bitstream_fifo.kfifo.mask) : 0; 13262306a36Sopenharmony_ci __entry->end = meta ? (meta->end & 13362306a36Sopenharmony_ci ctx->bitstream_fifo.kfifo.mask) : 0; 13462306a36Sopenharmony_ci __entry->ctx = ctx->idx; 13562306a36Sopenharmony_ci ), 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci TP_printk("minor = %d, start = 0x%x, end = 0x%x, ctx = %d", 13862306a36Sopenharmony_ci __entry->minor, __entry->start, __entry->end, __entry->ctx) 13962306a36Sopenharmony_ci); 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ciDEFINE_EVENT(coda_meta_class, coda_dec_pic_run, 14262306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta), 14362306a36Sopenharmony_ci TP_ARGS(ctx, meta) 14462306a36Sopenharmony_ci); 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ciDEFINE_EVENT(coda_meta_class, coda_dec_pic_done, 14762306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct coda_buffer_meta *meta), 14862306a36Sopenharmony_ci TP_ARGS(ctx, meta) 14962306a36Sopenharmony_ci); 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ciDEFINE_EVENT(coda_buf_meta_class, coda_dec_rot_done, 15262306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf, 15362306a36Sopenharmony_ci struct coda_buffer_meta *meta), 15462306a36Sopenharmony_ci TP_ARGS(ctx, buf, meta) 15562306a36Sopenharmony_ci); 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ciDEFINE_EVENT(coda_buf_class, coda_jpeg_run, 15862306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), 15962306a36Sopenharmony_ci TP_ARGS(ctx, buf) 16062306a36Sopenharmony_ci); 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ciDEFINE_EVENT(coda_buf_class, coda_jpeg_done, 16362306a36Sopenharmony_ci TP_PROTO(struct coda_ctx *ctx, struct vb2_v4l2_buffer *buf), 16462306a36Sopenharmony_ci TP_ARGS(ctx, buf) 16562306a36Sopenharmony_ci); 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci#endif /* __CODA_TRACE_H__ */ 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci#undef TRACE_INCLUDE_PATH 17062306a36Sopenharmony_ci#define TRACE_INCLUDE_PATH ../../drivers/media/platform/chips-media 17162306a36Sopenharmony_ci#undef TRACE_INCLUDE_FILE 17262306a36Sopenharmony_ci#define TRACE_INCLUDE_FILE trace 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci/* This part must be outside protection */ 17562306a36Sopenharmony_ci#include <trace/define_trace.h> 176