From 2d45001d598b26a50c8da39814b61f56c42ef608 Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Fri, 5 Mar 2021 04:31:50 +0530 Subject: [PATCH] ANDROID: cpufreq: Add a restricted vendor hook for freq transition A restricted vendor hook for cpufreq transition. The hook is invoked per policy after changing the policy->cur and passes policy as an argument. Bug: 181889516 Change-Id: I6f89850779fdd63e178e227c293f42b7f66fd78d Signed-off-by: Pavankumar Kondeti --- drivers/android/vendor_hooks.c | 1 + drivers/cpufreq/cpufreq.c | 2 ++ include/trace/hooks/cpufreq.h | 3 +++ 3 files changed, 6 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 619aa17a3873..66af98d4eb54 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -171,3 +171,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_check_int_errors); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_wake_up_sync); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_wake_flags); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_uclamp_eff_value); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpufreq_transition); diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 65e0d286d5f3..4324e1e3d854 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -391,6 +391,7 @@ static void cpufreq_notify_transition(struct cpufreq_policy *policy, cpufreq_stats_record_transition(policy, freqs->new); cpufreq_times_record_transition(policy, freqs->new); policy->cur = freqs->new; + trace_android_rvh_cpufreq_transition(policy); } } @@ -2095,6 +2096,7 @@ unsigned int cpufreq_driver_fast_switch(struct cpufreq_policy *policy, arch_set_freq_scale(policy->related_cpus, freq, policy->cpuinfo.max_freq); cpufreq_stats_record_transition(policy, freq); + trace_android_rvh_cpufreq_transition(policy); if (trace_cpu_frequency_enabled()) { for_each_cpu(cpu, policy->cpus) diff --git a/include/trace/hooks/cpufreq.h b/include/trace/hooks/cpufreq.h index e8fe16b7eebd..1eec4340f665 100644 --- a/include/trace/hooks/cpufreq.h +++ b/include/trace/hooks/cpufreq.h @@ -20,6 +20,9 @@ DECLARE_HOOK(android_vh_freq_table_limits, unsigned int max_freq), TP_ARGS(policy, min_freq, max_freq)); +DECLARE_RESTRICTED_HOOK(android_rvh_cpufreq_transition, + TP_PROTO(struct cpufreq_policy *policy), + TP_ARGS(policy), 1); /* macro versions of hooks are no longer required */ #endif /* _TRACE_HOOK_CPUFREQ_H */