/* SPDX-License-Identifier: GPL-2.0 */ #if !defined(ARMADA_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) #define ARMADA_TRACE_H #include <linux/tracepoint.h> struct drm_crtc; struct drm_framebuffer; struct drm_plane; #undef TRACE_SYSTEM #define TRACE_SYSTEM armada #define TRACE_INCLUDE_FILE armada_trace TRACE_EVENT(armada_drm_irq, TP_PROTO(struct drm_crtc *crtc, u32 stat), TP_ARGS(crtc, stat), TP_STRUCT__entry( __field(struct drm_crtc *, crtc) __field(u32, stat) ), TP_fast_assign( __entry->crtc = crtc; __entry->stat = stat; ), TP_printk("crtc %p stat 0x%08x", __entry->crtc, __entry->stat) ); TRACE_EVENT(armada_ovl_plane_update, TP_PROTO(struct drm_plane *plane, struct drm_crtc *crtc, struct drm_framebuffer *fb, int crtc_x, int crtc_y, unsigned crtc_w, unsigned crtc_h, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h), TP_ARGS(plane, crtc, fb, crtc_x, crtc_y, crtc_w, crtc_h, src_x, src_y, src_w, src_h), TP_STRUCT__entry( __field(struct drm_plane *, plane) __field(struct drm_crtc *, crtc) __field(struct drm_framebuffer *, fb) __field(int, crtc_x) __field(int, crtc_y) __field(unsigned int, crtc_w) __field(unsigned int, crtc_h) __field(u32, src_x) __field(u32, src_y) __field(u32, src_w) __field(u32, src_h) ), TP_fast_assign( __entry->plane = plane; __entry->crtc = crtc; __entry->fb = fb; __entry->crtc_x = crtc_x; __entry->crtc_y = crtc_y; __entry->crtc_w = crtc_w; __entry->crtc_h = crtc_h; __entry->src_x = src_x; __entry->src_y = src_y; __entry->src_w = src_w; __entry->src_h = src_h; ), TP_printk("plane %p crtc %p fb %p crtc @ (%d,%d, %ux%u) src @ (%u,%u, %ux%u)", __entry->plane, __entry->crtc, __entry->fb, __entry->crtc_x, __entry->crtc_y, __entry->crtc_w, __entry->crtc_h, __entry->src_x >> 16, __entry->src_y >> 16, __entry->src_w >> 16, __entry->src_h >> 16) ); TRACE_EVENT(armada_ovl_plane_work, TP_PROTO(struct drm_crtc *crtc, struct drm_plane *plane), TP_ARGS(crtc, plane), TP_STRUCT__entry( __field(struct drm_plane *, plane) __field(struct drm_crtc *, crtc) ), TP_fast_assign( __entry->plane = plane; __entry->crtc = crtc; ), TP_printk("plane %p crtc %p", __entry->plane, __entry->crtc) ); #endif /* This part must be outside protection */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/armada #include <trace/define_trace.h>