xref: /openbmc/linux/include/trace/events/mlxsw.h (revision a4e76ba6)
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 
766375da3dSJiri Pirko TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_migrate_end,
776375da3dSJiri Pirko 	TP_PROTO(const struct mlxsw_sp *mlxsw_sp,
786375da3dSJiri Pirko 		 const struct mlxsw_sp_acl_tcam_vregion *vregion),
796375da3dSJiri Pirko 
806375da3dSJiri Pirko 	TP_ARGS(mlxsw_sp, vregion),
816375da3dSJiri Pirko 
826375da3dSJiri Pirko 	TP_STRUCT__entry(
836375da3dSJiri Pirko 		__field(const void *, mlxsw_sp)
846375da3dSJiri Pirko 		__field(const void *, vregion)
856375da3dSJiri Pirko 	),
866375da3dSJiri Pirko 
876375da3dSJiri Pirko 	TP_fast_assign(
886375da3dSJiri Pirko 		__entry->mlxsw_sp = mlxsw_sp;
896375da3dSJiri Pirko 		__entry->vregion = vregion;
906375da3dSJiri Pirko 	),
916375da3dSJiri Pirko 
926375da3dSJiri Pirko 	TP_printk("mlxsw_sp %p, vregion %p",
936375da3dSJiri Pirko 		  __entry->mlxsw_sp, __entry->vregion)
946375da3dSJiri Pirko );
956375da3dSJiri Pirko 
96a4e76ba6SJiri Pirko TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_rehash_rollback_failed,
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