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