linux/drivers/thermal
Javi Merino ea54cac906 thermal: power_allocator: round the division when divvying up power
In situations where there is an uneven number of cooling devices, the
division of power among them can lead to a milliwatt being dropped on
the floor due to rounding errors.  This doesn't sound like a lot, but
some devices only grant the lowest cooling device state for their
maximum power.  So for instance, if the granted_power is the maximum
power and all devices are getting their maximum power, one would get
max_power - 1, making it choose cooling device state 1, instead of 0.

Round the division to make the calculation more accurate.

Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
2015-05-11 18:57:44 -07:00
..
int340x_thermal Thermal/int340x: Fix memleak for aux trip 2015-03-05 01:41:51 -04:00
samsung thermal: exynos: Add the support for Exynos5433 TMU 2015-05-04 21:27:55 -07:00
st drivers: thermal: st: remove several sparse warnings 2015-04-07 13:43:28 -07:00
ti-soc-thermal ti-soc-thermal: request temperature periodically if hw can't do that itself 2015-05-04 21:27:54 -07:00
armada_thermal.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2014-12-17 10:16:27 -08:00
clock_cooling.c thermal: introduce clock cooling device 2014-11-20 10:43:16 -04:00
cpu_cooling.c thermal: cpu_cooling: Fix power calculation when CPUs are offline 2015-05-04 21:27:54 -07:00
db8500_cpufreq_cooling.c Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into thermal-soc 2014-12-21 22:49:12 +08:00
db8500_thermal.c thermal: of: fix cooling device weights in device tree 2015-05-04 21:27:50 -07:00
dove_thermal.c thermal: drop owner assignment from platform_drivers 2014-10-20 16:21:42 +02:00
fair_share.c thermal: fair_share: generalize the weight concept 2015-05-04 21:27:51 -07:00
gov_bang_bang.c thermal: Added Bang-bang thermal governor 2014-08-27 15:45:58 +08:00
imx_thermal.c thermal: of: fix cooling device weights in device tree 2015-05-04 21:27:50 -07:00
intel_powerclamp.c thermal/intel_powerclamp: add id for Avoton SoC 2015-02-28 13:55:40 +08:00
intel_soc_dts_thermal.c thermal: Intel SoC DTS: Add Braswell support 2015-01-29 11:28:01 +08:00
Kconfig thermal: remove stale THERMAL_POWER_ACTOR select 2015-05-04 21:27:53 -07:00
kirkwood_thermal.c thermal: drop owner assignment from platform_drivers 2014-10-20 16:21:42 +02:00
Makefile thermal: introduce the Power Allocator governor 2015-05-04 21:27:52 -07:00
of-thermal.c thermal: Default OF created trip points to writable 2015-05-04 21:27:53 -07:00
power_allocator.c thermal: power_allocator: round the division when divvying up power 2015-05-11 18:57:44 -07:00
qcom-spmi-temp-alarm.c thermal: Add QPNP PMIC temperature alarm driver 2015-05-04 21:27:51 -07:00
rcar_thermal.c thermal: rcar: Make error and remove paths symmetrical with init 2015-02-24 14:58:05 -04:00
rockchip_thermal.c thermal: rockchip: make temperature reporting much more accurate 2015-01-24 23:38:36 -04:00
spear_thermal.c thermal: drop owner assignment from platform_drivers 2014-10-20 16:21:42 +02:00
step_wise.c thermal: step_wise: spelling fixes 2015-02-06 16:35:00 +08:00
tegra_soctherm.c thermal: of: improve of-thermal sensor registration API 2014-11-20 10:44:54 -04:00
thermal_core.c thermal: export thermal_zone_parameters to sysfs 2015-05-04 21:27:54 -07:00
thermal_core.h thermal: introduce the Power Allocator governor 2015-05-04 21:27:52 -07:00
thermal_hwmon.c thermal: hwmon: Make the check for critical temp valid consistent 2014-06-30 10:17:27 +08:00
thermal_hwmon.h thermal: hwmon: move hwmon support to single file 2013-09-03 09:09:12 -04:00
user_space.c Thermal: build thermal governors into thermal_sys module 2013-04-14 23:28:43 +08:00
x86_pkg_temp_thermal.c thermal: x86_pkg_temp: drop const for thermal_zone_parameters 2015-05-04 21:27:53 -07:00