mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-23 12:39:33 +07:00
mt76x2: convert between per-chain tx power and combined output
Using both chains adds max. 3 dBm. A similar worst-case calculation is being used in ath9k as well to ensure that the hardware stays within regulatory limits Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
984ea50324
commit
53aa29b274
@ -785,6 +785,9 @@ mt76x2_init_txpower(struct mt76x2_dev *dev,
|
||||
chan->max_power = mt76x2_get_max_rate_power(&t) +
|
||||
target_power;
|
||||
chan->max_power /= 2;
|
||||
|
||||
/* convert to combined output power on 2x2 devices */
|
||||
chan->max_power += 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -155,6 +155,9 @@ mt76x2_config(struct ieee80211_hw *hw, u32 changed)
|
||||
if (changed & IEEE80211_CONF_CHANGE_POWER) {
|
||||
dev->txpower_conf = hw->conf.power_level * 2;
|
||||
|
||||
/* convert to per-chain power for 2x2 devices */
|
||||
dev->txpower_conf -= 6;
|
||||
|
||||
if (test_bit(MT76_STATE_RUNNING, &dev->mt76.state)) {
|
||||
mt76x2_phy_set_txpower(dev);
|
||||
mt76x2_tx_set_txpwr_auto(dev, dev->txpower_conf);
|
||||
@ -437,6 +440,10 @@ mt76x2_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int *dbm)
|
||||
struct mt76x2_dev *dev = hw->priv;
|
||||
|
||||
*dbm = dev->txpower_cur / 2;
|
||||
|
||||
/* convert from per-chain power to combined output on 2x2 devices */
|
||||
*dbm += 3;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user