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