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 96*a4e76ba6SJiri 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