1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #if !defined(ARMADA_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) |
3 | #define ARMADA_TRACE_H |
4 | |
5 | #include <linux/tracepoint.h> |
6 | |
7 | struct drm_crtc; |
8 | struct drm_framebuffer; |
9 | struct drm_plane; |
10 | |
11 | #undef TRACE_SYSTEM |
12 | #define TRACE_SYSTEM armada |
13 | #define TRACE_INCLUDE_FILE armada_trace |
14 | |
15 | TRACE_EVENT(armada_drm_irq, |
16 | TP_PROTO(struct drm_crtc *crtc, u32 stat), |
17 | TP_ARGS(crtc, stat), |
18 | TP_STRUCT__entry( |
19 | __field(struct drm_crtc *, crtc) |
20 | __field(u32, stat) |
21 | ), |
22 | TP_fast_assign( |
23 | __entry->crtc = crtc; |
24 | __entry->stat = stat; |
25 | ), |
26 | TP_printk("crtc %p stat 0x%08x" , |
27 | __entry->crtc, __entry->stat) |
28 | ); |
29 | |
30 | TRACE_EVENT(armada_ovl_plane_update, |
31 | TP_PROTO(struct drm_plane *plane, struct drm_crtc *crtc, |
32 | struct drm_framebuffer *fb, |
33 | int crtc_x, int crtc_y, unsigned crtc_w, unsigned crtc_h, |
34 | uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h), |
35 | TP_ARGS(plane, crtc, fb, crtc_x, crtc_y, crtc_w, crtc_h, src_x, src_y, src_w, src_h), |
36 | TP_STRUCT__entry( |
37 | __field(struct drm_plane *, plane) |
38 | __field(struct drm_crtc *, crtc) |
39 | __field(struct drm_framebuffer *, fb) |
40 | __field(int, crtc_x) |
41 | __field(int, crtc_y) |
42 | __field(unsigned int, crtc_w) |
43 | __field(unsigned int, crtc_h) |
44 | __field(u32, src_x) |
45 | __field(u32, src_y) |
46 | __field(u32, src_w) |
47 | __field(u32, src_h) |
48 | ), |
49 | TP_fast_assign( |
50 | __entry->plane = plane; |
51 | __entry->crtc = crtc; |
52 | __entry->fb = fb; |
53 | __entry->crtc_x = crtc_x; |
54 | __entry->crtc_y = crtc_y; |
55 | __entry->crtc_w = crtc_w; |
56 | __entry->crtc_h = crtc_h; |
57 | __entry->src_x = src_x; |
58 | __entry->src_y = src_y; |
59 | __entry->src_w = src_w; |
60 | __entry->src_h = src_h; |
61 | ), |
62 | TP_printk("plane %p crtc %p fb %p crtc @ (%d,%d, %ux%u) src @ (%u,%u, %ux%u)" , |
63 | __entry->plane, __entry->crtc, __entry->fb, |
64 | __entry->crtc_x, __entry->crtc_y, |
65 | __entry->crtc_w, __entry->crtc_h, |
66 | __entry->src_x >> 16, __entry->src_y >> 16, |
67 | __entry->src_w >> 16, __entry->src_h >> 16) |
68 | ); |
69 | |
70 | TRACE_EVENT(armada_ovl_plane_work, |
71 | TP_PROTO(struct drm_crtc *crtc, struct drm_plane *plane), |
72 | TP_ARGS(crtc, plane), |
73 | TP_STRUCT__entry( |
74 | __field(struct drm_plane *, plane) |
75 | __field(struct drm_crtc *, crtc) |
76 | ), |
77 | TP_fast_assign( |
78 | __entry->plane = plane; |
79 | __entry->crtc = crtc; |
80 | ), |
81 | TP_printk("plane %p crtc %p" , |
82 | __entry->plane, __entry->crtc) |
83 | ); |
84 | |
85 | #endif |
86 | |
87 | /* This part must be outside protection */ |
88 | #undef TRACE_INCLUDE_PATH |
89 | #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/armada |
90 | #include <trace/define_trace.h> |
91 | |