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 | |