^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #undef TRACE_SYSTEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define TRACE_SYSTEM vb2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #if !defined(_TRACE_VB2_H) || defined(TRACE_HEADER_MULTI_READ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #define _TRACE_VB2_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #include <linux/tracepoint.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #include <media/videobuf2-core.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) DECLARE_EVENT_CLASS(vb2_event_class,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) TP_PROTO(struct vb2_queue *q, struct vb2_buffer *vb),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) TP_ARGS(q, vb),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) TP_STRUCT__entry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) __field(void *, owner)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) __field(u32, queued_count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) __field(int, owned_by_drv_count)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) __field(u32, index)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) __field(u32, type)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) __field(u32, bytesused)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) __field(u64, timestamp)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) TP_fast_assign(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) __entry->owner = q->owner;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) __entry->queued_count = q->queued_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) __entry->owned_by_drv_count =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) atomic_read(&q->owned_by_drv_count);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) __entry->index = vb->index;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) __entry->type = vb->type;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) __entry->bytesused = vb->planes[0].bytesused;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) __entry->timestamp = vb->timestamp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) ),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) TP_printk("owner = %p, queued = %u, owned_by_drv = %d, index = %u, "
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) "type = %u, bytesused = %u, timestamp = %llu", __entry->owner,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) __entry->queued_count,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) __entry->owned_by_drv_count,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) __entry->index, __entry->type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) __entry->bytesused,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) __entry->timestamp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) DEFINE_EVENT(vb2_event_class, vb2_buf_done,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) TP_PROTO(struct vb2_queue *q, struct vb2_buffer *vb),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) TP_ARGS(q, vb)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) DEFINE_EVENT(vb2_event_class, vb2_buf_queue,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) TP_PROTO(struct vb2_queue *q, struct vb2_buffer *vb),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) TP_ARGS(q, vb)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) DEFINE_EVENT(vb2_event_class, vb2_dqbuf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) TP_PROTO(struct vb2_queue *q, struct vb2_buffer *vb),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) TP_ARGS(q, vb)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) DEFINE_EVENT(vb2_event_class, vb2_qbuf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) TP_PROTO(struct vb2_queue *q, struct vb2_buffer *vb),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) TP_ARGS(q, vb)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) );
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) #endif /* if !defined(_TRACE_VB2_H) || defined(TRACE_HEADER_MULTI_READ) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) /* This part must be outside protection */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) #include <trace/define_trace.h>