Commit 3d827317 authored by Lukasz Luba's avatar Lukasz Luba Committed by Rafael J. Wysocki
Browse files

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: default avatarLukasz Luba <lukasz.luba@arm.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 2c06456f
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -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,9 +365,10 @@ 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);
	}