]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mt76: move mt76x02_insert_hdr_pad in mt76-core module
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 14 Mar 2019 13:54:09 +0000 (14:54 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 1 May 2019 11:03:55 +0000 (13:03 +0200)
Move mt76x02_insert_hdr_pad in m76-core and rename it in
mt76_insert_hdr_pad in order to be used in mt76_dma_tx_queue_skb.
This is a preliminary patch in order to properly support tx dma
mapping for new chipsets (e.g. mt7615)

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76.h
drivers/net/wireless/mediatek/mt76/mt76x02.h
drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c
drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c
drivers/net/wireless/mediatek/mt76/mt76x02_util.c

index a687640098dcb8b074d8104bb45c583003d36139..7a6992e58e1b3ebc7b8cbc7534a741c6d021fa9a 100644 (file)
@@ -656,6 +656,20 @@ int mt76_dma_tx_queue_skb(struct mt76_dev *dev, enum mt76_txq_id qid,
                          struct sk_buff *skb, struct mt76_wcid *wcid,
                          struct ieee80211_sta *sta);
 
+static inline void mt76_insert_hdr_pad(struct sk_buff *skb)
+{
+       int len = ieee80211_get_hdrlen_from_skb(skb);
+
+       if (len % 4 == 0)
+               return;
+
+       skb_push(skb, 2);
+       memmove(skb->data, skb->data + 2, len);
+
+       skb->data[len] = 0;
+       skb->data[len + 1] = 0;
+}
+
 void mt76_rx(struct mt76_dev *dev, enum mt76_rxq_id q, struct sk_buff *skb);
 void mt76_tx(struct mt76_dev *dev, struct ieee80211_sta *sta,
             struct mt76_wcid *wcid, struct sk_buff *skb);
index 9b66dceca1488140c6fa3de61c92813eb99d7d88..19608a67d3f2c03349459fc29db8ac1915a30335 100644 (file)
@@ -163,7 +163,6 @@ void mt76x02_set_tx_ackto(struct mt76x02_dev *dev);
 void mt76x02_set_coverage_class(struct ieee80211_hw *hw,
                                s16 coverage_class);
 int mt76x02_set_rts_threshold(struct ieee80211_hw *hw, u32 val);
-int mt76x02_insert_hdr_pad(struct sk_buff *skb);
 void mt76x02_remove_hdr_pad(struct sk_buff *skb, int len);
 bool mt76x02_tx_status_data(struct mt76_dev *mdev, u8 *update);
 void mt76x02_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
index ce9ace11339d2304c39c513d2cb5938d1e814721..0a3a3605c1516602eff5ddab2af0298f26e285cc 100644 (file)
@@ -155,7 +155,6 @@ int mt76x02_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
        struct mt76x02_txwi *txwi = txwi_ptr;
        int qsel = MT_QSEL_EDCA;
        int pid;
-       int ret;
 
        if (qid == MT_TXQ_PSD && wcid && wcid->idx < 128)
                mt76x02_mac_wcid_set_drop(dev, wcid->idx, false);
@@ -165,9 +164,7 @@ int mt76x02_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
        pid = mt76_tx_status_skb_add(mdev, wcid, skb);
        txwi->pktid = pid;
 
-       ret = mt76x02_insert_hdr_pad(skb);
-       if (ret < 0)
-               return ret;
+       mt76_insert_hdr_pad(skb);
 
        if (pid >= MT_PACKET_ID_FIRST)
                qsel = MT_QSEL_MGMT;
index 8ab63255ba6f97962813916cade49b27c81c175e..6c3fc4cea283f8e8377b4533f2efa8b8993a01c7 100644 (file)
@@ -82,7 +82,7 @@ int mt76x02u_tx_prepare_skb(struct mt76_dev *mdev, void *data,
        enum mt76_qsel qsel;
        u32 flags;
 
-       mt76x02_insert_hdr_pad(skb);
+       mt76_insert_hdr_pad(skb);
 
        txwi = (struct mt76x02_txwi *)(skb->data - sizeof(struct mt76x02_txwi));
        mt76x02_mac_write_txwi(dev, txwi, skb, wcid, sta, len);
index b14a557378292edbab7509daa8ad1834f0fad862..81d65319d3eaf24b442cba723e5a02ea16e732fc 100644 (file)
@@ -566,22 +566,6 @@ void mt76x02_sta_rate_tbl_update(struct ieee80211_hw *hw,
 }
 EXPORT_SYMBOL_GPL(mt76x02_sta_rate_tbl_update);
 
-int mt76x02_insert_hdr_pad(struct sk_buff *skb)
-{
-       int len = ieee80211_get_hdrlen_from_skb(skb);
-
-       if (len % 4 == 0)
-               return 0;
-
-       skb_push(skb, 2);
-       memmove(skb->data, skb->data + 2, len);
-
-       skb->data[len] = 0;
-       skb->data[len + 1] = 0;
-       return 2;
-}
-EXPORT_SYMBOL_GPL(mt76x02_insert_hdr_pad);
-
 void mt76x02_remove_hdr_pad(struct sk_buff *skb, int len)
 {
        int hdrlen;