summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Majewski <l.majewski@samsung.com>2014-04-02 12:31:57 +0200
committerSylwester Nawrocki <s.nawrocki@samsung.com>2014-04-03 06:36:15 -0700
commit4ea8f83d3139c7ccba21a5ac908b6f37f367f876 (patch)
tree5d78dd24425125b56e2109dbb1c3026e49abc469
parent3d81c12c6e9fe3cd92ce911f4e64386e9cbbe751 (diff)
downloadlinux-3.10-4ea8f83d3139c7ccba21a5ac908b6f37f367f876.tar.gz
linux-3.10-4ea8f83d3139c7ccba21a5ac908b6f37f367f876.tar.bz2
linux-3.10-4ea8f83d3139c7ccba21a5ac908b6f37f367f876.zip
cpufreq:LAB: Change method of boost state preserving
It is not necessary to change the boost state when LAB governor is entered, since LAB will change it according to its own politics. Only enter state is preserved. When leaving the LAB, only when required, work is scheduled to restore boost initial state. Change-Id: I6323f3c0011fe54a33d70c9ad0f9da5360b4a735 Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
-rw-r--r--drivers/cpufreq/cpufreq_lab.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/cpufreq/cpufreq_lab.c b/drivers/cpufreq/cpufreq_lab.c
index 1738a7afadb..17f970175a1 100644
--- a/drivers/cpufreq/cpufreq_lab.c
+++ b/drivers/cpufreq/cpufreq_lab.c
@@ -388,8 +388,6 @@ static int lb_init(struct dbs_data *dbs_data)
goto err_idle_hist;
boost_init_state = cpufreq_boost_enabled();
- if (boost_init_state)
- cpufreq_boost_trigger_state(false);
od_init(dbs_data);
@@ -412,10 +410,13 @@ void lb_exit(struct dbs_data *dbs_data)
kfree(lb_ctrl_table);
lb_ctrl_table = NULL;
- cpufreq_boost_trigger_state(boost_init_state);
-
kfree(idle_avg);
kfree(idle_hist);
+
+ if (cpufreq_boost_enabled() != boost_init_state) {
+ lb_boost_data.state = boost_init_state;
+ schedule_work(&lb_boost_data.work);
+ }
}
define_get_cpu_dbs_routines(od_cpu_dbs_info);