OSDN Git Service

ANDROID: implement max frequency capping
authorDietmar Eggemann <dietmar.eggemann@arm.com>
Thu, 10 May 2018 15:52:33 +0000 (16:52 +0100)
committerAmit Pundir <amit.pundir@linaro.org>
Tue, 14 Aug 2018 12:17:11 +0000 (17:47 +0530)
commite90e9980215ec91bda6d1b67648ce26d32c0a2a7
treeef57e3447a033cdb5481118246455c8be15d870a
parentc160581cc1bdf88984cc7e0af83081385220a1bc
ANDROID: implement max frequency capping

Implements the Max Frequency Capping Engine (MFCE) getter function
topology_get_max_freq_scale() to provide the scheduler with a
maximum frequency scaling correction factor for more accurate cpu
capacity handling by being able to deal with max frequency capping.

This scaling factor describes the influence of running a cpu with a
current maximum frequency (policy) lower than the maximum possible
frequency (cpuinfo).

The factor is:

  policy_max_freq(cpu) << SCHED_CAPACITY_SHIFT / cpuinfo_max_freq(cpu)

It also implements the MFCE setter function arch_set_max_freq_scale()
which is called from cpufreq_set_policy().

Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
[Trivial cherry-pick issue in cpufreq.c]
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
Change-Id: I59e52861ee260755ab0518fe1f7183a2e4e3d0fc
drivers/base/arch_topology.c
drivers/cpufreq/cpufreq.c
include/linux/arch_topology.h
include/linux/cpufreq.h