0001
0002 #undef TRACE_SYSTEM
0003 #define TRACE_SYSTEM dma_fence
0004
0005 #if !defined(_TRACE_DMA_FENCE_H) || defined(TRACE_HEADER_MULTI_READ)
0006 #define _TRACE_DMA_FENCE_H
0007
0008 #include <linux/tracepoint.h>
0009
0010 struct dma_fence;
0011
0012 DECLARE_EVENT_CLASS(dma_fence,
0013
0014 TP_PROTO(struct dma_fence *fence),
0015
0016 TP_ARGS(fence),
0017
0018 TP_STRUCT__entry(
0019 __string(driver, fence->ops->get_driver_name(fence))
0020 __string(timeline, fence->ops->get_timeline_name(fence))
0021 __field(unsigned int, context)
0022 __field(unsigned int, seqno)
0023 ),
0024
0025 TP_fast_assign(
0026 __assign_str(driver, fence->ops->get_driver_name(fence));
0027 __assign_str(timeline, fence->ops->get_timeline_name(fence));
0028 __entry->context = fence->context;
0029 __entry->seqno = fence->seqno;
0030 ),
0031
0032 TP_printk("driver=%s timeline=%s context=%u seqno=%u",
0033 __get_str(driver), __get_str(timeline), __entry->context,
0034 __entry->seqno)
0035 );
0036
0037 DEFINE_EVENT(dma_fence, dma_fence_emit,
0038
0039 TP_PROTO(struct dma_fence *fence),
0040
0041 TP_ARGS(fence)
0042 );
0043
0044 DEFINE_EVENT(dma_fence, dma_fence_init,
0045
0046 TP_PROTO(struct dma_fence *fence),
0047
0048 TP_ARGS(fence)
0049 );
0050
0051 DEFINE_EVENT(dma_fence, dma_fence_destroy,
0052
0053 TP_PROTO(struct dma_fence *fence),
0054
0055 TP_ARGS(fence)
0056 );
0057
0058 DEFINE_EVENT(dma_fence, dma_fence_enable_signal,
0059
0060 TP_PROTO(struct dma_fence *fence),
0061
0062 TP_ARGS(fence)
0063 );
0064
0065 DEFINE_EVENT(dma_fence, dma_fence_signaled,
0066
0067 TP_PROTO(struct dma_fence *fence),
0068
0069 TP_ARGS(fence)
0070 );
0071
0072 DEFINE_EVENT(dma_fence, dma_fence_wait_start,
0073
0074 TP_PROTO(struct dma_fence *fence),
0075
0076 TP_ARGS(fence)
0077 );
0078
0079 DEFINE_EVENT(dma_fence, dma_fence_wait_end,
0080
0081 TP_PROTO(struct dma_fence *fence),
0082
0083 TP_ARGS(fence)
0084 );
0085
0086 #endif
0087
0088
0089 #include <trace/define_trace.h>