summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mediatek/mt76/mt76x0/main.c
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>2018-09-22 13:45:37 +0200
committerFelix Fietkau <nbd@nbd.name>2018-10-01 12:34:09 +0200
commit1f4db1fd5cd497e47416776a5395c50f98b52ef9 (patch)
tree7dcbdc21d455566b2cd4f7347ed1d48813757284 /drivers/net/wireless/mediatek/mt76/mt76x0/main.c
parent6987c5b5dee6a6bb82d26a1aca2a67dd4cb2e44f (diff)
mt76x0: phy: introduce mt76x0_phy_set_txpower routine
Add mt76x0_phy_set_txpower routine in order to configure base and per rate tx power gain. Moreover take into account txpower_conf in order to limit the tx power gain according to the bound provided by mac80211 Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt76x0/main.c')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76x0/main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/main.c b/drivers/net/wireless/mediatek/mt76/mt76x0/main.c
index c84e00abfac9..66e12802953c 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x0/main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x0/main.c
@@ -66,6 +66,13 @@ static int mt76x0_config(struct ieee80211_hw *hw, u32 changed)
ieee80211_wake_queues(hw);
}
+ if (changed & IEEE80211_CONF_CHANGE_POWER) {
+ dev->mt76.txpower_conf = hw->conf.power_level * 2;
+
+ if (test_bit(MT76_STATE_RUNNING, &dev->mt76.state))
+ mt76x0_phy_set_txpower(dev);
+ }
+
mutex_unlock(&dev->mt76.mutex);
return ret;