]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mt76x2: move utility routines in mt76x2.h
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Tue, 31 Jul 2018 08:09:04 +0000 (10:09 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 2 Aug 2018 18:47:50 +0000 (21:47 +0300)
In order to reuse them supporting mt76x2u based devices, move
mt76x2_wait_for_mac, wait_for_wpdma and mt76x2_channel_silent in
mt76x2.h

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/mediatek/mt76/mt76x2.h
drivers/net/wireless/mediatek/mt76/mt76x2_init.c
drivers/net/wireless/mediatek/mt76/mt76x2_phy.c

index 40e57073923e4120254ca6b2056b58f09e365c83..e9d9e8228e89fd3242fef3d5db1b8c75f33adcb7 100644 (file)
@@ -159,6 +159,23 @@ struct mt76x2_sta {
        int inactive_count;
 };
 
+static inline bool mt76x2_wait_for_mac(struct mt76x2_dev *dev)
+{
+       int i;
+
+       for (i = 0; i < 500; i++) {
+               switch (mt76_rr(dev, MT_MAC_CSR0)) {
+               case 0:
+               case ~0:
+                       break;
+               default:
+                       return true;
+               }
+               usleep_range(5000, 10000);
+       }
+       return false;
+}
+
 static inline bool is_mt7612(struct mt76x2_dev *dev)
 {
        return mt76_chip(&dev->mt76) == 0x7612;
@@ -166,6 +183,14 @@ static inline bool is_mt7612(struct mt76x2_dev *dev)
 
 void mt76x2_set_irq_mask(struct mt76x2_dev *dev, u32 clear, u32 set);
 
+static inline bool mt76x2_channel_silent(struct mt76x2_dev *dev)
+{
+       struct ieee80211_channel *chan = dev->mt76.chandef.chan;
+
+       return ((chan->flags & IEEE80211_CHAN_RADAR) &&
+               chan->dfs_state != NL80211_DFS_AVAILABLE);
+}
+
 static inline void mt76x2_irq_enable(struct mt76x2_dev *dev, u32 mask)
 {
        mt76x2_set_irq_mask(dev, 0, mask);
@@ -176,6 +201,21 @@ static inline void mt76x2_irq_disable(struct mt76x2_dev *dev, u32 mask)
        mt76x2_set_irq_mask(dev, mask, 0);
 }
 
+static inline bool mt76x2_wait_for_bbp(struct mt76x2_dev *dev)
+{
+       return mt76_poll_msec(dev, MT_MAC_STATUS,
+                             MT_MAC_STATUS_TX | MT_MAC_STATUS_RX,
+                             0, 100);
+}
+
+static inline bool wait_for_wpdma(struct mt76x2_dev *dev)
+{
+       return mt76_poll(dev, MT_WPDMA_GLO_CFG,
+                        MT_WPDMA_GLO_CFG_TX_DMA_BUSY |
+                        MT_WPDMA_GLO_CFG_RX_DMA_BUSY,
+                        0, 1000);
+}
+
 extern const struct ieee80211_ops mt76x2_ops;
 
 struct mt76x2_dev *mt76x2_alloc_device(struct device *pdev);
index 8ab9788464e8d79a229162c2db3c177934ffa002..347cccfc74bb64c826e4cff3f46007ff77ab88d5 100644 (file)
@@ -24,34 +24,6 @@ struct mt76x2_reg_pair {
        u32 value;
 };
 
-static bool
-mt76x2_wait_for_mac(struct mt76x2_dev *dev)
-{
-       int i;
-
-       for (i = 0; i < 500; i++) {
-               switch (mt76_rr(dev, MT_MAC_CSR0)) {
-               case 0:
-               case ~0:
-                       break;
-               default:
-                       return true;
-               }
-               usleep_range(5000, 10000);
-       }
-
-       return false;
-}
-
-static bool
-wait_for_wpdma(struct mt76x2_dev *dev)
-{
-       return mt76_poll(dev, MT_WPDMA_GLO_CFG,
-                        MT_WPDMA_GLO_CFG_TX_DMA_BUSY |
-                        MT_WPDMA_GLO_CFG_RX_DMA_BUSY,
-                        0, 1000);
-}
-
 static void
 mt76x2_mac_pbf_init(struct mt76x2_dev *dev)
 {
index 20ffa6a40d3903db5a80e07e1132a22bb4ae08ec..9a7b50f0005d6ce1381196891b9497a51e65cb1e 100644 (file)
@@ -176,15 +176,6 @@ void mt76x2_phy_set_txpower(struct mt76x2_dev *dev)
                mt76x2_tx_power_mask(t.ht[6], t.vht[8], t.vht[8], 0));
 }
 
-static bool
-mt76x2_channel_silent(struct mt76x2_dev *dev)
-{
-       struct ieee80211_channel *chan = dev->mt76.chandef.chan;
-
-       return ((chan->flags & IEEE80211_CHAN_RADAR) &&
-               chan->dfs_state != NL80211_DFS_AVAILABLE);
-}
-
 static bool
 mt76x2_phy_tssi_init_cal(struct mt76x2_dev *dev)
 {