linux_dsm_epyc7002/drivers/media/platform/coda/trace.h
Junghak Sung 2d7007153f [media] media: videobuf2: Restructure vb2_buffer
Remove v4l2 stuff - v4l2_buf, v4l2_plane - from struct vb2_buffer.

Add new member variables - bytesused, length, offset, userptr, fd,
data_offset - to struct vb2_plane in order to cover all information
of v4l2_plane.
struct vb2_plane {
        <snip>
        unsigned int            bytesused;
        unsigned int            length;
        union {
                unsigned int    offset;
                unsigned long   userptr;
                int             fd;
        } m;
        unsigned int            data_offset;
}

Replace v4l2_buf with new member variables - index, type, memory - which
are common fields for buffer management.
struct vb2_buffer {
        <snip>
        unsigned int            index;
        unsigned int            type;
        unsigned int            memory;
        unsigned int            num_planes;
        struct vb2_plane        planes[VIDEO_MAX_PLANES];
        <snip>
};

v4l2 specific fields - flags, field, timestamp, timecode,
sequence - are moved to vb2_v4l2_buffer in videobuf2-v4l2.c
struct vb2_v4l2_buffer {
        struct vb2_buffer       vb2_buf;

        __u32                   flags;
        __u32                   field;
        struct timeval          timestamp;
        struct v4l2_timecode    timecode;
        __u32                   sequence;
};

Signed-off-by: Junghak Sung <jh1009.sung@samsung.com>
Signed-off-by: Geunyoung Kim <nenggun.kim@samsung.com>
Acked-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-10-01 09:04:43 -03:00

163 lines
3.5 KiB
C

#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;
__entry->end = meta->end;
__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 : 0;
__entry->end = meta ? meta->end : 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)
);
#endif /* __CODA_TRACE_H__ */
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH .
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE trace
/* This part must be outside protection */
#include <trace/define_trace.h>