Skip to content

Commit 7186ee6

Browse files
yank555-lugugu0das
authored andcommitted
cpufreq : Add intelliminmax Governor
intelliminmax (intellimm) governor is designed to work with the newer SOCs with fixed voltage rails (ie MSM8974+ SOCs). It is designed to work within those fixed voltage ranges in order to maximize battery performance while creating a smooth UI operations. Copyright 2014 Paul Reioux <aka faux123> Signed-off-by: Paul Reioux <reioux@gmail.com> WIP: Intellimm: remove unused code and change tblmap algorithm tblmap: add power-save frequencies for the first 5 entries Signed-off-by: Paul Reioux <reioux@gmail.com> WIP: intellimm: more tweaks and table clean up Signed-off-by: Paul Reioux <reioux@gmail.com> WIP: intellimm: more tweaks Signed-off-by: Paul Reioux <reioux@gmail.com> WIP: intellimm: clean up derpy logic Signed-off-by: Paul Reioux <reioux@gmail.com> WIP: intellimm: final clean up and algorithm tweaks Signed-off-by: Paul Reioux <reioux@gmail.com> WIP: intellimm: finalizing part 2 Signed-off-by: Paul Reioux <reioux@gmail.com> WIP: intellimm: finalizing part 3 add back burst for smoother UI Signed-off-by: Paul Reioux <reioux@gmail.com> intellimm: fix div by zero derp Signed-off-by: Paul Reioux <reioux@gmail.com>
1 parent c5aa955 commit 7186ee6

File tree

6 files changed

+1697
-0
lines changed

6 files changed

+1697
-0
lines changed

arch/arm/configs/cm_msm8974_sec_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ CONFIG_CPU_FREQ_GOV_INTELLIDEMAND=y
138138
CONFIG_CPU_FREQ_GOV_INTELLIACTIVE=y
139139
CONFIG_CPU_FREQ_GOV_ARTERACTIVE=y
140140
CONFIG_CPU_FREQ_GOV_ONDEMANDPLUS=y
141+
CONFIG_CPU_FREQ_GOV_INTELLIMM=y
141142
CONFIG_CPU_BOOST=y
142143

143144
#Enable CPUFREQ LIMIT.

arch/arm/configs/msm8974_sec_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ CONFIG_CPU_FREQ_GOV_INTELLIDEMAND=y
138138
CONFIG_CPU_FREQ_GOV_INTELLIACTIVE=y
139139
CONFIG_CPU_FREQ_GOV_ARTERACTIVE=y
140140
CONFIG_CPU_FREQ_GOV_ONDEMANDPLUS=y
141+
CONFIG_CPU_FREQ_GOV_INTELLIMM=y
141142
CONFIG_CPU_BOOST=y
142143

143144
#Enable CPUFREQ LIMIT.

drivers/cpufreq/Kconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,13 @@ config CPU_FREQ_DEFAULT_GOV_ONDEMANDPLUS
153153
governor. If unsure have a look at the help section of the
154154
driver. Fallback governor will be the performance governor.
155155

156+
config CPU_FREQ_DEFAULT_GOV_INTELLIMM
157+
bool "intelliminmax"
158+
select CPU_FREQ_GOV_INTELLIMM
159+
help
160+
Use the CPUFreq governor 'intelliminmax' as default. This is
161+
governor will use only 3 different frequencies, idle, UI and max
162+
156163
endchoice
157164

158165
config CPU_FREQ_GOV_PERFORMANCE
@@ -298,6 +305,16 @@ config CPU_FREQ_GOV_ONDEMANDPLUS
298305

299306
If in doubt, say N.
300307

308+
config CPU_FREQ_GOV_INTELLIMM
309+
tristate "'intelliminmax' cpufreq policy governor"
310+
help
311+
To compile this driver as a module, choose M here: the
312+
module will be called cpufreq_interactive.
313+
314+
For details, take a look at linux/Documentation/cpu-freq.
315+
316+
If in doubt, say N.
317+
301318
menu "x86 CPU frequency scaling drivers"
302319
depends on X86
303320
source "drivers/cpufreq/Kconfig.x86"

drivers/cpufreq/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ obj-$(CONFIG_CPU_FREQ_GOV_INTELLIDEMAND) += cpufreq_intellidemand.o
1717
obj-$(CONFIG_CPU_FREQ_GOV_INTELLIACTIVE)+= cpufreq_intelliactive.o
1818
obj-$(CONFIG_CPU_FREQ_GOV_ARTERACTIVE)+= cpufreq_arteractive.o
1919
obj-$(CONFIG_CPU_FREQ_GOV_ONDEMANDPLUS)+= cpufreq_ondemandplus.o
20+
obj-$(CONFIG_CPU_FREQ_GOV_INTELLIMM)+= cpufreq_intellimm.o
2021

2122
# CPUfreq cross-arch helpers
2223
obj-$(CONFIG_CPU_FREQ_TABLE)+= freq_table.o

0 commit comments

Comments
 (0)