Commit 90052b84 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau

mt76: move mt76_get_next_pkt_id in mt76.h

In order to remove duplicated code, move mt76_get_next_pkt_id routine
in mt76.h
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 49c9a263
...@@ -1276,4 +1276,15 @@ mt76_token_put(struct mt76_dev *dev, int token) ...@@ -1276,4 +1276,15 @@ mt76_token_put(struct mt76_dev *dev, int token)
return txwi; return txwi;
} }
static inline int
mt76_get_next_pkt_id(struct mt76_wcid *wcid)
{
wcid->packet_id = (wcid->packet_id + 1) & MT_PACKET_ID_MASK;
if (wcid->packet_id == MT_PACKET_ID_NO_ACK ||
wcid->packet_id == MT_PACKET_ID_NO_SKB)
wcid->packet_id = MT_PACKET_ID_FIRST;
return wcid->packet_id;
}
#endif #endif
...@@ -13,16 +13,6 @@ ...@@ -13,16 +13,6 @@
#define HE_PREP(f, m, v) le16_encode_bits(le32_get_bits(v, MT_CRXV_HE_##m),\ #define HE_PREP(f, m, v) le16_encode_bits(le32_get_bits(v, MT_CRXV_HE_##m),\
IEEE80211_RADIOTAP_HE_##f) IEEE80211_RADIOTAP_HE_##f)
static u8
mt7921_next_pid(struct mt7921_dev *dev, struct mt76_wcid *wcid)
{
wcid->packet_id = (wcid->packet_id + 1) & MT_PACKET_ID_MASK;
if (wcid->packet_id == MT_PACKET_ID_NO_ACK ||
wcid->packet_id == MT_PACKET_ID_NO_SKB)
wcid->packet_id = MT_PACKET_ID_FIRST;
return wcid->packet_id;
}
static unsigned long static unsigned long
mt7921_next_txs_set(struct mt7921_dev *dev, struct mt76_wcid *wcid, mt7921_next_txs_set(struct mt7921_dev *dev, struct mt76_wcid *wcid,
u32 timeout) u32 timeout)
...@@ -756,7 +746,7 @@ void mt7921_mac_write_txwi(struct mt7921_dev *dev, __le32 *txwi, ...@@ -756,7 +746,7 @@ void mt7921_mac_write_txwi(struct mt7921_dev *dev, __le32 *txwi,
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct ieee80211_vif *vif = info->control.vif; struct ieee80211_vif *vif = info->control.vif;
struct mt76_phy *mphy = &dev->mphy; struct mt76_phy *mphy = &dev->mphy;
u8 pid, p_fmt, q_idx, omac_idx = 0, wmm_idx = 0; u8 p_fmt, q_idx, omac_idx = 0, wmm_idx = 0;
bool is_8023 = info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP; bool is_8023 = info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP;
u16 tx_count = 15; u16 tx_count = 15;
u32 val; u32 val;
...@@ -829,8 +819,9 @@ void mt7921_mac_write_txwi(struct mt7921_dev *dev, __le32 *txwi, ...@@ -829,8 +819,9 @@ void mt7921_mac_write_txwi(struct mt7921_dev *dev, __le32 *txwi,
if ((FIELD_GET(MT_TXD2_FRAME_TYPE, txwi[2]) & if ((FIELD_GET(MT_TXD2_FRAME_TYPE, txwi[2]) &
(IEEE80211_FTYPE_DATA >> 2)) && (IEEE80211_FTYPE_DATA >> 2)) &&
mt7921_next_txs_timeout(dev, wcid)) { mt7921_next_txs_timeout(dev, wcid)) {
u8 pid = mt76_get_next_pkt_id(wcid);
mt7921_next_txs_set(dev, wcid, 250); mt7921_next_txs_set(dev, wcid, 250);
pid = mt7921_next_pid(dev, wcid);
val = MT_TXD5_TX_STATUS_MCU | FIELD_PREP(MT_TXD5_PID, pid); val = MT_TXD5_TX_STATUS_MCU | FIELD_PREP(MT_TXD5_PID, pid);
txwi[5] |= cpu_to_le32(val); txwi[5] |= cpu_to_le32(val);
} }
......
...@@ -129,12 +129,7 @@ mt76_tx_status_skb_add(struct mt76_dev *dev, struct mt76_wcid *wcid, ...@@ -129,12 +129,7 @@ mt76_tx_status_skb_add(struct mt76_dev *dev, struct mt76_wcid *wcid,
spin_lock_bh(&dev->status_list.lock); spin_lock_bh(&dev->status_list.lock);
memset(cb, 0, sizeof(*cb)); memset(cb, 0, sizeof(*cb));
wcid->packet_id = (wcid->packet_id + 1) & MT_PACKET_ID_MASK; pid = mt76_get_next_pkt_id(wcid);
if (wcid->packet_id == MT_PACKET_ID_NO_ACK ||
wcid->packet_id == MT_PACKET_ID_NO_SKB)
wcid->packet_id = MT_PACKET_ID_FIRST;
pid = wcid->packet_id;
cb->wcid = wcid->idx; cb->wcid = wcid->idx;
cb->pktid = pid; cb->pktid = pid;
cb->jiffies = jiffies; cb->jiffies = jiffies;
......
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