diff options
author | Jinyoung Park <jinyoungp@nvidia.com> | 2013-09-02 14:50:30 +0900 |
---|---|---|
committer | Gabby Lee <galee@nvidia.com> | 2013-09-02 06:37:55 -0700 |
commit | 57de2dbf25c025834fa7fbcd1d440b9e05179ce1 (patch) | |
tree | 875275c49857957e5fd10c53f9a04604cdb59cb6 /drivers | |
parent | 7f53b0accdf31b0e58b883e6bab1a4e71fa429be (diff) |
cpufreq: Set same governor as a first CPU when CPU online
Set governor for a newly online CPU with same governor as a first CPU.
Bug 1354391
Change-Id: I104ff8f61e89667f482f262d4cc3cb5ea1a1875a
Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
Reviewed-on: http://git-master/r/268954
Reviewed-by: Gabby Lee <galee@nvidia.com>
Tested-by: Gabby Lee <galee@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/cpufreq/cpufreq.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index aa4bbb93fe18..4ac58b57830e 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -772,7 +772,14 @@ static int cpufreq_add_dev_policy(unsigned int cpu, gov = __find_governor(per_cpu(cpufreq_cpu_governor, cpu)); if (gov) { - policy->governor = gov; + struct cpufreq_policy *first_cp = per_cpu(cpufreq_cpu_data, + cpumask_first(cpu_online_mask)); + /* Set same governor as a first CPU. */ + if (first_cp && first_cp->governor && + strcmp(first_cp->governor->name, gov->name)) + policy->governor = first_cp->governor; + else + policy->governor = gov; pr_debug("Restoring governor %s for cpu %d\n", policy->governor->name, cpu); } |