Commit b4446a00 authored by Razvan Grigore's avatar Razvan Grigore Committed by Felix Fietkau
Browse files

wifi: mt76: mt7915: cleanup mt7915_get_power_bound



Refactor for making use of mt76_get_power_bound instead of the specific
mt7915_get_power_bound, since we need this for other chipsets as well
when calculating txpower

Signed-off-by: default avatarRazvan Grigore <razvan.grigore@vampirebyte.ro>
Link: https://patch.msgid.link/20250211081247.5892-5-razvan.grigore@vampirebyte.ro


Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 764bf166
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -1085,13 +1085,13 @@ mt7915_rate_txpower_set(struct file *file, const char __user *user_buf,
		return -EINVAL;

	if (pwr160)
		pwr160 = mt7915_get_power_bound(phy, pwr160);
		pwr160 = mt76_get_power_bound(mphy, pwr160);
	if (pwr80)
		pwr80 = mt7915_get_power_bound(phy, pwr80);
		pwr80 = mt76_get_power_bound(mphy, pwr80);
	if (pwr40)
		pwr40 = mt7915_get_power_bound(phy, pwr40);
		pwr40 = mt76_get_power_bound(mphy, pwr40);
	if (pwr20)
		pwr20 = mt7915_get_power_bound(phy, pwr20);
		pwr20 = mt76_get_power_bound(mphy, pwr20);

	if (pwr160 < 0 || pwr80 < 0 || pwr40 < 0 || pwr20 < 0)
		return -EINVAL;
+2 −2
Original line number Diff line number Diff line
@@ -3323,7 +3323,7 @@ int mt7915_mcu_set_txpower_frame(struct mt7915_phy *phy,
	if (ret)
		return ret;

	txpower = mt7915_get_power_bound(phy, txpower);
	txpower = mt76_get_power_bound(mphy, txpower);
	if (txpower > mphy->txpower_cur || txpower < 0)
		return -EINVAL;

@@ -3373,7 +3373,7 @@ int mt7915_mcu_set_txpower_sku(struct mt7915_phy *phy)
	int i, idx;
	int tx_power;

	tx_power = mt7915_get_power_bound(phy, hw->conf.power_level);
	tx_power = mt76_get_power_bound(mphy, hw->conf.power_level);
	tx_power = mt76_get_rate_power_limits(mphy, mphy->chandef.chan,
					      &limits_array, tx_power);
	mphy->txpower_cur = tx_power;
+0 −12
Original line number Diff line number Diff line
@@ -515,16 +515,4 @@ enum {
					 sizeof(struct bss_info_bmc_rate) +\
					 sizeof(struct bss_info_ext_bss))

static inline s8
mt7915_get_power_bound(struct mt7915_phy *phy, s8 txpower)
{
	struct mt76_phy *mphy = phy->mt76;
	int n_chains = hweight16(mphy->chainmask);

	txpower = mt76_get_sar_power(mphy, mphy->chandef.chan, txpower * 2);
	txpower -= mt76_tx_power_nss_delta(n_chains);

	return txpower;
}

#endif