Commit 80c99340 authored by Ryder Lee's avatar Ryder Lee Committed by Felix Fietkau

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: default avatarRyder Lee <ryder.lee@mediatek.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent f68e6a1f
...@@ -355,11 +355,7 @@ mt7915_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue, ...@@ -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 */ /* no need to update right away, we'll get BSS_CHANGED_QOS */
queue = mt7915_lmac_mapping(dev, queue); queue = mt7915_lmac_mapping(dev, queue);
mvif->queue_params[queue] = *params;
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;
return 0; return 0;
} }
......
...@@ -2888,23 +2888,23 @@ int mt7915_mcu_set_tx(struct mt7915_dev *dev, struct ieee80211_vif *vif) ...@@ -2888,23 +2888,23 @@ int mt7915_mcu_set_tx(struct mt7915_dev *dev, struct ieee80211_vif *vif)
int ac; int ac;
for (ac = 0; ac < IEEE80211_NUM_ACS; 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]; struct edca *e = &req.edca[ac];
e->queue = ac + mvif->wmm_idx * MT7915_MAX_WMM_SETS; e->queue = ac + mvif->wmm_idx * MT7915_MAX_WMM_SETS;
e->aifs = mvif->wmm[ac].aifs; e->aifs = q->aifs;
e->txop = cpu_to_le16(mvif->wmm[ac].txop); e->txop = cpu_to_le16(q->txop);
if (mvif->wmm[ac].cw_min) if (q->cw_min)
e->cw_min = fls(mvif->wmm[ac].cw_max); e->cw_min = fls(q->cw_min);
else else
e->cw_min = 5; e->cw_min = 5;
if (mvif->wmm[ac].cw_max) if (q->cw_max)
e->cw_max = cpu_to_le16(fls(mvif->wmm[ac].cw_max)); e->cw_max = cpu_to_le16(fls(q->cw_max));
else else
e->cw_max = cpu_to_le16(10); e->cw_max = cpu_to_le16(10);
} }
return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_EDCA_UPDATE, return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_EDCA_UPDATE,
&req, sizeof(req), true); &req, sizeof(req), true);
} }
......
...@@ -99,15 +99,10 @@ struct mt7915_vif { ...@@ -99,15 +99,10 @@ struct mt7915_vif {
u8 band_idx; u8 band_idx;
u8 wmm_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_sta sta;
struct mt7915_dev *dev; struct mt7915_dev *dev;
struct ieee80211_tx_queue_params queue_params[IEEE80211_NUM_ACS];
}; };
struct mib_stats { struct mib_stats {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment