mt76x2: move utility routines in mt76x2.h
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>
This commit is contained in:
parent
35ecee1f67
commit
2edb2ae5e6
@ -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);
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user