xref: /linux/include/trace/events/amdxdna.h (revision b87f920b934426a24d54613f12ed67c03ae05024)
1*b87f920bSLizhi Hou /* SPDX-License-Identifier: GPL-2.0 */
2*b87f920bSLizhi Hou /*
3*b87f920bSLizhi Hou  * Copyright (C) 2023-2024, Advanced Micro Devices, Inc.
4*b87f920bSLizhi Hou  */
5*b87f920bSLizhi Hou 
6*b87f920bSLizhi Hou #undef TRACE_SYSTEM
7*b87f920bSLizhi Hou #define TRACE_SYSTEM amdxdna
8*b87f920bSLizhi Hou 
9*b87f920bSLizhi Hou #if !defined(_TRACE_AMDXDNA_H) || defined(TRACE_HEADER_MULTI_READ)
10*b87f920bSLizhi Hou #define _TRACE_AMDXDNA_H
11*b87f920bSLizhi Hou 
12*b87f920bSLizhi Hou #include <linux/tracepoint.h>
13*b87f920bSLizhi Hou 
14*b87f920bSLizhi Hou DECLARE_EVENT_CLASS(xdna_mbox_msg,
15*b87f920bSLizhi Hou 		    TP_PROTO(char *name, u8 chann_id, u32 opcode, u32 msg_id),
16*b87f920bSLizhi Hou 
17*b87f920bSLizhi Hou 		    TP_ARGS(name, chann_id, opcode, msg_id),
18*b87f920bSLizhi Hou 
19*b87f920bSLizhi Hou 		    TP_STRUCT__entry(__string(name, name)
20*b87f920bSLizhi Hou 				     __field(u32, chann_id)
21*b87f920bSLizhi Hou 				     __field(u32, opcode)
22*b87f920bSLizhi Hou 				     __field(u32, msg_id)),
23*b87f920bSLizhi Hou 
24*b87f920bSLizhi Hou 		    TP_fast_assign(__assign_str(name);
25*b87f920bSLizhi Hou 				   __entry->chann_id = chann_id;
26*b87f920bSLizhi Hou 				   __entry->opcode = opcode;
27*b87f920bSLizhi Hou 				   __entry->msg_id = msg_id;),
28*b87f920bSLizhi Hou 
29*b87f920bSLizhi Hou 		    TP_printk("%s.%d id 0x%x opcode 0x%x", __get_str(name),
30*b87f920bSLizhi Hou 			      __entry->chann_id, __entry->msg_id, __entry->opcode)
31*b87f920bSLizhi Hou );
32*b87f920bSLizhi Hou 
33*b87f920bSLizhi Hou DEFINE_EVENT(xdna_mbox_msg, mbox_set_tail,
34*b87f920bSLizhi Hou 	     TP_PROTO(char *name, u8 chann_id, u32 opcode, u32 id),
35*b87f920bSLizhi Hou 	     TP_ARGS(name, chann_id, opcode, id)
36*b87f920bSLizhi Hou );
37*b87f920bSLizhi Hou 
38*b87f920bSLizhi Hou DEFINE_EVENT(xdna_mbox_msg, mbox_set_head,
39*b87f920bSLizhi Hou 	     TP_PROTO(char *name, u8 chann_id, u32 opcode, u32 id),
40*b87f920bSLizhi Hou 	     TP_ARGS(name, chann_id, opcode, id)
41*b87f920bSLizhi Hou );
42*b87f920bSLizhi Hou 
43*b87f920bSLizhi Hou TRACE_EVENT(mbox_irq_handle,
44*b87f920bSLizhi Hou 	    TP_PROTO(char *name, int irq),
45*b87f920bSLizhi Hou 
46*b87f920bSLizhi Hou 	    TP_ARGS(name, irq),
47*b87f920bSLizhi Hou 
48*b87f920bSLizhi Hou 	    TP_STRUCT__entry(__string(name, name)
49*b87f920bSLizhi Hou 			     __field(int, irq)),
50*b87f920bSLizhi Hou 
51*b87f920bSLizhi Hou 	    TP_fast_assign(__assign_str(name);
52*b87f920bSLizhi Hou 			   __entry->irq = irq;),
53*b87f920bSLizhi Hou 
54*b87f920bSLizhi Hou 	    TP_printk("%s.%d", __get_str(name), __entry->irq)
55*b87f920bSLizhi Hou );
56*b87f920bSLizhi Hou 
57*b87f920bSLizhi Hou #endif /* !defined(_TRACE_AMDXDNA_H) || defined(TRACE_HEADER_MULTI_READ) */
58*b87f920bSLizhi Hou 
59*b87f920bSLizhi Hou /* This part must be outside protection */
60*b87f920bSLizhi Hou #include <trace/define_trace.h>
61