Skip to content

Commit 3d82731

Browse files
lukaszluba-armrafaeljw
authored andcommitted
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>
1 parent 2c06456 commit 3d82731

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

drivers/thermal/gov_power_allocator.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,8 @@ static void divvy_up_power(u32 *req_power, u32 *max_power, int num_actors,
332332
u32 total_req_power, u32 power_range,
333333
u32 *granted_power, u32 *extra_actor_power)
334334
{
335-
u32 extra_power, capped_extra_power;
335+
u32 capped_extra_power = 0;
336+
u32 extra_power = 0;
336337
int i;
337338

338339
/*
@@ -341,8 +342,6 @@ static void divvy_up_power(u32 *req_power, u32 *max_power, int num_actors,
341342
if (!total_req_power)
342343
total_req_power = 1;
343344

344-
capped_extra_power = 0;
345-
extra_power = 0;
346345
for (i = 0; i < num_actors; i++) {
347346
u64 req_range = (u64)req_power[i] * power_range;
348347

@@ -358,20 +357,21 @@ static void divvy_up_power(u32 *req_power, u32 *max_power, int num_actors,
358357
capped_extra_power += extra_actor_power[i];
359358
}
360359

361-
if (!extra_power)
360+
if (!extra_power || !capped_extra_power)
362361
return;
363362

364363
/*
365364
* Re-divvy the reclaimed extra among actors based on
366365
* how far they are from the max
367366
*/
368367
extra_power = min(extra_power, capped_extra_power);
369-
if (capped_extra_power > 0)
370-
for (i = 0; i < num_actors; i++) {
371-
u64 extra_range = (u64)extra_actor_power[i] * extra_power;
372-
granted_power[i] += DIV_ROUND_CLOSEST_ULL(extra_range,
373-
capped_extra_power);
374-
}
368+
369+
for (i = 0; i < num_actors; i++) {
370+
u64 extra_range = (u64)extra_actor_power[i] * extra_power;
371+
372+
granted_power[i] += DIV_ROUND_CLOSEST_ULL(extra_range,
373+
capped_extra_power);
374+
}
375375
}
376376

377377
static int allocate_power(struct thermal_zone_device *tz, int control_temp)

0 commit comments

Comments
 (0)