Skip to content

Commit

Permalink
thermal: gov_power_allocator: Set up trip points earlier
Browse files Browse the repository at this point in the history
Set up the trip points at the beginning of the binding function.

This simplifies the code a bit and allows for further cleanups.

Also add a check to fail the binding if the last passive trip point is
not found.

Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
[ rjw: Changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Lukasz Luba authored and Rafael J. Wysocki committed Nov 28, 2023
1 parent 4e6d468 commit e83747c
Showing 1 changed file with 17 additions and 10 deletions.
27 changes: 17 additions & 10 deletions drivers/thermal/gov_power_allocator.c
Original file line number Diff line number Diff line change
Expand Up @@ -617,14 +617,24 @@ static int power_allocator_bind(struct thermal_zone_device *tz)
int ret;
struct power_allocator_params *params;

ret = check_power_actors(tz);
if (ret)
return ret;

params = kzalloc(sizeof(*params), GFP_KERNEL);
if (!params)
return -ENOMEM;

get_governor_trips(tz, params);
if (!params->trip_max) {
dev_warn(&tz->device, "power_allocator: missing trip_max\n");
kfree(params);
return -EINVAL;
}

ret = check_power_actors(tz);
if (ret) {
dev_warn(&tz->device, "power_allocator: binding failed\n");
kfree(params);
return ret;
}

if (!tz->tzp) {
tz->tzp = kzalloc(sizeof(*tz->tzp), GFP_KERNEL);
if (!tz->tzp) {
Expand All @@ -638,12 +648,9 @@ static int power_allocator_bind(struct thermal_zone_device *tz)
if (!tz->tzp->sustainable_power)
dev_warn(&tz->device, "power_allocator: sustainable_power will be estimated\n");

get_governor_trips(tz, params);

if (params->trip_max)
estimate_pid_constants(tz, tz->tzp->sustainable_power,
params->trip_switch_on,
params->trip_max->temperature);
estimate_pid_constants(tz, tz->tzp->sustainable_power,
params->trip_switch_on,
params->trip_max->temperature);

reset_pid_controller(params);

Expand Down

0 comments on commit e83747c

Please sign in to comment.