aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyder Lee <[email protected]>2020-06-15 02:23:36 +0800
committerFelix Fietkau <[email protected]>2020-07-21 19:01:15 +0200
commit80c9934004046a99f29ec89140556a2733641783 (patch)
treead10ae75adaa082e579e258a11dfef2733c3f84d
parentf68e6a1f85c148f0b238bdaef22f31b01d5cf51e (diff)
mt76: mt7915: use ieee80211_tx_queue_params to avoid open coded
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 <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7915/main.c6
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7915/mcu.c14
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h9
3 files changed, 10 insertions, 19 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/main.c b/drivers/net/wireless/mediatek/mt76/mt7915/main.c
index e09899748c9b..0c1217d3acd8 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/main.c
@@ -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;
}
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
index ca3e700425b6..fa9f32fa9f2e 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
@@ -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);
}
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h b/drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
index b3b00d099236..4a063c1e5ea2 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
@@ -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 {