summaryrefslogtreecommitdiff
path: root/include/linux/fsl
diff options
context:
space:
mode:
authorQuentin Perret <qperret@google.com>2019-10-30 15:14:51 +0000
committerDaniel Lezcano <daniel.lezcano@linaro.org>2019-11-07 07:02:40 +0100
commita4e893e802e6a807df2e2f3f660f7399bc7e104e (patch)
tree33f7d2fbd4f8e10a252448f82186e76985b26396 /include/linux/fsl
parent5a4e5b78956a570cd827f74e4b94d506d13b37b0 (diff)
downloadkernel-a4e893e802e6a807df2e2f3f660f7399bc7e104e.tar.gz
thermal: cpu_cooling: Migrate to using the EM framework
The newly introduced Energy Model framework manages power cost tables in a generic way. Moreover, it supports several types of models since the tables can come from DT or firmware (through SCMI) for example. On the other hand, the cpu_cooling subsystem manages its own power cost tables using only DT data. In order to avoid the duplication of data in the kernel, and in order to enable IPA with EMs coming from more than just DT, remove the private tables from cpu_cooling.c and migrate it to using the centralized EM framework. Doing so should have no visible functional impact for existing users of IPA since: - recent extenstions to the the PM_OPP infrastructure enable the registration of EMs in PM_EM using the DT property used by IPA; - the existing upstream cpufreq drivers marked with the 'CPUFREQ_IS_COOLING_DEV' flag all use the aforementioned PM_OPP infrastructure, which means they all support PM_EM. The only two exceptions are qoriq-cpufreq which doesn't in fact use an EM and scmi-cpufreq which doesn't use DT for power costs. For existing users of cpu_cooling, PM_EM tables will contain the exact same power values that IPA used to compute on its own until now. The only new dependency for them is to compile in CONFIG_ENERGY_MODEL. The case where the thermal subsystem is used without an Energy Model (cpufreq_cooling_ops) is handled by looking directly at CPUFreq's frequency table which is already a dependency for cpu_cooling.c anyway. Since the thermal framework expects the cooling states in a particular order, bail out whenever the CPUFreq table is unsorted, since that is fairly uncommon in general, and there are currently no users of cpu_cooling for this use-case. Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Quentin Perret <qperret@google.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20191030151451.7961-5-qperret@google.com
Diffstat (limited to 'include/linux/fsl')
0 files changed, 0 insertions, 0 deletions
>pinctrl/rockchip: separate struct rockchip_pin_bank to a head fileJianqun Xu 2021-08-17pinctrl/rockchip: always enable clock for gpio controllerJianqun Xu 2021-04-30Merge tag 'pinctrl-v5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds 2021-04-22pinctrl: rockchip: do coding style for mux route structJianqun Xu 2021-04-08pinctrl: rockchip: add support for rk3568Jianqun Xu 2021-03-15pinctrl: rockchip: make driver be tristate moduleJianqun Xu 2021-03-10pinctrl: rockchip: fix restore error in resumeWang Panzhenzhuan 2021-03-10pinctrl: rockchip: clear int status when driver probedJianqun Xu 2020-11-04pinctrl: rockchip: create irq mapping in gpio_to_irqJianqun Xu 2020-11-04pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irqJianqun Xu 2020-07-17pinctrl: rockchip: Replace HTTP links with HTTPS onesAlexander A. Klimov 2020-07-16pinctrl: pinctrl-rockchip: Fix a bunch of kerneldoc misdemeanoursLee Jones 2020-05-12pinctrl: rockchip: fix memleak in rockchip_dt_node_to_mapDafna Hirschfeld 2020-05-12pinctrl: rockchip: return ENOMEM instead of EINVAL if allocation failsDafna Hirschfeld 2020-02-21pinctrl: Use new GPIO_LINE_DIRECTIONMatti Vaittinen