Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
176 lines
4.0 KiB
C
176 lines
4.0 KiB
C
/* 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 <linux/tracepoint.h>
|
|
#include <media/videobuf2-v4l2.h>
|
|
|
|
#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/chips-media/coda
|
|
#undef TRACE_INCLUDE_FILE
|
|
#define TRACE_INCLUDE_FILE trace
|
|
|
|
/* This part must be outside protection */
|
|
#include <trace/define_trace.h>
|