mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
thermal: gov_power_allocator: Refactor checks in divvy_up_power()
Simplify the code and remove one extra 'if' block. No intentional functional impact. Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
2c06456f65
commit
3d827317b1
@ -332,7 +332,8 @@ static void divvy_up_power(u32 *req_power, u32 *max_power, int num_actors,
|
||||
u32 total_req_power, u32 power_range,
|
||||
u32 *granted_power, u32 *extra_actor_power)
|
||||
{
|
||||
u32 extra_power, capped_extra_power;
|
||||
u32 capped_extra_power = 0;
|
||||
u32 extra_power = 0;
|
||||
int i;
|
||||
|
||||
/*
|
||||
@ -341,8 +342,6 @@ static void divvy_up_power(u32 *req_power, u32 *max_power, int num_actors,
|
||||
if (!total_req_power)
|
||||
total_req_power = 1;
|
||||
|
||||
capped_extra_power = 0;
|
||||
extra_power = 0;
|
||||
for (i = 0; i < num_actors; i++) {
|
||||
u64 req_range = (u64)req_power[i] * power_range;
|
||||
|
||||
@ -358,7 +357,7 @@ static void divvy_up_power(u32 *req_power, u32 *max_power, int num_actors,
|
||||
capped_extra_power += extra_actor_power[i];
|
||||
}
|
||||
|
||||
if (!extra_power)
|
||||
if (!extra_power || !capped_extra_power)
|
||||
return;
|
||||
|
||||
/*
|
||||
@ -366,12 +365,13 @@ static void divvy_up_power(u32 *req_power, u32 *max_power, int num_actors,
|
||||
* how far they are from the max
|
||||
*/
|
||||
extra_power = min(extra_power, capped_extra_power);
|
||||
if (capped_extra_power > 0)
|
||||
for (i = 0; i < num_actors; i++) {
|
||||
u64 extra_range = (u64)extra_actor_power[i] * extra_power;
|
||||
granted_power[i] += DIV_ROUND_CLOSEST_ULL(extra_range,
|
||||
capped_extra_power);
|
||||
}
|
||||
|
||||
for (i = 0; i < num_actors; i++) {
|
||||
u64 extra_range = (u64)extra_actor_power[i] * extra_power;
|
||||
|
||||
granted_power[i] += DIV_ROUND_CLOSEST_ULL(extra_range,
|
||||
capped_extra_power);
|
||||
}
|
||||
}
|
||||
|
||||
static int allocate_power(struct thermal_zone_device *tz, int control_temp)
|
||||
|
Loading…
Reference in New Issue
Block a user