mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
mt76: move mt76x02_set_tx_ackto in mt76x02-lib module
Move mt76x02_set_tx_ackto and mt76x02_set_coverage_class routines in mt76x02-lib module in order to be reused by mt76x0 driver. This is a preliminary patch to unify drv_bss_info_changed mac80211 callback between mt76x0 and mt76x2 drivers Signed-off-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
c181d973ef
commit
3b86d9964b
@@ -438,6 +438,36 @@ int mt76x02_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x02_conf_tx);
|
||||
|
||||
void mt76x02_set_tx_ackto(struct mt76x02_dev *dev)
|
||||
{
|
||||
u8 ackto, sifs, slottime = dev->slottime;
|
||||
|
||||
/* As defined by IEEE 802.11-2007 17.3.8.6 */
|
||||
slottime += 3 * dev->coverage_class;
|
||||
mt76_rmw_field(dev, MT_BKOFF_SLOT_CFG,
|
||||
MT_BKOFF_SLOT_CFG_SLOTTIME, slottime);
|
||||
|
||||
sifs = mt76_get_field(dev, MT_XIFS_TIME_CFG,
|
||||
MT_XIFS_TIME_CFG_OFDM_SIFS);
|
||||
|
||||
ackto = slottime + sifs;
|
||||
mt76_rmw_field(dev, MT_TX_TIMEOUT_CFG,
|
||||
MT_TX_TIMEOUT_CFG_ACKTO, ackto);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x02_set_tx_ackto);
|
||||
|
||||
void mt76x02_set_coverage_class(struct ieee80211_hw *hw,
|
||||
s16 coverage_class)
|
||||
{
|
||||
struct mt76x02_dev *dev = hw->priv;
|
||||
|
||||
mutex_lock(&dev->mt76.mutex);
|
||||
dev->coverage_class = coverage_class;
|
||||
mt76x02_set_tx_ackto(dev);
|
||||
mutex_unlock(&dev->mt76.mutex);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x02_set_coverage_class);
|
||||
|
||||
void mt76x02_sta_rate_tbl_update(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta)
|
||||
|
||||
Reference in New Issue
Block a user