2021-12-24 04:05:03 +03:00
/* SPDX-License-Identifier: GPL-2.0 */
/*
* amd - pstate - trace . h - AMD Processor P - state Frequency Driver Tracer
*
* Copyright ( C ) 2021 Advanced Micro Devices , Inc . All Rights Reserved .
*
* Author : Huang Rui < ray . huang @ amd . com >
*/
# if !defined(_AMD_PSTATE_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
# define _AMD_PSTATE_TRACE_H
# include <linux/cpufreq.h>
# include <linux/tracepoint.h>
# include <linux/trace_events.h>
# undef TRACE_SYSTEM
# define TRACE_SYSTEM amd_cpu
# undef TRACE_INCLUDE_FILE
# define TRACE_INCLUDE_FILE amd-pstate-trace
# define TPS(x) tracepoint_string(x)
TRACE_EVENT ( amd_pstate_perf ,
TP_PROTO ( unsigned long min_perf ,
unsigned long target_perf ,
unsigned long capacity ,
2022-03-09 04:23:48 +03:00
u64 freq ,
u64 mperf ,
u64 aperf ,
u64 tsc ,
2021-12-24 04:05:03 +03:00
unsigned int cpu_id ,
bool changed ,
bool fast_switch
) ,
TP_ARGS ( min_perf ,
target_perf ,
capacity ,
2022-03-09 04:23:48 +03:00
freq ,
mperf ,
aperf ,
tsc ,
2021-12-24 04:05:03 +03:00
cpu_id ,
changed ,
fast_switch
) ,
TP_STRUCT__entry (
__field ( unsigned long , min_perf )
__field ( unsigned long , target_perf )
__field ( unsigned long , capacity )
2022-03-09 04:23:48 +03:00
__field ( unsigned long long , freq )
__field ( unsigned long long , mperf )
__field ( unsigned long long , aperf )
__field ( unsigned long long , tsc )
2021-12-24 04:05:03 +03:00
__field ( unsigned int , cpu_id )
__field ( bool , changed )
__field ( bool , fast_switch )
) ,
TP_fast_assign (
__entry - > min_perf = min_perf ;
__entry - > target_perf = target_perf ;
__entry - > capacity = capacity ;
2022-03-09 04:23:48 +03:00
__entry - > freq = freq ;
__entry - > mperf = mperf ;
__entry - > aperf = aperf ;
__entry - > tsc = tsc ;
2021-12-24 04:05:03 +03:00
__entry - > cpu_id = cpu_id ;
__entry - > changed = changed ;
__entry - > fast_switch = fast_switch ;
) ,
2022-03-09 04:23:48 +03:00
TP_printk ( " amd_min_perf=%lu amd_des_perf=%lu amd_max_perf=%lu freq=%llu mperf=%llu aperf=%llu tsc=%llu cpu_id=%u changed=%s fast_switch=%s " ,
2021-12-24 04:05:03 +03:00
( unsigned long ) __entry - > min_perf ,
( unsigned long ) __entry - > target_perf ,
( unsigned long ) __entry - > capacity ,
2022-03-09 04:23:48 +03:00
( unsigned long long ) __entry - > freq ,
( unsigned long long ) __entry - > mperf ,
( unsigned long long ) __entry - > aperf ,
( unsigned long long ) __entry - > tsc ,
2021-12-24 04:05:03 +03:00
( unsigned int ) __entry - > cpu_id ,
( __entry - > changed ) ? " true " : " false " ,
( __entry - > fast_switch ) ? " true " : " false "
)
) ;
# endif /* _AMD_PSTATE_TRACE_H */
/* This part must be outside protection */
# undef TRACE_INCLUDE_PATH
# define TRACE_INCLUDE_PATH .
# include <trace/define_trace.h>