1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #if !defined(_TRACE_SPUFS_H) || defined(TRACE_HEADER_MULTI_READ) 3 #define _TRACE_SPUFS_H 4 5 #include <linux/tracepoint.h> 6 #include <linux/stringify.h> 7 8 #undef TRACE_SYSTEM 9 #define TRACE_SYSTEM spufs 10 11 TRACE_EVENT(spufs_context, 12 TP_PROTO(struct spu_context *ctx, struct spu *spu, const char *name), 13 TP_ARGS(ctx, spu, name), 14 15 TP_STRUCT__entry( 16 __field(const char *, name) 17 __field(int, owner_tid) 18 __field(int, number) 19 ), 20 21 TP_fast_assign( 22 __entry->name = name; 23 __entry->owner_tid = ctx->tid; 24 __entry->number = spu ? spu->number : -1; 25 ), 26 27 TP_printk("%s (ctxthread = %d, spu = %d)", 28 __entry->name, __entry->owner_tid, __entry->number) 29 ); 30 31 #define spu_context_trace(name, ctx, spu) \ 32 trace_spufs_context(ctx, spu, __stringify(name)) 33 #define spu_context_nospu_trace(name, ctx) \ 34 trace_spufs_context(ctx, NULL, __stringify(name)) 35 36 #endif /* _TRACE_SPUFS_H */ 37 38 #undef TRACE_INCLUDE_PATH 39 #define TRACE_INCLUDE_PATH . 40 #define TRACE_INCLUDE_FILE sputrace 41 #include <trace/define_trace.h> 42