mirror of
https://github.com/torvalds/linux.git
synced 2026-08-02 05:12:01 +02:00
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 <ryder.lee@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
f68e6a1f85
commit
80c9934004
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user