1*4882a593Smuzhiyun /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ 2*4882a593Smuzhiyun /* Copyright (c) 2019 Mellanox Technologies. All rights reserved */ 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #undef TRACE_SYSTEM 5*4882a593Smuzhiyun #define TRACE_SYSTEM mlxsw 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #if !defined(_MLXSW_TRACEPOINT_H) || defined(TRACE_HEADER_MULTI_READ) 8*4882a593Smuzhiyun #define _MLXSW_TRACEPOINT_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #include <linux/tracepoint.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun struct mlxsw_sp; 13*4882a593Smuzhiyun struct mlxsw_sp_acl_atcam_region; 14*4882a593Smuzhiyun struct mlxsw_sp_acl_tcam_vregion; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun TRACE_EVENT(mlxsw_sp_acl_atcam_entry_add_ctcam_spill, 17*4882a593Smuzhiyun TP_PROTO(const struct mlxsw_sp *mlxsw_sp, 18*4882a593Smuzhiyun const struct mlxsw_sp_acl_atcam_region *aregion), 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun TP_ARGS(mlxsw_sp, aregion), 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun TP_STRUCT__entry( 23*4882a593Smuzhiyun __field(const void *, mlxsw_sp) 24*4882a593Smuzhiyun __field(const void *, aregion) 25*4882a593Smuzhiyun ), 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun TP_fast_assign( 28*4882a593Smuzhiyun __entry->mlxsw_sp = mlxsw_sp; 29*4882a593Smuzhiyun __entry->aregion = aregion; 30*4882a593Smuzhiyun ), 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun TP_printk("mlxsw_sp %p, aregion %p", 33*4882a593Smuzhiyun __entry->mlxsw_sp, __entry->aregion) 34*4882a593Smuzhiyun ); 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_rehash, 37*4882a593Smuzhiyun TP_PROTO(const struct mlxsw_sp *mlxsw_sp, 38*4882a593Smuzhiyun const struct mlxsw_sp_acl_tcam_vregion *vregion), 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun TP_ARGS(mlxsw_sp, vregion), 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun TP_STRUCT__entry( 43*4882a593Smuzhiyun __field(const void *, mlxsw_sp) 44*4882a593Smuzhiyun __field(const void *, vregion) 45*4882a593Smuzhiyun ), 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun TP_fast_assign( 48*4882a593Smuzhiyun __entry->mlxsw_sp = mlxsw_sp; 49*4882a593Smuzhiyun __entry->vregion = vregion; 50*4882a593Smuzhiyun ), 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun TP_printk("mlxsw_sp %p, vregion %p", 53*4882a593Smuzhiyun __entry->mlxsw_sp, __entry->vregion) 54*4882a593Smuzhiyun ); 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_migrate, 57*4882a593Smuzhiyun TP_PROTO(const struct mlxsw_sp *mlxsw_sp, 58*4882a593Smuzhiyun const struct mlxsw_sp_acl_tcam_vregion *vregion), 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun TP_ARGS(mlxsw_sp, vregion), 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun TP_STRUCT__entry( 63*4882a593Smuzhiyun __field(const void *, mlxsw_sp) 64*4882a593Smuzhiyun __field(const void *, vregion) 65*4882a593Smuzhiyun ), 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun TP_fast_assign( 68*4882a593Smuzhiyun __entry->mlxsw_sp = mlxsw_sp; 69*4882a593Smuzhiyun __entry->vregion = vregion; 70*4882a593Smuzhiyun ), 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun TP_printk("mlxsw_sp %p, vregion %p", 73*4882a593Smuzhiyun __entry->mlxsw_sp, __entry->vregion) 74*4882a593Smuzhiyun ); 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_migrate_end, 77*4882a593Smuzhiyun TP_PROTO(const struct mlxsw_sp *mlxsw_sp, 78*4882a593Smuzhiyun const struct mlxsw_sp_acl_tcam_vregion *vregion), 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun TP_ARGS(mlxsw_sp, vregion), 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun TP_STRUCT__entry( 83*4882a593Smuzhiyun __field(const void *, mlxsw_sp) 84*4882a593Smuzhiyun __field(const void *, vregion) 85*4882a593Smuzhiyun ), 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun TP_fast_assign( 88*4882a593Smuzhiyun __entry->mlxsw_sp = mlxsw_sp; 89*4882a593Smuzhiyun __entry->vregion = vregion; 90*4882a593Smuzhiyun ), 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun TP_printk("mlxsw_sp %p, vregion %p", 93*4882a593Smuzhiyun __entry->mlxsw_sp, __entry->vregion) 94*4882a593Smuzhiyun ); 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun TRACE_EVENT(mlxsw_sp_acl_tcam_vregion_rehash_rollback_failed, 97*4882a593Smuzhiyun TP_PROTO(const struct mlxsw_sp *mlxsw_sp, 98*4882a593Smuzhiyun const struct mlxsw_sp_acl_tcam_vregion *vregion), 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun TP_ARGS(mlxsw_sp, vregion), 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun TP_STRUCT__entry( 103*4882a593Smuzhiyun __field(const void *, mlxsw_sp) 104*4882a593Smuzhiyun __field(const void *, vregion) 105*4882a593Smuzhiyun ), 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun TP_fast_assign( 108*4882a593Smuzhiyun __entry->mlxsw_sp = mlxsw_sp; 109*4882a593Smuzhiyun __entry->vregion = vregion; 110*4882a593Smuzhiyun ), 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun TP_printk("mlxsw_sp %p, vregion %p", 113*4882a593Smuzhiyun __entry->mlxsw_sp, __entry->vregion) 114*4882a593Smuzhiyun ); 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun #endif /* _MLXSW_TRACEPOINT_H */ 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun /* This part must be outside protection */ 119*4882a593Smuzhiyun #include <trace/define_trace.h> 120