Re: [PATCH v3 03/10] cpufreq: arm_big_little: invoke frequency-invariance setter function
From: Viresh Kumar
Date: Fri Jul 28 2017 - 04:25:19 EST
On 27-07-17, 20:33, Dietmar Eggemann wrote:
> Call the frequency-invariance setter function arch_set_freq_scale()
> if the new frequency has been successfully set which is indicated by
> bL_cpufreq_set_rate() returning 0.
>
> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx>
> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> Cc: Sudeep Holla <sudeep.holla@xxxxxxx>
> Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
> ---
> drivers/cpufreq/arm_big_little.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cpufreq/arm_big_little.c b/drivers/cpufreq/arm_big_little.c
> index ea6d62547b10..8880f8d9d09d 100644
> --- a/drivers/cpufreq/arm_big_little.c
> +++ b/drivers/cpufreq/arm_big_little.c
> @@ -213,6 +213,7 @@ static int bL_cpufreq_set_target(struct cpufreq_policy *policy,
> {
> u32 cpu = policy->cpu, cur_cluster, new_cluster, actual_cluster;
> unsigned int freqs_new;
> + int ret;
>
> cur_cluster = cpu_to_cluster(cpu);
> new_cluster = actual_cluster = per_cpu(physical_cluster, cpu);
> @@ -229,7 +230,14 @@ static int bL_cpufreq_set_target(struct cpufreq_policy *policy,
> }
> }
>
> - return bL_cpufreq_set_rate(cpu, actual_cluster, new_cluster, freqs_new);
> + ret = bL_cpufreq_set_rate(cpu, actual_cluster, new_cluster, freqs_new);
> +
> + if (!ret) {
> + arch_set_freq_scale(policy->related_cpus, freqs_new,
> + policy->cpuinfo.max_freq);
> + }
> +
> + return ret;
> }
>
> static inline u32 get_table_count(struct cpufreq_frequency_table *table)
Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
--
viresh