mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
mt76: mt76x02u: move mt76x02u_mac_start in mt76x02-usb module
Unify mt76x02u_mac_start between mt76x2u and mt76x0u since the code is shared between both drivers Signed-off-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
c39488772d
commit
0b01aceeef
@@ -158,22 +158,6 @@ static void mt76x0_init_mac_registers(struct mt76x02_dev *dev)
|
||||
mt76_rmw(dev, MT_WMM_CTRL, 0x3ff, 0x201);
|
||||
}
|
||||
|
||||
int mt76x0_mac_start(struct mt76x02_dev *dev)
|
||||
{
|
||||
mt76x02_mac_reset_counters(dev);
|
||||
mt76_wr(dev, MT_MAC_SYS_CTRL, MT_MAC_SYS_CTRL_ENABLE_TX);
|
||||
|
||||
if (!mt76x02_wait_for_wpdma(&dev->mt76, 200000))
|
||||
return -ETIMEDOUT;
|
||||
|
||||
mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter);
|
||||
mt76_wr(dev, MT_MAC_SYS_CTRL,
|
||||
MT_MAC_SYS_CTRL_ENABLE_TX | MT_MAC_SYS_CTRL_ENABLE_RX);
|
||||
|
||||
return !mt76x02_wait_for_wpdma(&dev->mt76, 50) ? -ETIMEDOUT : 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x0_mac_start);
|
||||
|
||||
void mt76x0_mac_stop(struct mt76x02_dev *dev)
|
||||
{
|
||||
int i = 200, ok = 0;
|
||||
|
||||
@@ -54,7 +54,6 @@ int mt76x0_init_hardware(struct mt76x02_dev *dev);
|
||||
int mt76x0_register_device(struct mt76x02_dev *dev);
|
||||
void mt76x0_chip_onoff(struct mt76x02_dev *dev, bool enable, bool reset);
|
||||
|
||||
int mt76x0_mac_start(struct mt76x02_dev *dev);
|
||||
void mt76x0_mac_stop(struct mt76x02_dev *dev);
|
||||
|
||||
int mt76x0_config(struct ieee80211_hw *hw, u32 changed);
|
||||
|
||||
+1
-1
@@ -110,7 +110,7 @@ static int mt76x0u_start(struct ieee80211_hw *hw)
|
||||
struct mt76x02_dev *dev = hw->priv;
|
||||
int ret;
|
||||
|
||||
ret = mt76x0_mac_start(dev);
|
||||
ret = mt76x02u_mac_start(dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "mt76x02.h"
|
||||
|
||||
int mt76x02u_mac_start(struct mt76x02_dev *dev);
|
||||
void mt76x02u_init_mcu(struct mt76_dev *dev);
|
||||
void mt76x02u_mcu_fw_reset(struct mt76x02_dev *dev);
|
||||
int mt76x02u_mcu_fw_send_data(struct mt76x02_dev *dev, const void *data,
|
||||
|
||||
@@ -23,6 +23,27 @@ void mt76x02u_tx_complete_skb(struct mt76_dev *mdev, enum mt76_txq_id qid,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x02u_tx_complete_skb);
|
||||
|
||||
int mt76x02u_mac_start(struct mt76x02_dev *dev)
|
||||
{
|
||||
mt76x02_mac_reset_counters(dev);
|
||||
|
||||
mt76_wr(dev, MT_MAC_SYS_CTRL, MT_MAC_SYS_CTRL_ENABLE_TX);
|
||||
if (!mt76x02_wait_for_wpdma(&dev->mt76, 200000))
|
||||
return -ETIMEDOUT;
|
||||
|
||||
mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter);
|
||||
|
||||
mt76_wr(dev, MT_MAC_SYS_CTRL,
|
||||
MT_MAC_SYS_CTRL_ENABLE_TX |
|
||||
MT_MAC_SYS_CTRL_ENABLE_RX);
|
||||
|
||||
if (!mt76x02_wait_for_wpdma(&dev->mt76, 50))
|
||||
return -ETIMEDOUT;
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mt76x02u_mac_start);
|
||||
|
||||
int mt76x02u_skb_dma_info(struct sk_buff *skb, int port, u32 flags)
|
||||
{
|
||||
struct sk_buff *iter, *last = skb;
|
||||
|
||||
@@ -24,7 +24,6 @@ void mt76x2u_cleanup(struct mt76x02_dev *dev);
|
||||
void mt76x2u_stop_hw(struct mt76x02_dev *dev);
|
||||
|
||||
int mt76x2u_mac_reset(struct mt76x02_dev *dev);
|
||||
int mt76x2u_mac_start(struct mt76x02_dev *dev);
|
||||
int mt76x2u_mac_stop(struct mt76x02_dev *dev);
|
||||
|
||||
int mt76x2u_phy_set_channel(struct mt76x02_dev *dev,
|
||||
|
||||
@@ -92,23 +92,6 @@ int mt76x2u_mac_reset(struct mt76x02_dev *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mt76x2u_mac_start(struct mt76x02_dev *dev)
|
||||
{
|
||||
mt76x02_mac_reset_counters(dev);
|
||||
|
||||
mt76_wr(dev, MT_MAC_SYS_CTRL, MT_MAC_SYS_CTRL_ENABLE_TX);
|
||||
mt76x02_wait_for_wpdma(&dev->mt76, 1000);
|
||||
usleep_range(50, 100);
|
||||
|
||||
mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter);
|
||||
|
||||
mt76_wr(dev, MT_MAC_SYS_CTRL,
|
||||
MT_MAC_SYS_CTRL_ENABLE_TX |
|
||||
MT_MAC_SYS_CTRL_ENABLE_RX);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mt76x2u_mac_stop(struct mt76x02_dev *dev)
|
||||
{
|
||||
int i, count = 0, val;
|
||||
|
||||
+2
-1
@@ -4,13 +4,14 @@
|
||||
*/
|
||||
|
||||
#include "mt76x2u.h"
|
||||
#include "../mt76x02_usb.h"
|
||||
|
||||
static int mt76x2u_start(struct ieee80211_hw *hw)
|
||||
{
|
||||
struct mt76x02_dev *dev = hw->priv;
|
||||
int ret;
|
||||
|
||||
ret = mt76x2u_mac_start(dev);
|
||||
ret = mt76x02u_mac_start(dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user