99ee7fac18
this adds a bo create, and fence seq tracking tracepoints. This is just an initial set to play around with, we should investigate what others we need would be useful. Signed-off-by: Dave Airlie <airlied@redhat.com>
82 lines
1.7 KiB
C
82 lines
1.7 KiB
C
#if !defined(_RADEON_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define _RADEON_TRACE_H_
|
|
|
|
#include <linux/stringify.h>
|
|
#include <linux/types.h>
|
|
#include <linux/tracepoint.h>
|
|
|
|
#include <drm/drmP.h>
|
|
|
|
#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 <trace/define_trace.h>
|