mt76: mt7915: use ieee80211_tx_queue_params to avoid open coded
authorRyder Lee <ryder.lee@mediatek.com>
Sun, 14 Jun 2020 18:23:36 +0000 (02:23 +0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 21 Jul 2020 17:01:15 +0000 (19:01 +0200)
This is easy to add MU EDCA parameters in the future. This patch
also fixes a wrong cw_min assignment.

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/main.c
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h

index e09899748c9b8349ba5af161858a4b3b27337837..0c1217d3acd8501a2bb970280e558d80fbdb385c 100644 (file)
@@ -355,11 +355,7 @@ mt7915_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue,
 
        /* no need to update right away, we'll get BSS_CHANGED_QOS */
        queue = mt7915_lmac_mapping(dev, queue);
-
-       mvif->wmm[queue].cw_min = params->cw_min;
-       mvif->wmm[queue].cw_max = params->cw_max;
-       mvif->wmm[queue].aifs = params->aifs;
-       mvif->wmm[queue].txop = params->txop;
+       mvif->queue_params[queue] = *params;
 
        return 0;
 }
index ca3e700425b62f0f2e8fec1309a9d0546819b44a..fa9f32fa9f2e8ad878f717e4fb90bdfa01053095 100644 (file)
@@ -2888,23 +2888,23 @@ int mt7915_mcu_set_tx(struct mt7915_dev *dev, struct ieee80211_vif *vif)
        int ac;
 
        for (ac = 0; ac < IEEE80211_NUM_ACS; ac++) {
+               struct ieee80211_tx_queue_params *q = &mvif->queue_params[ac];
                struct edca *e = &req.edca[ac];
 
                e->queue = ac + mvif->wmm_idx * MT7915_MAX_WMM_SETS;
-               e->aifs = mvif->wmm[ac].aifs;
-               e->txop = cpu_to_le16(mvif->wmm[ac].txop);
+               e->aifs = q->aifs;
+               e->txop = cpu_to_le16(q->txop);
 
-               if (mvif->wmm[ac].cw_min)
-                       e->cw_min = fls(mvif->wmm[ac].cw_max);
+               if (q->cw_min)
+                       e->cw_min = fls(q->cw_min);
                else
                        e->cw_min = 5;
 
-               if (mvif->wmm[ac].cw_max)
-                       e->cw_max = cpu_to_le16(fls(mvif->wmm[ac].cw_max));
+               if (q->cw_max)
+                       e->cw_max = cpu_to_le16(fls(q->cw_max));
                else
                        e->cw_max = cpu_to_le16(10);
        }
-
        return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_EDCA_UPDATE,
                                  &req, sizeof(req), true);
 }
index b3b00d099236bde095bc72bb0811ded9f44a1209..4a063c1e5ea2587f9f709ec24e7d4b5a23d45279 100644 (file)
@@ -99,15 +99,10 @@ struct mt7915_vif {
        u8 band_idx;
        u8 wmm_idx;
 
-       struct {
-               u16 cw_min;
-               u16 cw_max;
-               u16 txop;
-               u8 aifs;
-       } wmm[IEEE80211_NUM_ACS];
-
        struct mt7915_sta sta;
        struct mt7915_dev *dev;
+
+       struct ieee80211_tx_queue_params queue_params[IEEE80211_NUM_ACS];
 };
 
 struct mib_stats {