Genralize mt76_get_txpower routine for 4x4:4 capable devices
in order to be reused in mt7615 driver

Signed-off-by: Lorenzo Bianconi <[email protected]>
---
 drivers/net/wireless/mediatek/mt76/mac80211.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c 
b/drivers/net/wireless/mediatek/mt76/mac80211.c
index e70507a4b14d..f9e83971902e 100644
--- a/drivers/net/wireless/mediatek/mt76/mac80211.c
+++ b/drivers/net/wireless/mediatek/mt76/mac80211.c
@@ -766,10 +766,21 @@ int mt76_get_txpower(struct ieee80211_hw *hw, struct 
ieee80211_vif *vif,
        *dbm = DIV_ROUND_UP(dev->txpower_cur, 2);
 
        /* convert from per-chain power to combined
-        * output on 2x2 devices
+        * output power
         */
-       if (n_chains > 1)
+       switch (n_chains) {
+       case 4:
+               *dbm += 6;
+               break;
+       case 3:
+               *dbm += 4;
+               break;
+       case 2:
                *dbm += 3;
+               break;
+       default:
+               break;
+       }
 
        return 0;
 }
-- 
2.21.0

Reply via email to