cpufreq: Add BLU_ACTIVE governor

Signed-off-by: djb77 <dwayne.bakewell@gmail.com>
Signed-off-by: prashantpaddune <elonpras@my.smccd.edu>
This commit is contained in:
engstk 2014-12-15 13:40:54 +00:00 committed by prashantpaddune
parent 12c22648f0
commit 7233c6d23a
5 changed files with 1419 additions and 0 deletions

View File

@ -619,6 +619,7 @@ CONFIG_CPU_FREQ_TIMES=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
# CONFIG_CPU_FREQ_BLU_ACTIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y
@ -628,6 +629,7 @@ CONFIG_CPU_INDEX_QOS_CLUSTER0=0
CONFIG_CPU_INDEX_QOS_CLUSTER1=6 CONFIG_CPU_INDEX_QOS_CLUSTER1=6
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set # CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_BLU_ACTIVE=y
# #
# CPU frequency scaling drivers # CPU frequency scaling drivers

View File

@ -138,6 +138,15 @@ config CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
have a look at the help section of that governor. The fallback have a look at the help section of that governor. The fallback
governor will be 'performance'. governor will be 'performance'.
config CPU_FREQ_DEFAULT_GOV_BLU_ACTIVE
bool "blu_active"
select CPU_FREQ_GOV_BLU_ACTIVE
help
Use the CPUFreq governor 'blu_active' as default. This allows
you to get a full dynamic cpu frequency capable system by simply
loading your cpufreq low-level hardware driver, using the
'interactive' governor for latency-sensitive workloads.
endchoice endchoice
config CPU_FREQ_GOV_PERFORMANCE config CPU_FREQ_GOV_PERFORMANCE
@ -292,6 +301,21 @@ config CPUFREQ_DT
If in doubt, say N. If in doubt, say N.
config CPU_FREQ_GOV_BLU_ACTIVE
tristate "'blu_active' cpufreq policy governor"
help
'blu_active' - This driver adds a dynamic cpufreq policy governor
designed for latency-sensitive workloads.
This governor attempts to reduce the latency of clock
increases so that the system is more responsive to
interactive workloads.
To compile this driver as a module, choose M here: the
module will be called cpufreq_blu_active.
If in doubt, say N.
if X86 if X86
source "drivers/cpufreq/Kconfig.x86" source "drivers/cpufreq/Kconfig.x86"
endif endif

View File

@ -14,6 +14,7 @@ obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE) += cpufreq_userspace.o
obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o
obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o
obj-$(CONFIG_CPU_FREQ_GOV_INTERACTIVE) += cpufreq_interactive.o obj-$(CONFIG_CPU_FREQ_GOV_INTERACTIVE) += cpufreq_interactive.o
obj-$(CONFIG_CPU_FREQ_GOV_BLU_ACTIVE)+= cpufreq_blu_active.o
obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o
obj-$(CONFIG_CPU_FREQ_GOV_ATTR_SET) += cpufreq_governor_attr_set.o obj-$(CONFIG_CPU_FREQ_GOV_ATTR_SET) += cpufreq_governor_attr_set.o

File diff suppressed because it is too large Load Diff

View File

@ -560,6 +560,9 @@ extern struct cpufreq_governor cpufreq_gov_interactive;
#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL) #elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL)
extern struct cpufreq_governor schedutil_gov; extern struct cpufreq_governor schedutil_gov;
#define CPUFREQ_DEFAULT_GOVERNOR (&schedutil_gov) #define CPUFREQ_DEFAULT_GOVERNOR (&schedutil_gov)
#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_BLU_ACTIVE)
extern struct cpufreq_governor cpufreq_gov_blu_active;
#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_blu_active)
#endif #endif
/********************************************************************* /*********************************************************************