1*79257534SDaniel Bristot de Oliveira /* SPDX-License-Identifier: GPL-2.0 */ 2*79257534SDaniel Bristot de Oliveira #undef TRACE_SYSTEM 3*79257534SDaniel Bristot de Oliveira #define TRACE_SYSTEM rv 4*79257534SDaniel Bristot de Oliveira 5*79257534SDaniel Bristot de Oliveira #if !defined(_TRACE_RV_H) || defined(TRACE_HEADER_MULTI_READ) 6*79257534SDaniel Bristot de Oliveira #define _TRACE_RV_H 7*79257534SDaniel Bristot de Oliveira 8*79257534SDaniel Bristot de Oliveira #include <linux/rv.h> 9*79257534SDaniel Bristot de Oliveira #include <linux/tracepoint.h> 10*79257534SDaniel Bristot de Oliveira 11*79257534SDaniel Bristot de Oliveira #ifdef CONFIG_DA_MON_EVENTS_IMPLICIT 12*79257534SDaniel Bristot de Oliveira DECLARE_EVENT_CLASS(event_da_monitor, 13*79257534SDaniel Bristot de Oliveira 14*79257534SDaniel Bristot de Oliveira TP_PROTO(char *state, char *event, char *next_state, bool final_state), 15*79257534SDaniel Bristot de Oliveira 16*79257534SDaniel Bristot de Oliveira TP_ARGS(state, event, next_state, final_state), 17*79257534SDaniel Bristot de Oliveira 18*79257534SDaniel Bristot de Oliveira TP_STRUCT__entry( 19*79257534SDaniel Bristot de Oliveira __array( char, state, MAX_DA_NAME_LEN ) 20*79257534SDaniel Bristot de Oliveira __array( char, event, MAX_DA_NAME_LEN ) 21*79257534SDaniel Bristot de Oliveira __array( char, next_state, MAX_DA_NAME_LEN ) 22*79257534SDaniel Bristot de Oliveira __field( bool, final_state ) 23*79257534SDaniel Bristot de Oliveira ), 24*79257534SDaniel Bristot de Oliveira 25*79257534SDaniel Bristot de Oliveira TP_fast_assign( 26*79257534SDaniel Bristot de Oliveira memcpy(__entry->state, state, MAX_DA_NAME_LEN); 27*79257534SDaniel Bristot de Oliveira memcpy(__entry->event, event, MAX_DA_NAME_LEN); 28*79257534SDaniel Bristot de Oliveira memcpy(__entry->next_state, next_state, MAX_DA_NAME_LEN); 29*79257534SDaniel Bristot de Oliveira __entry->final_state = final_state; 30*79257534SDaniel Bristot de Oliveira ), 31*79257534SDaniel Bristot de Oliveira 32*79257534SDaniel Bristot de Oliveira TP_printk("%s x %s -> %s %s", 33*79257534SDaniel Bristot de Oliveira __entry->state, 34*79257534SDaniel Bristot de Oliveira __entry->event, 35*79257534SDaniel Bristot de Oliveira __entry->next_state, 36*79257534SDaniel Bristot de Oliveira __entry->final_state ? "(final)" : "") 37*79257534SDaniel Bristot de Oliveira ); 38*79257534SDaniel Bristot de Oliveira 39*79257534SDaniel Bristot de Oliveira DECLARE_EVENT_CLASS(error_da_monitor, 40*79257534SDaniel Bristot de Oliveira 41*79257534SDaniel Bristot de Oliveira TP_PROTO(char *state, char *event), 42*79257534SDaniel Bristot de Oliveira 43*79257534SDaniel Bristot de Oliveira TP_ARGS(state, event), 44*79257534SDaniel Bristot de Oliveira 45*79257534SDaniel Bristot de Oliveira TP_STRUCT__entry( 46*79257534SDaniel Bristot de Oliveira __array( char, state, MAX_DA_NAME_LEN ) 47*79257534SDaniel Bristot de Oliveira __array( char, event, MAX_DA_NAME_LEN ) 48*79257534SDaniel Bristot de Oliveira ), 49*79257534SDaniel Bristot de Oliveira 50*79257534SDaniel Bristot de Oliveira TP_fast_assign( 51*79257534SDaniel Bristot de Oliveira memcpy(__entry->state, state, MAX_DA_NAME_LEN); 52*79257534SDaniel Bristot de Oliveira memcpy(__entry->event, event, MAX_DA_NAME_LEN); 53*79257534SDaniel Bristot de Oliveira ), 54*79257534SDaniel Bristot de Oliveira 55*79257534SDaniel Bristot de Oliveira TP_printk("event %s not expected in the state %s", 56*79257534SDaniel Bristot de Oliveira __entry->event, 57*79257534SDaniel Bristot de Oliveira __entry->state) 58*79257534SDaniel Bristot de Oliveira ); 59*79257534SDaniel Bristot de Oliveira #endif /* CONFIG_DA_MON_EVENTS_IMPLICIT */ 60*79257534SDaniel Bristot de Oliveira 61*79257534SDaniel Bristot de Oliveira #ifdef CONFIG_DA_MON_EVENTS_ID 62*79257534SDaniel Bristot de Oliveira DECLARE_EVENT_CLASS(event_da_monitor_id, 63*79257534SDaniel Bristot de Oliveira 64*79257534SDaniel Bristot de Oliveira TP_PROTO(int id, char *state, char *event, char *next_state, bool final_state), 65*79257534SDaniel Bristot de Oliveira 66*79257534SDaniel Bristot de Oliveira TP_ARGS(id, state, event, next_state, final_state), 67*79257534SDaniel Bristot de Oliveira 68*79257534SDaniel Bristot de Oliveira TP_STRUCT__entry( 69*79257534SDaniel Bristot de Oliveira __field( int, id ) 70*79257534SDaniel Bristot de Oliveira __array( char, state, MAX_DA_NAME_LEN ) 71*79257534SDaniel Bristot de Oliveira __array( char, event, MAX_DA_NAME_LEN ) 72*79257534SDaniel Bristot de Oliveira __array( char, next_state, MAX_DA_NAME_LEN ) 73*79257534SDaniel Bristot de Oliveira __field( bool, final_state ) 74*79257534SDaniel Bristot de Oliveira ), 75*79257534SDaniel Bristot de Oliveira 76*79257534SDaniel Bristot de Oliveira TP_fast_assign( 77*79257534SDaniel Bristot de Oliveira memcpy(__entry->state, state, MAX_DA_NAME_LEN); 78*79257534SDaniel Bristot de Oliveira memcpy(__entry->event, event, MAX_DA_NAME_LEN); 79*79257534SDaniel Bristot de Oliveira memcpy(__entry->next_state, next_state, MAX_DA_NAME_LEN); 80*79257534SDaniel Bristot de Oliveira __entry->id = id; 81*79257534SDaniel Bristot de Oliveira __entry->final_state = final_state; 82*79257534SDaniel Bristot de Oliveira ), 83*79257534SDaniel Bristot de Oliveira 84*79257534SDaniel Bristot de Oliveira TP_printk("%d: %s x %s -> %s %s", 85*79257534SDaniel Bristot de Oliveira __entry->id, 86*79257534SDaniel Bristot de Oliveira __entry->state, 87*79257534SDaniel Bristot de Oliveira __entry->event, 88*79257534SDaniel Bristot de Oliveira __entry->next_state, 89*79257534SDaniel Bristot de Oliveira __entry->final_state ? "(final)" : "") 90*79257534SDaniel Bristot de Oliveira ); 91*79257534SDaniel Bristot de Oliveira 92*79257534SDaniel Bristot de Oliveira DECLARE_EVENT_CLASS(error_da_monitor_id, 93*79257534SDaniel Bristot de Oliveira 94*79257534SDaniel Bristot de Oliveira TP_PROTO(int id, char *state, char *event), 95*79257534SDaniel Bristot de Oliveira 96*79257534SDaniel Bristot de Oliveira TP_ARGS(id, state, event), 97*79257534SDaniel Bristot de Oliveira 98*79257534SDaniel Bristot de Oliveira TP_STRUCT__entry( 99*79257534SDaniel Bristot de Oliveira __field( int, id ) 100*79257534SDaniel Bristot de Oliveira __array( char, state, MAX_DA_NAME_LEN ) 101*79257534SDaniel Bristot de Oliveira __array( char, event, MAX_DA_NAME_LEN ) 102*79257534SDaniel Bristot de Oliveira ), 103*79257534SDaniel Bristot de Oliveira 104*79257534SDaniel Bristot de Oliveira TP_fast_assign( 105*79257534SDaniel Bristot de Oliveira memcpy(__entry->state, state, MAX_DA_NAME_LEN); 106*79257534SDaniel Bristot de Oliveira memcpy(__entry->event, event, MAX_DA_NAME_LEN); 107*79257534SDaniel Bristot de Oliveira __entry->id = id; 108*79257534SDaniel Bristot de Oliveira ), 109*79257534SDaniel Bristot de Oliveira 110*79257534SDaniel Bristot de Oliveira TP_printk("%d: event %s not expected in the state %s", 111*79257534SDaniel Bristot de Oliveira __entry->id, 112*79257534SDaniel Bristot de Oliveira __entry->event, 113*79257534SDaniel Bristot de Oliveira __entry->state) 114*79257534SDaniel Bristot de Oliveira ); 115*79257534SDaniel Bristot de Oliveira #endif /* CONFIG_DA_MON_EVENTS_ID */ 116*79257534SDaniel Bristot de Oliveira #endif /* _TRACE_RV_H */ 117*79257534SDaniel Bristot de Oliveira 118*79257534SDaniel Bristot de Oliveira /* This part ust be outside protection */ 119*79257534SDaniel Bristot de Oliveira #undef TRACE_INCLUDE_PATH 120*79257534SDaniel Bristot de Oliveira #include <trace/define_trace.h> 121