1254885Sdumbbell#include <sys/cdefs.h>
2254885Sdumbbell__FBSDID("$FreeBSD$");
3254885Sdumbbell
4254885Sdumbbell#if !defined(_RADEON_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
5254885Sdumbbell#define _RADEON_TRACE_H_
6254885Sdumbbell
7254885Sdumbbell#include <linux/stringify.h>
8254885Sdumbbell#include <linux/types.h>
9254885Sdumbbell#include <linux/tracepoint.h>
10254885Sdumbbell
11254885Sdumbbell#include <drm/drmP.h>
12254885Sdumbbell
13254885Sdumbbell#undef TRACE_SYSTEM
14254885Sdumbbell#define TRACE_SYSTEM radeon
15254885Sdumbbell#define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM)
16254885Sdumbbell#define TRACE_INCLUDE_FILE radeon_trace
17254885Sdumbbell
18254885SdumbbellTRACE_EVENT(radeon_bo_create,
19254885Sdumbbell	    TP_PROTO(struct radeon_bo *bo),
20254885Sdumbbell	    TP_ARGS(bo),
21254885Sdumbbell	    TP_STRUCT__entry(
22254885Sdumbbell			     __field(struct radeon_bo *, bo)
23254885Sdumbbell			     __field(u32, pages)
24254885Sdumbbell			     ),
25254885Sdumbbell
26254885Sdumbbell	    TP_fast_assign(
27254885Sdumbbell			   __entry->bo = bo;
28254885Sdumbbell			   __entry->pages = bo->tbo.num_pages;
29254885Sdumbbell			   ),
30254885Sdumbbell	    TP_printk("bo=%p, pages=%u", __entry->bo, __entry->pages)
31254885Sdumbbell);
32254885Sdumbbell
33254885SdumbbellDECLARE_EVENT_CLASS(radeon_fence_request,
34254885Sdumbbell
35254885Sdumbbell	    TP_PROTO(struct drm_device *dev, u32 seqno),
36254885Sdumbbell
37254885Sdumbbell	    TP_ARGS(dev, seqno),
38254885Sdumbbell
39254885Sdumbbell	    TP_STRUCT__entry(
40254885Sdumbbell			     __field(u32, dev)
41254885Sdumbbell			     __field(u32, seqno)
42254885Sdumbbell			     ),
43254885Sdumbbell
44254885Sdumbbell	    TP_fast_assign(
45254885Sdumbbell			   __entry->dev = dev->primary->index;
46254885Sdumbbell			   __entry->seqno = seqno;
47254885Sdumbbell			   ),
48254885Sdumbbell
49254885Sdumbbell	    TP_printk("dev=%u, seqno=%u", __entry->dev, __entry->seqno)
50254885Sdumbbell);
51254885Sdumbbell
52254885SdumbbellDEFINE_EVENT(radeon_fence_request, radeon_fence_emit,
53254885Sdumbbell
54254885Sdumbbell	    TP_PROTO(struct drm_device *dev, u32 seqno),
55254885Sdumbbell
56254885Sdumbbell	    TP_ARGS(dev, seqno)
57254885Sdumbbell);
58254885Sdumbbell
59254885SdumbbellDEFINE_EVENT(radeon_fence_request, radeon_fence_retire,
60254885Sdumbbell
61254885Sdumbbell	    TP_PROTO(struct drm_device *dev, u32 seqno),
62254885Sdumbbell
63254885Sdumbbell	    TP_ARGS(dev, seqno)
64254885Sdumbbell);
65254885Sdumbbell
66254885SdumbbellDEFINE_EVENT(radeon_fence_request, radeon_fence_wait_begin,
67254885Sdumbbell
68254885Sdumbbell	    TP_PROTO(struct drm_device *dev, u32 seqno),
69254885Sdumbbell
70254885Sdumbbell	    TP_ARGS(dev, seqno)
71254885Sdumbbell);
72254885Sdumbbell
73254885SdumbbellDEFINE_EVENT(radeon_fence_request, radeon_fence_wait_end,
74254885Sdumbbell
75254885Sdumbbell	    TP_PROTO(struct drm_device *dev, u32 seqno),
76254885Sdumbbell
77254885Sdumbbell	    TP_ARGS(dev, seqno)
78254885Sdumbbell);
79254885Sdumbbell
80254885Sdumbbell#endif
81254885Sdumbbell
82254885Sdumbbell/* This part must be outside protection */
83254885Sdumbbell#undef TRACE_INCLUDE_PATH
84254885Sdumbbell#define TRACE_INCLUDE_PATH .
85254885Sdumbbell#include <trace/define_trace.h>
86