Re: [PATCH v5 4/5] thermal: devfreq_cooling: Refactor code and switch to use Energy Model

From: Lukasz Luba
Date: Mon Apr 06 2020 - 09:35:20 EST




On 4/3/20 6:44 PM, Daniel Lezcano wrote:
On 18/03/2020 12:45, Lukasz Luba wrote:
The overhauled Energy Model (EM) framework support also devfreq devices.
The unified API interface of the EM can be used in the thermal subsystem to
not duplicate code. The power table now is taken from EM structure and
there is no need to maintain calculation for it locally. In case when the
EM is not provided by the device a simple interface for cooling device is
used.

There is also an improvement in code related to enabling/disabling OPPs,
which prevents from race condition with devfreq governors.

[lkp: Reported the build warning]
Reported-by: kbuild test robot <lkp@xxxxxxxxx>
Reviewed-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> # for tracing code
Signed-off-by: Lukasz Luba <lukasz.luba@xxxxxxx>

The changes are too big, please split this patch into smaller chunks.

OK, I will split it and re-base on top of thermal testing.


---
drivers/thermal/devfreq_cooling.c | 474 ++++++++++++++++--------------
include/linux/devfreq_cooling.h | 39 +--
include/trace/events/thermal.h | 19 +-
3 files changed, 277 insertions(+), 255 deletions(-)

diff --git a/drivers/thermal/devfreq_cooling.c b/drivers/thermal/devfreq_cooling.c

[ ... ]

struct devfreq_cooling_device {
int id;
struct thermal_cooling_device *cdev;
struct devfreq *devfreq;
unsigned long cooling_state;
- u32 *power_table;
u32 *freq_table;
- size_t freq_table_size;
+ size_t max_level;

Could you rename it to 'max_state' ?

Yes.

Thank you for your comments.

Regards,
Lukasz