1 /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
2 /* Copyright (c) 2019 Mellanox Technologies. All rights reserved */
3 
4 #undef TRACE_SYSTEM
5 #define TRACE_SYSTEM mlxsw
6 
7 #if !defined(_MLXSW_TRACEPOINT_H) || defined(TRACE_HEADER_MULTI_READ)
8 #define _MLXSW_TRACEPOINT_H
9 
10 #include <linux/tracepoint.h>
11 
12 struct mlxsw_sp;
13 struct mlxsw_sp_acl_atcam_region;
14 struct mlxsw_sp_acl_tcam_vregion;
15 
16 TRACE_EVENT(mlxsw_sp_acl_atcam_entry_add_ctcam_spill,
17 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
18 		 const struct mlxsw_sp_acl_atcam_region *aregion),
19 
20 	TP_ARGS(mlxsw_sp, aregion),
21 
22 	TP_STRUCT__entry(
23 		__field(const void *, mlxsw_sp)
24 		__field(const void *, aregion)
25 	),
26 
27 	TP_fast_assign(
28 		__entry->mlxsw_sp = mlxsw_sp;
29 		__entry->aregion = aregion;
30 	),
31 
32 	TP_printk("mlxsw_sp %p, aregion %p",
33 		  __entry->mlxsw_sp, __entry->aregion)
34 );
35 
36 TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_rehash,
37 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
38 		 const struct mlxsw_sp_acl_tcam_vregion *vregion),
39 
40 	TP_ARGS(mlxsw_sp, vregion),
41 
42 	TP_STRUCT__entry(
43 		__field(const void *, mlxsw_sp)
44 		__field(const void *, vregion)
45 	),
46 
47 	TP_fast_assign(
48 		__entry->mlxsw_sp = mlxsw_sp;
49 		__entry->vregion = vregion;
50 	),
51 
52 	TP_printk("mlxsw_sp %p, vregion %p",
53 		  __entry->mlxsw_sp, __entry->vregion)
54 );
55 
56 TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_migrate,
57 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
58 		 const struct mlxsw_sp_acl_tcam_vregion *vregion),
59 
60 	TP_ARGS(mlxsw_sp, vregion),
61 
62 	TP_STRUCT__entry(
63 		__field(const void *, mlxsw_sp)
64 		__field(const void *, vregion)
65 	),
66 
67 	TP_fast_assign(
68 		__entry->mlxsw_sp = mlxsw_sp;
69 		__entry->vregion = vregion;
70 	),
71 
72 	TP_printk("mlxsw_sp %p, vregion %p",
73 		  __entry->mlxsw_sp, __entry->vregion)
74 );
75 
76 TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_migrate_end,
77 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
78 		 const struct mlxsw_sp_acl_tcam_vregion *vregion),
79 
80 	TP_ARGS(mlxsw_sp, vregion),
81 
82 	TP_STRUCT__entry(
83 		__field(const void *, mlxsw_sp)
84 		__field(const void *, vregion)
85 	),
86 
87 	TP_fast_assign(
88 		__entry->mlxsw_sp = mlxsw_sp;
89 		__entry->vregion = vregion;
90 	),
91 
92 	TP_printk("mlxsw_sp %p, vregion %p",
93 		  __entry->mlxsw_sp, __entry->vregion)
94 );
95 
96 TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_rehash_rollback_failed,
97 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
98 		 const struct mlxsw_sp_acl_tcam_vregion *vregion),
99 
100 	TP_ARGS(mlxsw_sp, vregion),
101 
102 	TP_STRUCT__entry(
103 		__field(const void *, mlxsw_sp)
104 		__field(const void *, vregion)
105 	),
106 
107 	TP_fast_assign(
108 		__entry->mlxsw_sp = mlxsw_sp;
109 		__entry->vregion = vregion;
110 	),
111 
112 	TP_printk("mlxsw_sp %p, vregion %p",
113 		  __entry->mlxsw_sp, __entry->vregion)
114 );
115 
116 #endif /* _MLXSW_TRACEPOINT_H */
117 
118 /* This part must be outside protection */
119 #include <trace/define_trace.h>
120