2018-02-22 09:57:55

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH] cpufreq: tegra186: Break after initialization is done for policy->cpu

There are two clusters (2 + 4 CPUs) on this platform and a separate
cpufreq policy is available for each of the CPUs. The loop in
tegra186_cpufreq_init() tries to find the structure for the right CPU
and finish initialization. But it is missing a `break` statement at the
end, which forces it to restart the loop even when the CPU already
matched and initialization is done.

Fix that by adding the missing `break` statement.

Signed-off-by: Viresh Kumar <[email protected]>
---
drivers/cpufreq/tegra186-cpufreq.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/cpufreq/tegra186-cpufreq.c b/drivers/cpufreq/tegra186-cpufreq.c
index fe7875311d62..771df649ceb9 100644
--- a/drivers/cpufreq/tegra186-cpufreq.c
+++ b/drivers/cpufreq/tegra186-cpufreq.c
@@ -79,6 +79,7 @@ static int tegra186_cpufreq_init(struct cpufreq_policy *policy)
policy->driver_data =
data->regs + info->offset + EDVD_CORE_VOLT_FREQ(core);
cpufreq_table_validate_and_show(policy, cluster->table);
+ break;
}

policy->cpuinfo.transition_latency = 300 * 1000;
--
2.15.0.194.g9af6a3dea062



2018-02-22 15:01:03

by Mikko Perttunen

[permalink] [raw]
Subject: Re: [PATCH] cpufreq: tegra186: Break after initialization is done for policy->cpu

On 02/22/2018 11:54 AM, Viresh Kumar wrote:
> There are two clusters (2 + 4 CPUs) on this platform and a separate
> cpufreq policy is available for each of the CPUs. The loop in
> tegra186_cpufreq_init() tries to find the structure for the right CPU
> and finish initialization. But it is missing a `break` statement at the
> end, which forces it to restart the loop even when the CPU already
> matched and initialization is done.
>
> Fix that by adding the missing `break` statement.
>
> Signed-off-by: Viresh Kumar <[email protected]>
> ---
> drivers/cpufreq/tegra186-cpufreq.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cpufreq/tegra186-cpufreq.c b/drivers/cpufreq/tegra186-cpufreq.c
> index fe7875311d62..771df649ceb9 100644
> --- a/drivers/cpufreq/tegra186-cpufreq.c
> +++ b/drivers/cpufreq/tegra186-cpufreq.c
> @@ -79,6 +79,7 @@ static int tegra186_cpufreq_init(struct cpufreq_policy *policy)
> policy->driver_data =
> data->regs + info->offset + EDVD_CORE_VOLT_FREQ(core);
> cpufreq_table_validate_and_show(policy, cluster->table);
> + break;
> }
>
> policy->cpuinfo.transition_latency = 300 * 1000;
>

Reviewed-by: Mikko Perttunen <[email protected]>