Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f942b9b authored by Gabor Juhos's avatar Gabor Juhos Committed by John W. Linville
Browse files

ath9k: simplify ath9k_hw_get_scaled_power function

parent ea6f792b
Loading
Loading
Loading
Loading
+8 −13
Original line number Diff line number Diff line
@@ -293,9 +293,7 @@ u16 ath9k_hw_get_max_edge_power(u16 freq, struct cal_ctl_edges *pRdEdgesPower,
u16 ath9k_hw_get_scaled_power(struct ath_hw *ah, u16 power_limit,
			      u8 antenna_reduction)
{
	u16 scaled_power;

	scaled_power = power_limit - antenna_reduction;
	u16 reduction = antenna_reduction;

	/*
	 * Reduce scaled Power by number of chains active
@@ -305,22 +303,19 @@ u16 ath9k_hw_get_scaled_power(struct ath_hw *ah, u16 power_limit,
	case 1:
		break;
	case 2:
		if (scaled_power > REDUCE_SCALED_POWER_BY_TWO_CHAIN)
			scaled_power -= REDUCE_SCALED_POWER_BY_TWO_CHAIN;
		else
			scaled_power = 0;
		reduction += REDUCE_SCALED_POWER_BY_TWO_CHAIN;
		break;
	case 3:
		if (scaled_power > REDUCE_SCALED_POWER_BY_THREE_CHAIN)
			scaled_power -= REDUCE_SCALED_POWER_BY_THREE_CHAIN;
		else
			scaled_power = 0;
		reduction += REDUCE_SCALED_POWER_BY_THREE_CHAIN;
		break;
	}

	scaled_power = max((u16)0, scaled_power);
	if (power_limit > reduction)
		power_limit -= reduction;
	else
		power_limit = 0;

	return scaled_power;
	return power_limit;
}

void ath9k_hw_update_regulatory_maxpower(struct ath_hw *ah)