xref: /openbmc/linux/include/trace/events/mlxsw.h (revision 6375da3dc07f7c9a3f006646e4a03c6ded7b163e)
1a97cfe4dSJiri Pirko /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
2a97cfe4dSJiri Pirko /* Copyright (c) 2019 Mellanox Technologies. All rights reserved */
3a97cfe4dSJiri Pirko 
4a97cfe4dSJiri Pirko #undef TRACE_SYSTEM
5a97cfe4dSJiri Pirko #define TRACE_SYSTEM mlxsw
6a97cfe4dSJiri Pirko 
7a97cfe4dSJiri Pirko #if !defined(_MLXSW_TRACEPOINT_H) || defined(TRACE_HEADER_MULTI_READ)
8a97cfe4dSJiri Pirko #define _MLXSW_TRACEPOINT_H
9a97cfe4dSJiri Pirko 
10a97cfe4dSJiri Pirko #include <linux/tracepoint.h>
11a97cfe4dSJiri Pirko 
12a97cfe4dSJiri Pirko struct mlxsw_sp;
13a97cfe4dSJiri Pirko struct mlxsw_sp_acl_atcam_region;
143985de72SJiri Pirko struct mlxsw_sp_acl_tcam_vregion;
15a97cfe4dSJiri Pirko 
16a97cfe4dSJiri Pirko TRACE_EVENT(mlxsw_sp_acl_atcam_entry_add_ctcam_spill,
17a97cfe4dSJiri Pirko 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
18a97cfe4dSJiri Pirko 		 const struct mlxsw_sp_acl_atcam_region *aregion),
19a97cfe4dSJiri Pirko 
20a97cfe4dSJiri Pirko 	TP_ARGS(mlxsw_sp, aregion),
21a97cfe4dSJiri Pirko 
22a97cfe4dSJiri Pirko 	TP_STRUCT__entry(
23a97cfe4dSJiri Pirko 		__field(const void *, mlxsw_sp)
24a97cfe4dSJiri Pirko 		__field(const void *, aregion)
25a97cfe4dSJiri Pirko 	),
26a97cfe4dSJiri Pirko 
27a97cfe4dSJiri Pirko 	TP_fast_assign(
28a97cfe4dSJiri Pirko 		__entry->mlxsw_sp = mlxsw_sp;
29a97cfe4dSJiri Pirko 		__entry->aregion = aregion;
30a97cfe4dSJiri Pirko 	),
31a97cfe4dSJiri Pirko 
32a97cfe4dSJiri Pirko 	TP_printk("mlxsw_sp %p, aregion %p",
33a97cfe4dSJiri Pirko 		  __entry->mlxsw_sp, __entry->aregion)
34a97cfe4dSJiri Pirko );
35a97cfe4dSJiri Pirko 
363985de72SJiri Pirko TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_rehash,
373985de72SJiri Pirko 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
383985de72SJiri Pirko 		 const struct mlxsw_sp_acl_tcam_vregion *vregion),
393985de72SJiri Pirko 
403985de72SJiri Pirko 	TP_ARGS(mlxsw_sp, vregion),
413985de72SJiri Pirko 
423985de72SJiri Pirko 	TP_STRUCT__entry(
433985de72SJiri Pirko 		__field(const void *, mlxsw_sp)
443985de72SJiri Pirko 		__field(const void *, vregion)
453985de72SJiri Pirko 	),
463985de72SJiri Pirko 
473985de72SJiri Pirko 	TP_fast_assign(
483985de72SJiri Pirko 		__entry->mlxsw_sp = mlxsw_sp;
493985de72SJiri Pirko 		__entry->vregion = vregion;
503985de72SJiri Pirko 	),
513985de72SJiri Pirko 
523985de72SJiri Pirko 	TP_printk("mlxsw_sp %p, vregion %p",
533985de72SJiri Pirko 		  __entry->mlxsw_sp, __entry->vregion)
543985de72SJiri Pirko );
553985de72SJiri Pirko 
563985de72SJiri Pirko TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_migrate,
573985de72SJiri Pirko 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
583985de72SJiri Pirko 		 const struct mlxsw_sp_acl_tcam_vregion *vregion),
593985de72SJiri Pirko 
603985de72SJiri Pirko 	TP_ARGS(mlxsw_sp, vregion),
613985de72SJiri Pirko 
623985de72SJiri Pirko 	TP_STRUCT__entry(
633985de72SJiri Pirko 		__field(const void *, mlxsw_sp)
643985de72SJiri Pirko 		__field(const void *, vregion)
653985de72SJiri Pirko 	),
663985de72SJiri Pirko 
673985de72SJiri Pirko 	TP_fast_assign(
683985de72SJiri Pirko 		__entry->mlxsw_sp = mlxsw_sp;
693985de72SJiri Pirko 		__entry->vregion = vregion;
703985de72SJiri Pirko 	),
713985de72SJiri Pirko 
723985de72SJiri Pirko 	TP_printk("mlxsw_sp %p, vregion %p",
733985de72SJiri Pirko 		  __entry->mlxsw_sp, __entry->vregion)
743985de72SJiri Pirko );
753985de72SJiri Pirko 
76*6375da3dSJiri Pirko TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_migrate_end,
77*6375da3dSJiri Pirko 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
78*6375da3dSJiri Pirko 		 const struct mlxsw_sp_acl_tcam_vregion *vregion),
79*6375da3dSJiri Pirko 
80*6375da3dSJiri Pirko 	TP_ARGS(mlxsw_sp, vregion),
81*6375da3dSJiri Pirko 
82*6375da3dSJiri Pirko 	TP_STRUCT__entry(
83*6375da3dSJiri Pirko 		__field(const void *, mlxsw_sp)
84*6375da3dSJiri Pirko 		__field(const void *, vregion)
85*6375da3dSJiri Pirko 	),
86*6375da3dSJiri Pirko 
87*6375da3dSJiri Pirko 	TP_fast_assign(
88*6375da3dSJiri Pirko 		__entry->mlxsw_sp = mlxsw_sp;
89*6375da3dSJiri Pirko 		__entry->vregion = vregion;
90*6375da3dSJiri Pirko 	),
91*6375da3dSJiri Pirko 
92*6375da3dSJiri Pirko 	TP_printk("mlxsw_sp %p, vregion %p",
93*6375da3dSJiri Pirko 		  __entry->mlxsw_sp, __entry->vregion)
94*6375da3dSJiri Pirko );
95*6375da3dSJiri Pirko 
963985de72SJiri Pirko TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_rehash_dis,
973985de72SJiri Pirko 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
983985de72SJiri Pirko 		 const struct mlxsw_sp_acl_tcam_vregion *vregion),
993985de72SJiri Pirko 
1003985de72SJiri Pirko 	TP_ARGS(mlxsw_sp, vregion),
1013985de72SJiri Pirko 
1023985de72SJiri Pirko 	TP_STRUCT__entry(
1033985de72SJiri Pirko 		__field(const void *, mlxsw_sp)
1043985de72SJiri Pirko 		__field(const void *, vregion)
1053985de72SJiri Pirko 	),
1063985de72SJiri Pirko 
1073985de72SJiri Pirko 	TP_fast_assign(
1083985de72SJiri Pirko 		__entry->mlxsw_sp = mlxsw_sp;
1093985de72SJiri Pirko 		__entry->vregion = vregion;
1103985de72SJiri Pirko 	),
1113985de72SJiri Pirko 
1123985de72SJiri Pirko 	TP_printk("mlxsw_sp %p, vregion %p",
1133985de72SJiri Pirko 		  __entry->mlxsw_sp, __entry->vregion)
1143985de72SJiri Pirko );
1153985de72SJiri Pirko 
116a97cfe4dSJiri Pirko #endif /* _MLXSW_TRACEPOINT_H */
117a97cfe4dSJiri Pirko 
118a97cfe4dSJiri Pirko /* This part must be outside protection */
119a97cfe4dSJiri Pirko #include <trace/define_trace.h>
120