All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/17] thermal: cpu_cooling: improve interaction with cpufreq core
@ 2017-03-16  5:26 Viresh Kumar
  2017-03-16  5:29 ` [PATCH 01/17] thermal: cpu_cooling: Avoid accessing potentially freed structures Viresh Kumar
                   ` (17 more replies)
  0 siblings, 18 replies; 24+ messages in thread
From: Viresh Kumar @ 2017-03-16  5:26 UTC (permalink / raw)
  To: Rafael Wysocki, Javi Merino, Zhang Rui, Eduardo Valentin
  Cc: linaro-kernel, linux-pm, linux-kernel, Vincent Guittot,
	Amit Daniel Kachhap, Viresh Kumar

Hi Guys,

The cpu_cooling driver is designed to use CPU frequency scaling to avoid
high thermal states for a platform. But it wasn't glued really well with
cpufreq core.

This series tries to improve interactions between cpufreq core and
cpu_cooling driver and does some fixes/cleanups to the cpu_cooling
driver.

I am a bit confused about which tree this series should go through, PM
or thermal.

This series has dependency on few other patches which are already merged
in the PM [1] tree and thermal [2] tree. As this is 4.12 material, all
of this should go through only one tree to avoid conflicts.

I assume that one of Rafael and Rui have to drop the existing patch(es)
from their trees and let the other one apply all of these. I would let
you guys decide on that. Sorry for the trouble.

I have tested it on ARM 32 (exynos) and 64 bit (hikey) boards and have
pushed them for 0-day build bot and kernel CI testing as well. We should
know if something is broken with these.

@Javi: It would be good if you can give them a test, specially because
of your work on the "power" specific bits in the driver.

Pushed here as well:

git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git thermal/cooling

--
viresh

[1] https://marc.info/?l=linux-kernel&m=148946890403271&w=2
[2] https://marc.info/?l=linux-kernel&m=148644060126593&w=2

Viresh Kumar (17):
  thermal: cpu_cooling: Avoid accessing potentially freed structures
  thermal: cpu_cooling: rearrange globals
  thermal: cpu_cooling: Replace cpufreq_device with cpufreq_dev
  thermal: cpu_cooling: replace cool_dev with cdev
  thermal: cpu_cooling: remove cpufreq_cooling_get_level()
  thermal: cpu_cooling: get rid of a variable in cpufreq_set_cur_state()
  thermal: cpu_cooling: use cpufreq_policy to register cooling device
  cpufreq: create cpufreq_table_count_valid_entries()
  thermal: cpu_cooling: store cpufreq policy
  thermal: cpu_cooling: OPPs are registered for all CPUs
  thermal: cpu_cooling: get rid of 'allowed_cpus'
  thermal: cpu_cooling: merge frequency and power tables
  thermal: cpu_cooling: create structure for idle time stats
  thermal: cpu_cooling: get_level() can't fail
  thermal: cpu_cooling: don't store cpu_dev in cpufreq_dev
  thermal: cpu_cooling: 'freq' can't be zero in cpufreq_state2power()
  thermal: cpu_cooling: Rearrange struct cpufreq_cooling_device

 drivers/cpufreq/arm_big_little.c                   |   2 +-
 drivers/cpufreq/cpufreq-dt.c                       |   2 +-
 drivers/cpufreq/cpufreq_stats.c                    |  13 +-
 drivers/cpufreq/dbx500-cpufreq.c                   |   2 +-
 drivers/cpufreq/mt8173-cpufreq.c                   |   4 +-
 drivers/cpufreq/qoriq-cpufreq.c                    |   3 +-
 drivers/thermal/cpu_cooling.c                      | 530 ++++++++-------------
 drivers/thermal/imx_thermal.c                      |  22 +-
 drivers/thermal/ti-soc-thermal/ti-thermal-common.c |  22 +-
 include/linux/cpu_cooling.h                        |  32 +-
 include/linux/cpufreq.h                            |  14 +
 11 files changed, 272 insertions(+), 374 deletions(-)

-- 
2.7.1.410.g6faf27b

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2017-04-12  6:25 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-16  5:26 [PATCH 00/17] thermal: cpu_cooling: improve interaction with cpufreq core Viresh Kumar
2017-03-16  5:29 ` [PATCH 01/17] thermal: cpu_cooling: Avoid accessing potentially freed structures Viresh Kumar
2017-03-16  5:29 ` [PATCH 02/17] thermal: cpu_cooling: rearrange globals Viresh Kumar
2017-03-16  5:29 ` [PATCH 03/17] thermal: cpu_cooling: Replace cpufreq_device with cpufreq_dev Viresh Kumar
2017-04-11 17:33   ` Eduardo Valentin
2017-04-12  6:16     ` Viresh Kumar
2017-03-16  5:29 ` [PATCH 04/17] thermal: cpu_cooling: replace cool_dev with cdev Viresh Kumar
2017-04-11 17:35   ` Eduardo Valentin
2017-03-16  5:29 ` [PATCH 05/17] thermal: cpu_cooling: remove cpufreq_cooling_get_level() Viresh Kumar
2017-04-11 17:43   ` Eduardo Valentin
2017-04-12  6:25     ` Viresh Kumar
2017-03-16  5:29 ` [PATCH 06/17] thermal: cpu_cooling: get rid of a variable in cpufreq_set_cur_state() Viresh Kumar
2017-03-16  5:29 ` [PATCH 07/17] thermal: cpu_cooling: use cpufreq_policy to register cooling device Viresh Kumar
2017-03-16  5:29 ` [PATCH 08/17] cpufreq: create cpufreq_table_count_valid_entries() Viresh Kumar
2017-03-16  5:29 ` [PATCH 09/17] thermal: cpu_cooling: store cpufreq policy Viresh Kumar
2017-03-16  5:29 ` [PATCH 10/17] thermal: cpu_cooling: OPPs are registered for all CPUs Viresh Kumar
2017-03-16  5:29 ` [PATCH 11/17] thermal: cpu_cooling: get rid of 'allowed_cpus' Viresh Kumar
2017-03-16  5:29 ` [PATCH 12/17] thermal: cpu_cooling: merge frequency and power tables Viresh Kumar
2017-03-16  5:29 ` [PATCH 13/17] thermal: cpu_cooling: create structure for idle time stats Viresh Kumar
2017-03-16  5:29 ` [PATCH 14/17] thermal: cpu_cooling: get_level() can't fail Viresh Kumar
2017-03-16  5:29 ` [PATCH 15/17] thermal: cpu_cooling: don't store cpu_dev in cpufreq_dev Viresh Kumar
2017-03-16  5:29 ` [PATCH 16/17] thermal: cpu_cooling: 'freq' can't be zero in cpufreq_state2power() Viresh Kumar
2017-03-16  5:29 ` [PATCH 17/17] thermal: cpu_cooling: Rearrange struct cpufreq_cooling_device Viresh Kumar
2017-04-11  6:02 ` [PATCH 00/17] thermal: cpu_cooling: improve interaction with cpufreq core Viresh Kumar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.