#if !defined(_RADEON_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) #define _RADEON_TRACE_H_ #include #include #include #include #undef TRACE_SYSTEM #define TRACE_SYSTEM radeon #define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM) #define TRACE_INCLUDE_FILE radeon_trace TRACE_EVENT(radeon_bo_create, TP_PROTO(struct radeon_bo *bo), TP_ARGS(bo), TP_STRUCT__entry( __field(struct radeon_bo *, bo) __field(u32, pages) ), TP_fast_assign( __entry->bo = bo; __entry->pages = bo->tbo.num_pages; ), TP_printk("bo=%p, pages=%u", __entry->bo, __entry->pages) ); DECLARE_EVENT_CLASS(radeon_fence_request, TP_PROTO(struct drm_device *dev, u32 seqno), TP_ARGS(dev, seqno), TP_STRUCT__entry( __field(u32, dev) __field(u32, seqno) ), TP_fast_assign( __entry->dev = dev->primary->index; __entry->seqno = seqno; ), TP_printk("dev=%u, seqno=%u", __entry->dev, __entry->seqno) ); DEFINE_EVENT(radeon_fence_request, radeon_fence_emit, TP_PROTO(struct drm_device *dev, u32 seqno), TP_ARGS(dev, seqno) ); DEFINE_EVENT(radeon_fence_request, radeon_fence_retire, TP_PROTO(struct drm_device *dev, u32 seqno), TP_ARGS(dev, seqno) ); DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_begin, TP_PROTO(struct drm_device *dev, u32 seqno), TP_ARGS(dev, seqno) ); DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_end, TP_PROTO(struct drm_device *dev, u32 seqno), TP_ARGS(dev, seqno) ); #endif /* This part must be outside protection */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH . #include