Skip to content

Commit 47c3b08

Browse files
author
DevSwift
committed
Merge pull request #3 from Gava97/master
cpufreq: add some governors
2 parents ec8e7a0 + 7cb3132 commit 47c3b08

File tree

12 files changed

+9904
-4
lines changed

12 files changed

+9904
-4
lines changed

arch/arm/configs/xperiago_defconfig

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
# Automatically generated make config: don't edit
3-
# Linux/arm 3.0.8 Kernel Configuration
3+
# Linux/arm 3.0.101 Kernel Configuration
44
#
55
CONFIG_ARM=y
66
CONFIG_HAVE_PWM=y
@@ -512,6 +512,9 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_LIONHEART=y
512512
# CONFIG_CPU_FREQ_DEFAULT_GOV_SAKURACTIVE is not set
513513
# CONFIG_CPU_FREQ_DEFAULT_GOV_WHEATLEY is not set
514514
# CONFIG_CPU_FREQ_DEFAULT_GOV_ABYSSPLUG is not set
515+
# CONFIG_CPU_FREQ_DEFAULT_GOV_PEGASUSQPLUS is not set
516+
# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVEPLUS is not set
517+
# CONFIG_CPU_FREQ_DEFAULT_GOV_ZZMOOVE is not set
515518
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
516519
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
517520
CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -531,6 +534,10 @@ CONFIG_CPU_FREQ_GOV_NIGHTMARE=y
531534
CONFIG_CPU_FREQ_GOV_SAKURACTIVE=y
532535
CONFIG_CPU_FREQ_GOV_WHEATLEY=y
533536
CONFIG_CPU_FREQ_GOV_ABYSSPLUG=y
537+
CONFIG_CPU_FREQ_GOV_PEGASUSQPLUS=y
538+
CONFIG_CPU_FREQ_GOV_INTERACTIVEPLUS=y
539+
CONFIG_CPU_FREQ_GOV_FANTASY=y
540+
CONFIG_CPU_FREQ_GOV_ZZMOOVE=y
534541
CONFIG_CPU_IDLE=y
535542
CONFIG_CPU_IDLE_GOV_LADDER=y
536543
CONFIG_CPU_IDLE_GOV_MENU=y

arch/arm/configs/xperiap_defconfig

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
# Automatically generated make config: don't edit
3-
# Linux/arm 3.0.8 Kernel Configuration
3+
# Linux/arm 3.0.101 Kernel Configuration
44
#
55
CONFIG_ARM=y
66
CONFIG_HAVE_PWM=y
@@ -512,6 +512,9 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_LIONHEART=y
512512
# CONFIG_CPU_FREQ_DEFAULT_GOV_SAKURACTIVE is not set
513513
# CONFIG_CPU_FREQ_DEFAULT_GOV_WHEATLEY is not set
514514
# CONFIG_CPU_FREQ_DEFAULT_GOV_ABYSSPLUG is not set
515+
# CONFIG_CPU_FREQ_DEFAULT_GOV_PEGASUSQPLUS is not set
516+
# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVEPLUS is not set
517+
# CONFIG_CPU_FREQ_DEFAULT_GOV_ZZMOOVE is not set
515518
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
516519
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
517520
CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -531,6 +534,10 @@ CONFIG_CPU_FREQ_GOV_NIGHTMARE=y
531534
CONFIG_CPU_FREQ_GOV_SAKURACTIVE=y
532535
CONFIG_CPU_FREQ_GOV_WHEATLEY=y
533536
CONFIG_CPU_FREQ_GOV_ABYSSPLUG=y
537+
CONFIG_CPU_FREQ_GOV_PEGASUSQPLUS=y
538+
CONFIG_CPU_FREQ_GOV_INTERACTIVEPLUS=y
539+
CONFIG_CPU_FREQ_GOV_FANTASY=y
540+
CONFIG_CPU_FREQ_GOV_ZZMOOVE=y
534541
CONFIG_CPU_IDLE=y
535542
CONFIG_CPU_IDLE_GOV_LADDER=y
536543
CONFIG_CPU_IDLE_GOV_MENU=y

arch/arm/configs/xperiasola_defconfig

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
# Automatically generated make config: don't edit
3-
# Linux/arm 3.0.8 Kernel Configuration
3+
# Linux/arm 3.0.101 Kernel Configuration
44
#
55
CONFIG_ARM=y
66
CONFIG_HAVE_PWM=y
@@ -512,6 +512,9 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_LIONHEART=y
512512
# CONFIG_CPU_FREQ_DEFAULT_GOV_SAKURACTIVE is not set
513513
# CONFIG_CPU_FREQ_DEFAULT_GOV_WHEATLEY is not set
514514
# CONFIG_CPU_FREQ_DEFAULT_GOV_ABYSSPLUG is not set
515+
# CONFIG_CPU_FREQ_DEFAULT_GOV_PEGASUSQPLUS is not set
516+
# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVEPLUS is not set
517+
# CONFIG_CPU_FREQ_DEFAULT_GOV_ZZMOOVE is not set
515518
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
516519
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
517520
CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -531,6 +534,10 @@ CONFIG_CPU_FREQ_GOV_NIGHTMARE=y
531534
CONFIG_CPU_FREQ_GOV_SAKURACTIVE=y
532535
CONFIG_CPU_FREQ_GOV_WHEATLEY=y
533536
CONFIG_CPU_FREQ_GOV_ABYSSPLUG=y
537+
CONFIG_CPU_FREQ_GOV_PEGASUSQPLUS=y
538+
CONFIG_CPU_FREQ_GOV_INTERACTIVEPLUS=y
539+
CONFIG_CPU_FREQ_GOV_FANTASY=y
540+
CONFIG_CPU_FREQ_GOV_ZZMOOVE=y
534541
CONFIG_CPU_IDLE=y
535542
CONFIG_CPU_IDLE_GOV_LADDER=y
536543
CONFIG_CPU_IDLE_GOV_MENU=y

arch/arm/configs/xperiau_defconfig

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
# Automatically generated make config: don't edit
3-
# Linux/arm 3.0.8 Kernel Configuration
3+
# Linux/arm 3.0.101 Kernel Configuration
44
#
55
CONFIG_ARM=y
66
CONFIG_HAVE_PWM=y
@@ -512,6 +512,9 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_LIONHEART=y
512512
# CONFIG_CPU_FREQ_DEFAULT_GOV_SAKURACTIVE is not set
513513
# CONFIG_CPU_FREQ_DEFAULT_GOV_WHEATLEY is not set
514514
# CONFIG_CPU_FREQ_DEFAULT_GOV_ABYSSPLUG is not set
515+
# CONFIG_CPU_FREQ_DEFAULT_GOV_PEGASUSQPLUS is not set
516+
# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVEPLUS is not set
517+
# CONFIG_CPU_FREQ_DEFAULT_GOV_ZZMOOVE is not set
515518
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
516519
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
517520
CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -531,6 +534,10 @@ CONFIG_CPU_FREQ_GOV_NIGHTMARE=y
531534
CONFIG_CPU_FREQ_GOV_SAKURACTIVE=y
532535
CONFIG_CPU_FREQ_GOV_WHEATLEY=y
533536
CONFIG_CPU_FREQ_GOV_ABYSSPLUG=y
537+
CONFIG_CPU_FREQ_GOV_PEGASUSQPLUS=y
538+
CONFIG_CPU_FREQ_GOV_INTERACTIVEPLUS=y
539+
CONFIG_CPU_FREQ_GOV_FANTASY=y
540+
CONFIG_CPU_FREQ_GOV_ZZMOOVE=y
534541
CONFIG_CPU_IDLE=y
535542
CONFIG_CPU_IDLE_GOV_LADDER=y
536543
CONFIG_CPU_IDLE_GOV_MENU=y

drivers/cpufreq/Kconfig

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,30 @@ config CPU_FREQ_DEFAULT_GOV_ABYSSPLUG
179179
help
180180
Use the CPUFreq governor 'abyssplug' as default.
181181

182+
config CPU_FREQ_DEFAULT_GOV_PEGASUSQPLUS
183+
bool "pegasusq plus"
184+
select CPU_FREQ_GOV_PEGASUSQPLUS
185+
186+
config CPU_FREQ_DEFAULT_GOV_INTERACTIVEPLUS
187+
bool "interactiveplus"
188+
select CPU_FREQ_GOV_INTERACTIVEPLUS
189+
help
190+
Use the CPUFreq governor 'interactiveplus' as default. This allows
191+
you to get a full dynamic cpu frequency capable system by simply
192+
loading your cpufreq low-level hardware driver, using the
193+
'interactiveplus' governor for latency-sensitive workloads.
194+
195+
The 'interactiveplus' governor also hotplugs on suspend.
196+
197+
config CPU_FREQ_DEFAULT_GOV_ZZMOOVE
198+
bool "zzmoove"
199+
select CPU_FREQ_GOV_ZZMOOVE
200+
select CPU_FREQ_GOV_PERFORMANCE
201+
help
202+
Use the CPUFreq governor 'zzmoove' as default, using predefined
203+
frequency lookup tables and optimized scaling triggers instead of
204+
% frequency steps to get smooth up/downscaling dependant on CPU load.
205+
182206
endchoice
183207

184208
config CPU_FREQ_GOV_ABYSSPLUG
@@ -411,6 +435,56 @@ config CPU_FREQ_GOV_PEGASUSQ
411435

412436
If in doubt, say N.
413437

438+
config CPU_FREQ_GOV_PEGASUSQPLUS
439+
tristate "'pegasusq plus' cpufreq policy governor"
440+
441+
config CPU_FREQ_GOV_FANTASY
442+
tristate "'fantasy' cpufreq policy governor"
443+
select CPU_FREQ_TABLE
444+
help
445+
'fantasy' - This driver adds a dynamic cpufreq policy governor.
446+
The governor does a periodic polling and
447+
changes frequency based on the CPU utilization.
448+
The support for this governor depends on CPU capability to
449+
do fast frequency switching (i.e, very low latency frequency
450+
transitions).
451+
452+
To compile this driver as a module, choose M here: the
453+
module will be called cpufreq_fantasy.
454+
455+
For details, take a look at linux/Documentation/cpu-freq.
456+
457+
If in doubt, say N.
458+
459+
config CPU_FREQ_GOV_INTERACTIVEPLUS
460+
tristate "'interactiveplus' cpufreq policy governor"
461+
help
462+
'interactiveplus' - This driver adds a dynamic cpufreq policy governor
463+
designed for latency-sensitive workloads.
464+
465+
This governor attempts to reduce the latency of clock
466+
increases so that the system is more responsive to
467+
interactive workloads.
468+
469+
The 'interactiveplus' governor also hotplugs CPU1 on suspend.
470+
471+
To compile this driver as a module, choose M here: the
472+
module will be called cpufreq_interactiveplus.
473+
474+
For details, take a look at linux/Documentation/cpu-freq.
475+
476+
If in doubt, say N.
477+
478+
config CPU_FREQ_GOV_ZZMOOVE
479+
tristate "'zzmoove' cpufreq governor"
480+
depends on CPU_FREQ
481+
help
482+
'zzmoove' - based on cpufreq_conservative, using predefined
483+
frequency lookup tables and optimized scaling triggers instead of
484+
% frequency steps to get smooth up/downscaling dependant on CPU load.
485+
486+
If in doubt, say N.
487+
414488
menu "x86 CPU frequency scaling drivers"
415489
depends on X86
416490
source "drivers/cpufreq/Kconfig.x86"

drivers/cpufreq/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ obj-$(CONFIG_CPU_FREQ_GOV_NIGHTMARE) += cpufreq_nightmare.o
2323
obj-$(CONFIG_CPU_FREQ_GOV_LIONHEART) += cpufreq_lionheart.o
2424
obj-$(CONFIG_CPU_FREQ_GOV_INTELLIDEMAND) += cpufreq_intellidemand.o
2525
obj-$(CONFIG_CPU_FREQ_GOV_DYNAMIC_INTERACTIVE) += cpufreq_dynamic_interactive.o
26+
obj-$(CONFIG_CPU_FREQ_GOV_PEGASUSQPLUS) += cpufreq_pegasusqplus.o
27+
obj-$(CONFIG_CPU_FREQ_GOV_FANTASY) += cpufreq_fantasy.o
28+
obj-$(CONFIG_CPU_FREQ_GOV_ZZMOOVE) += cpufreq_zzmoove.o
29+
obj-$(CONFIG_CPU_FREQ_GOV_INTERACTIVEPLUS) += cpufreq_interactiveplus.o
2630

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

0 commit comments

Comments
 (0)