1 /* SPDX-License-Identifier: GPL-2.0 */
3 #define TRACE_SYSTEM vb2
5 #if !defined(_TRACE_VB2_H) || defined(TRACE_HEADER_MULTI_READ)
8 #include <linux/tracepoint.h>
9 #include <media/videobuf2-core.h>
11 DECLARE_EVENT_CLASS(vb2_event_class
,
12 TP_PROTO(struct vb2_queue
*q
, struct vb2_buffer
*vb
),
16 __field(void *, owner
)
17 __field(u32
, queued_count
)
18 __field(int, owned_by_drv_count
)
21 __field(u32
, bytesused
)
22 __field(u64
, timestamp
)
26 __entry
->owner
= q
->owner
;
27 __entry
->queued_count
= q
->queued_count
;
28 __entry
->owned_by_drv_count
=
29 atomic_read(&q
->owned_by_drv_count
);
30 __entry
->index
= vb
->index
;
31 __entry
->type
= vb
->type
;
32 __entry
->bytesused
= vb
->planes
[0].bytesused
;
33 __entry
->timestamp
= vb
->timestamp
;
36 TP_printk("owner = %p, queued = %u, owned_by_drv = %d, index = %u, "
37 "type = %u, bytesused = %u, timestamp = %llu", __entry
->owner
,
38 __entry
->queued_count
,
39 __entry
->owned_by_drv_count
,
40 __entry
->index
, __entry
->type
,
46 DEFINE_EVENT(vb2_event_class
, vb2_buf_done
,
47 TP_PROTO(struct vb2_queue
*q
, struct vb2_buffer
*vb
),
51 DEFINE_EVENT(vb2_event_class
, vb2_buf_queue
,
52 TP_PROTO(struct vb2_queue
*q
, struct vb2_buffer
*vb
),
56 DEFINE_EVENT(vb2_event_class
, vb2_dqbuf
,
57 TP_PROTO(struct vb2_queue
*q
, struct vb2_buffer
*vb
),
61 DEFINE_EVENT(vb2_event_class
, vb2_qbuf
,
62 TP_PROTO(struct vb2_queue
*q
, struct vb2_buffer
*vb
),
66 #endif /* if !defined(_TRACE_VB2_H) || defined(TRACE_HEADER_MULTI_READ) */
68 /* This part must be outside protection */
69 #include <trace/define_trace.h>