1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2f54d1867SChris Wilson #undef TRACE_SYSTEM 3f54d1867SChris Wilson #define TRACE_SYSTEM dma_fence 4f54d1867SChris Wilson 5b1d45c23SMasahiro Yamada #if !defined(_TRACE_DMA_FENCE_H) || defined(TRACE_HEADER_MULTI_READ) 6f54d1867SChris Wilson #define _TRACE_DMA_FENCE_H 7f54d1867SChris Wilson 8f54d1867SChris Wilson #include <linux/tracepoint.h> 9f54d1867SChris Wilson 10f54d1867SChris Wilson struct dma_fence; 11f54d1867SChris Wilson 12f54d1867SChris Wilson DECLARE_EVENT_CLASS(dma_fence, 13f54d1867SChris Wilson 14f54d1867SChris Wilson TP_PROTO(struct dma_fence *fence), 15f54d1867SChris Wilson 16f54d1867SChris Wilson TP_ARGS(fence), 17f54d1867SChris Wilson 18f54d1867SChris Wilson TP_STRUCT__entry( 19f54d1867SChris Wilson __string(driver, fence->ops->get_driver_name(fence)) 20f54d1867SChris Wilson __string(timeline, fence->ops->get_timeline_name(fence)) 21f54d1867SChris Wilson __field(unsigned int, context) 22f54d1867SChris Wilson __field(unsigned int, seqno) 23f54d1867SChris Wilson ), 24f54d1867SChris Wilson 25f54d1867SChris Wilson TP_fast_assign( 26*78c14b38SJoe Perches __assign_str(driver, fence->ops->get_driver_name(fence)); 27*78c14b38SJoe Perches __assign_str(timeline, fence->ops->get_timeline_name(fence)); 28f54d1867SChris Wilson __entry->context = fence->context; 29f54d1867SChris Wilson __entry->seqno = fence->seqno; 30f54d1867SChris Wilson ), 31f54d1867SChris Wilson 32f54d1867SChris Wilson TP_printk("driver=%s timeline=%s context=%u seqno=%u", 33f54d1867SChris Wilson __get_str(driver), __get_str(timeline), __entry->context, 34f54d1867SChris Wilson __entry->seqno) 35f54d1867SChris Wilson ); 36f54d1867SChris Wilson 37f54d1867SChris Wilson DEFINE_EVENT(dma_fence, dma_fence_emit, 38f54d1867SChris Wilson 39f54d1867SChris Wilson TP_PROTO(struct dma_fence *fence), 40f54d1867SChris Wilson 41f54d1867SChris Wilson TP_ARGS(fence) 42f54d1867SChris Wilson ); 43f54d1867SChris Wilson 44f54d1867SChris Wilson DEFINE_EVENT(dma_fence, dma_fence_init, 45f54d1867SChris Wilson 46f54d1867SChris Wilson TP_PROTO(struct dma_fence *fence), 47f54d1867SChris Wilson 48f54d1867SChris Wilson TP_ARGS(fence) 49f54d1867SChris Wilson ); 50f54d1867SChris Wilson 51f54d1867SChris Wilson DEFINE_EVENT(dma_fence, dma_fence_destroy, 52f54d1867SChris Wilson 53f54d1867SChris Wilson TP_PROTO(struct dma_fence *fence), 54f54d1867SChris Wilson 55f54d1867SChris Wilson TP_ARGS(fence) 56f54d1867SChris Wilson ); 57f54d1867SChris Wilson 58f54d1867SChris Wilson DEFINE_EVENT(dma_fence, dma_fence_enable_signal, 59f54d1867SChris Wilson 60f54d1867SChris Wilson TP_PROTO(struct dma_fence *fence), 61f54d1867SChris Wilson 62f54d1867SChris Wilson TP_ARGS(fence) 63f54d1867SChris Wilson ); 64f54d1867SChris Wilson 65f54d1867SChris Wilson DEFINE_EVENT(dma_fence, dma_fence_signaled, 66f54d1867SChris Wilson 67f54d1867SChris Wilson TP_PROTO(struct dma_fence *fence), 68f54d1867SChris Wilson 69f54d1867SChris Wilson TP_ARGS(fence) 70f54d1867SChris Wilson ); 71f54d1867SChris Wilson 72f54d1867SChris Wilson DEFINE_EVENT(dma_fence, dma_fence_wait_start, 73f54d1867SChris Wilson 74f54d1867SChris Wilson TP_PROTO(struct dma_fence *fence), 75f54d1867SChris Wilson 76f54d1867SChris Wilson TP_ARGS(fence) 77f54d1867SChris Wilson ); 78f54d1867SChris Wilson 79f54d1867SChris Wilson DEFINE_EVENT(dma_fence, dma_fence_wait_end, 80f54d1867SChris Wilson 81f54d1867SChris Wilson TP_PROTO(struct dma_fence *fence), 82f54d1867SChris Wilson 83f54d1867SChris Wilson TP_ARGS(fence) 84f54d1867SChris Wilson ); 85f54d1867SChris Wilson 86f54d1867SChris Wilson #endif /* _TRACE_DMA_FENCE_H */ 87f54d1867SChris Wilson 88f54d1867SChris Wilson /* This part must be outside protection */ 89f54d1867SChris Wilson #include <trace/define_trace.h> 90