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
12struct mlxsw_sp;
13struct mlxsw_sp_acl_atcam_region;
14struct mlxsw_sp_acl_tcam_vregion;
15
16TRACE_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
36TRACE_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
56TRACE_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
76TRACE_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
96TRACE_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