OSDN Git Service

mt76: move mt76x2u_set_txinfo in mt76x02-lib module
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Thu, 6 Sep 2018 09:18:22 +0000 (11:18 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 19 Sep 2018 10:29:32 +0000 (12:29 +0200)
Move mt76x2u_set_txinfo routine in mt76x02-lib module and rename it in
mt76x02_set_txinfo in order to be reused in mt76x0 driver

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x02_util.c
drivers/net/wireless/mediatek/mt76/mt76x02_util.h
drivers/net/wireless/mediatek/mt76/mt76x2u_core.c

index 64b7b0a..1b71681 100644 (file)
@@ -412,4 +412,25 @@ void mt76x02_tx_complete_skb(struct mt76_dev *mdev, struct mt76_queue *q,
 }
 EXPORT_SYMBOL_GPL(mt76x02_tx_complete_skb);
 
+int mt76x02_set_txinfo(struct sk_buff *skb, struct mt76_wcid *wcid, u8 ep)
+{
+       struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
+       enum mt76_qsel qsel;
+       u32 flags;
+
+       if ((info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE) ||
+           ep == MT_EP_OUT_HCCA)
+               qsel = MT_QSEL_MGMT;
+       else
+               qsel = MT_QSEL_EDCA;
+
+       flags = FIELD_PREP(MT_TXD_INFO_QSEL, qsel) |
+               MT_TXD_INFO_80211;
+       if (!wcid || wcid->hw_key_idx == 0xff || wcid->sw_iv)
+               flags |= MT_TXD_INFO_WIV;
+
+       return mt76u_skb_dma_info(skb, WLAN_PORT, flags);
+}
+EXPORT_SYMBOL_GPL(mt76x02_set_txinfo);
+
 MODULE_LICENSE("Dual BSD/GPL");
index a7c20e6..ad4112c 100644 (file)
@@ -49,4 +49,5 @@ void mt76x02_tx_complete(struct mt76_dev *dev, struct sk_buff *skb);
 void mt76x02_remove_dma_hdr(struct sk_buff *skb);
 void mt76x02_tx_complete_skb(struct mt76_dev *mdev, struct mt76_queue *q,
                            struct mt76_queue_entry *e, bool flush);
+int mt76x02_set_txinfo(struct sk_buff *skb, struct mt76_wcid *wcid, u8 ep);
 #endif
index f6372c5..f0b0eb4 100644 (file)
@@ -30,28 +30,6 @@ mt76x2u_check_skb_rooms(struct sk_buff *skb)
        return skb_cow(skb, need_head);
 }
 
-static int
-mt76x2u_set_txinfo(struct sk_buff *skb,
-                  struct mt76_wcid *wcid, u8 ep)
-{
-       struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
-       enum mt76x2_qsel qsel;
-       u32 flags;
-
-       if ((info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE) ||
-           ep == MT_EP_OUT_HCCA)
-               qsel = MT_QSEL_MGMT;
-       else
-               qsel = MT_QSEL_EDCA;
-
-       flags = FIELD_PREP(MT_TXD_INFO_QSEL, qsel) |
-               MT_TXD_INFO_80211;
-       if (!wcid || wcid->hw_key_idx == 0xff || wcid->sw_iv)
-               flags |= MT_TXD_INFO_WIV;
-
-       return mt76u_skb_dma_info(skb, WLAN_PORT, flags);
-}
-
 bool mt76x2u_tx_status_data(struct mt76_dev *mdev, u8 *update)
 {
        struct mt76x2_dev *dev = container_of(mdev, struct mt76x2_dev, mt76);
@@ -83,5 +61,5 @@ int mt76x2u_tx_prepare_skb(struct mt76_dev *mdev, void *data,
        txwi = skb_push(skb, sizeof(struct mt76x02_txwi));
        mt76x2_mac_write_txwi(dev, txwi, skb, wcid, sta, len);
 
-       return mt76x2u_set_txinfo(skb, wcid, q2ep(q->hw_idx));
+       return mt76x02_set_txinfo(skb, wcid, q2ep(q->hw_idx));
 }