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